with_reducible aesop_destruct_products
case right
α β : Type
S : α → α → Prop
T : β → β → Prop
hS : CStrictOrder S
hT : CStrictOrder T
inst✝ : DecidableRel S
inst : DecidableRel T
inst_1 : DecidableEq α
inst_2 : DecidableEq β
p q j : α × β
hStrich :
  ¬S p.1 q.1 ∧ ¬S q.1 p.1 ∧ p.1 = q.1 ∨ ¬S p.1 q.1 ∧ S q.1 p.1 ∧ ¬p.1 = q.1 ∨ S p.1 q.1 ∧ ¬S q.1 p.1 ∧ ¬p.1 = q.1
hTtrich :
  ¬T p.2 q.2 ∧ ¬T q.2 p.2 ∧ p.2 = q.2 ∨ ¬T p.2 q.2 ∧ T q.2 p.2 ∧ ¬p.2 = q.2 ∨ T p.2 q.2 ∧ ¬T q.2 p.2 ∧ ¬p.2 = q.2
⊢ ¬(S p.1 q.1 ∨ p.1 = q.1 ∧ T p.2 q.2) ∧ ¬(S q.1 p.1 ∨ q.1 = p.1 ∧ T q.2 p.2) ∧ p = q ∨
    ¬(S p.1 q.1 ∨ p.1 = q.1 ∧ T p.2 q.2) ∧ (S q.1 p.1 ∨ q.1 = p.1 ∧ T q.2 p.2) ∧ ¬p = q ∨
      (S p.1 q.1 ∨ p.1 = q.1 ∧ T p.2 q.2) ∧ ¬(S q.1 p.1 ∨ q.1 = p.1 ∧ T q.2 p.2) ∧ ¬p = q
case right
α β : Type
S : α → α → Prop
T : β → β → Prop
hS : CStrictOrder S
hT : CStrictOrder T
inst✝ : DecidableRel S
inst : DecidableRel T
inst_1 : DecidableEq α
inst_2 : DecidableEq β
fst : α
snd : β
fst_1 : α
snd_1 : β
hStrich :
  ¬S (fst, snd).1 (fst_1, snd_1).1 ∧ ¬S (fst_1, snd_1).1 (fst, snd).1 ∧ (fst, snd).1 = (fst_1, snd_1).1 ∨
    ¬S (fst, snd).1 (fst_1, snd_1).1 ∧ S (fst_1, snd_1).1 (fst, snd).1 ∧ ¬(fst, snd).1 = (fst_1, snd_1).1 ∨
      S (fst, snd).1 (fst_1, snd_1).1 ∧ ¬S (fst_1, snd_1).1 (fst, snd).1 ∧ ¬(fst, snd).1 = (fst_1, snd_1).1
hTtrich :
  ¬T (fst, snd).2 (fst_1, snd_1).2 ∧ ¬T (fst_1, snd_1).2 (fst, snd).2 ∧ (fst, snd).2 = (fst_1, snd_1).2 ∨
    ¬T (fst, snd).2 (fst_1, snd_1).2 ∧ T (fst_1, snd_1).2 (fst, snd).2 ∧ ¬(fst, snd).2 = (fst_1, snd_1).2 ∨
      T (fst, snd).2 (fst_1, snd_1).2 ∧ ¬T (fst_1, snd_1).2 (fst, snd).2 ∧ ¬(fst, snd).2 = (fst_1, snd_1).2
fst_2 : α
snd_2 : β
⊢ ¬(S (fst, snd).1 (fst_1, snd_1).1 ∨ (fst, snd).1 = (fst_1, snd_1).1 ∧ T (fst, snd).2 (fst_1, snd_1).2) ∧
      ¬(S (fst_1, snd_1).1 (fst, snd).1 ∨ (fst_1, snd_1).1 = (fst, snd).1 ∧ T (fst_1, snd_1).2 (fst, snd).2) ∧
        (fst, snd) = (fst_1, snd_1) ∨
    ¬(S (fst, snd).1 (fst_1, snd_1).1 ∨ (fst, snd).1 = (fst_1, snd_1).1 ∧ T (fst, snd).2 (fst_1, snd_1).2) ∧
        (S (fst_1, snd_1).1 (fst, snd).1 ∨ (fst_1, snd_1).1 = (fst, snd).1 ∧ T (fst_1, snd_1).2 (fst, snd).2) ∧
          ¬(fst, snd) = (fst_1, snd_1) ∨
      (S (fst, snd).1 (fst_1, snd_1).1 ∨ (fst, snd).1 = (fst_1, snd_1).1 ∧ T (fst, snd).2 (fst_1, snd_1).2) ∧
        ¬(S (fst_1, snd_1).1 (fst, snd).1 ∨ (fst_1, snd_1).1 = (fst, snd).1 ∧ T (fst_1, snd_1).2 (fst, snd).2) ∧
          ¬(fst, snd) = (fst_1, snd_1)