internlm/Lean-Github huggingface dataset:
Theorem: r5_strict_order
Proof state before:
case right.inr.inl
α β : 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 : β
fst_2 : α
snd_2 : β
h : ¬S fst fst_1 ∧ S fst_1 fst ∧ ¬fst = fst_1 ∨ S fst fst_1 ∧ ¬S fst_1 fst ∧ ¬fst = fst_1
h_1 : ¬T snd snd_1 ∧ ¬T snd_1 snd ∧ snd = snd_1
⊢ ¬(S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧ ¬(S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ fst = fst_1 ∧ snd = snd_1 ∨
    ¬(S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧
        (S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ (fst = fst_1 → ¬snd = snd_1) ∨
      (S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧
        ¬(S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ (fst = fst_1 → ¬snd = snd_1)
Tactic:
aesop_cases h
Proof state after:
case right.inr.inl.inl
α β : 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 : β
fst_2 : α
snd_2 : β
h_1 : ¬T snd snd_1 ∧ ¬T snd_1 snd ∧ snd = snd_1
h : ¬S fst fst_1 ∧ S fst_1 fst ∧ ¬fst = fst_1
⊢ ¬(S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧ ¬(S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ fst = fst_1 ∧ snd = snd_1 ∨
    ¬(S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧
        (S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ (fst = fst_1 → ¬snd = snd_1) ∨
      (S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧
        ¬(S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ (fst = fst_1 → ¬snd = snd_1)

case right.inr.inl.inr
α β : 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 : β
fst_2 : α
snd_2 : β
h_1 : ¬T snd snd_1 ∧ ¬T snd_1 snd ∧ snd = snd_1
h : S fst fst_1 ∧ ¬S fst_1 fst ∧ ¬fst = fst_1
⊢ ¬(S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧ ¬(S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ fst = fst_1 ∧ snd = snd_1 ∨
    ¬(S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧
        (S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ (fst = fst_1 → ¬snd = snd_1) ∨
      (S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧
        ¬(S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ (fst = fst_1 → ¬snd = snd_1)
Theorem: r5_strict_order
Proof state before:
case right.inr.inr.inl
α β : 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 : β
fst_2 : α
snd_2 : β
h_1 : ¬T snd snd_1 ∧ T snd_1 snd ∧ ¬snd = snd_1 ∨ T snd snd_1 ∧ ¬T snd_1 snd ∧ ¬snd = snd_1
h : ¬S fst fst_1 ∧ S fst_1 fst ∧ ¬fst = fst_1
⊢ ¬(S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧ ¬(S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ fst = fst_1 ∧ snd = snd_1 ∨
    ¬(S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧
        (S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ (fst = fst_1 → ¬snd = snd_1) ∨
      (S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧
        ¬(S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ (fst = fst_1 → ¬snd = snd_1)
Tactic:
unhygienic aesop_cases h_1
Proof state after:
case right.inr.inr.inl.inl
α β : 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 : β
fst_2 : α
snd_2 : β
h : ¬S fst fst_1 ∧ S fst_1 fst ∧ ¬fst = fst_1
h_1 : ¬T snd snd_1 ∧ T snd_1 snd ∧ ¬snd = snd_1
⊢ ¬(S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧ ¬(S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ fst = fst_1 ∧ snd = snd_1 ∨
    ¬(S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧
        (S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ (fst = fst_1 → ¬snd = snd_1) ∨
      (S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧
        ¬(S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ (fst = fst_1 → ¬snd = snd_1)

case right.inr.inr.inl.inr
α β : 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 : β
fst_2 : α
snd_2 : β
h : ¬S fst fst_1 ∧ S fst_1 fst ∧ ¬fst = fst_1
h_1 : T snd snd_1 ∧ ¬T snd_1 snd ∧ ¬snd = snd_1
⊢ ¬(S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧ ¬(S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ fst = fst_1 ∧ snd = snd_1 ∨
    ¬(S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧
        (S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ (fst = fst_1 → ¬snd = snd_1) ∨
      (S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧
        ¬(S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ (fst = fst_1 → ¬snd = snd_1)
Theorem: r5_strict_order
Proof state before:
case right.inr.inr.inl
α β : 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 : β
fst_2 : α
snd_2 : β
h_1 : ¬T snd snd_1 ∧ T snd_1 snd ∧ ¬snd = snd_1 ∨ T snd snd_1 ∧ ¬T snd_1 snd ∧ ¬snd = snd_1
h : ¬S fst fst_1 ∧ S fst_1 fst ∧ ¬fst = fst_1
⊢ ¬(S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧ ¬(S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ fst = fst_1 ∧ snd = snd_1 ∨
    ¬(S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧
        (S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ (fst = fst_1 → ¬snd = snd_1) ∨
      (S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧
        ¬(S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ (fst = fst_1 → ¬snd = snd_1)
Tactic:
aesop_cases h_1
Proof state after:
case right.inr.inr.inl.inl
α β : 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 : β
fst_2 : α
snd_2 : β
h : ¬S fst fst_1 ∧ S fst_1 fst ∧ ¬fst = fst_1
h_1 : ¬T snd snd_1 ∧ T snd_1 snd ∧ ¬snd = snd_1
⊢ ¬(S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧ ¬(S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ fst = fst_1 ∧ snd = snd_1 ∨
    ¬(S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧
        (S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ (fst = fst_1 → ¬snd = snd_1) ∨
      (S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧
        ¬(S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ (fst = fst_1 → ¬snd = snd_1)

case right.inr.inr.inl.inr
α β : 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 : β
fst_2 : α
snd_2 : β
h : ¬S fst fst_1 ∧ S fst_1 fst ∧ ¬fst = fst_1
h_1 : T snd snd_1 ∧ ¬T snd_1 snd ∧ ¬snd = snd_1
⊢ ¬(S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧ ¬(S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ fst = fst_1 ∧ snd = snd_1 ∨
    ¬(S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧
        (S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ (fst = fst_1 → ¬snd = snd_1) ∨
      (S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧
        ¬(S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ (fst = fst_1 → ¬snd = snd_1)
Theorem: r5_strict_order
Proof state before:
case right.inr.inr.inr
α β : 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 : β
fst_2 : α
snd_2 : β
h_1 : ¬T snd snd_1 ∧ T snd_1 snd ∧ ¬snd = snd_1 ∨ T snd snd_1 ∧ ¬T snd_1 snd ∧ ¬snd = snd_1
h : S fst fst_1 ∧ ¬S fst_1 fst ∧ ¬fst = fst_1
⊢ ¬(S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧ ¬(S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ fst = fst_1 ∧ snd = snd_1 ∨
    ¬(S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧
        (S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ (fst = fst_1 → ¬snd = snd_1) ∨
      (S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧
        ¬(S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ (fst = fst_1 → ¬snd = snd_1)
Tactic:
unhygienic aesop_cases h_1
Proof state after:
case right.inr.inr.inr.inl
α β : 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 : β
fst_2 : α
snd_2 : β
h : S fst fst_1 ∧ ¬S fst_1 fst ∧ ¬fst = fst_1
h_1 : ¬T snd snd_1 ∧ T snd_1 snd ∧ ¬snd = snd_1
⊢ ¬(S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧ ¬(S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ fst = fst_1 ∧ snd = snd_1 ∨
    ¬(S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧
        (S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ (fst = fst_1 → ¬snd = snd_1) ∨
      (S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧
        ¬(S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ (fst = fst_1 → ¬snd = snd_1)

case right.inr.inr.inr.inr
α β : 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 : β
fst_2 : α
snd_2 : β
h : S fst fst_1 ∧ ¬S fst_1 fst ∧ ¬fst = fst_1
h_1 : T snd snd_1 ∧ ¬T snd_1 snd ∧ ¬snd = snd_1
⊢ ¬(S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧ ¬(S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ fst = fst_1 ∧ snd = snd_1 ∨
    ¬(S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧
        (S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ (fst = fst_1 → ¬snd = snd_1) ∨
      (S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧
        ¬(S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ (fst = fst_1 → ¬snd = snd_1)
Theorem: r5_strict_order
Proof state before:
case right.inr.inr.inr
α β : 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 : β
fst_2 : α
snd_2 : β
h_1 : ¬T snd snd_1 ∧ T snd_1 snd ∧ ¬snd = snd_1 ∨ T snd snd_1 ∧ ¬T snd_1 snd ∧ ¬snd = snd_1
h : S fst fst_1 ∧ ¬S fst_1 fst ∧ ¬fst = fst_1
⊢ ¬(S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧ ¬(S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ fst = fst_1 ∧ snd = snd_1 ∨
    ¬(S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧
        (S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ (fst = fst_1 → ¬snd = snd_1) ∨
      (S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧
        ¬(S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ (fst = fst_1 → ¬snd = snd_1)
Tactic:
aesop_cases h_1
Proof state after:
case right.inr.inr.inr.inl
α β : 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 : β
fst_2 : α
snd_2 : β
h : S fst fst_1 ∧ ¬S fst_1 fst ∧ ¬fst = fst_1
h_1 : ¬T snd snd_1 ∧ T snd_1 snd ∧ ¬snd = snd_1
⊢ ¬(S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧ ¬(S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ fst = fst_1 ∧ snd = snd_1 ∨
    ¬(S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧
        (S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ (fst = fst_1 → ¬snd = snd_1) ∨
      (S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧
        ¬(S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ (fst = fst_1 → ¬snd = snd_1)

case right.inr.inr.inr.inr
α β : 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 : β
fst_2 : α
snd_2 : β
h : S fst fst_1 ∧ ¬S fst_1 fst ∧ ¬fst = fst_1
h_1 : T snd snd_1 ∧ ¬T snd_1 snd ∧ ¬snd = snd_1
⊢ ¬(S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧ ¬(S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ fst = fst_1 ∧ snd = snd_1 ∨
    ¬(S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧
        (S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ (fst = fst_1 → ¬snd = snd_1) ∨
      (S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧
        ¬(S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ (fst = fst_1 → ¬snd = snd_1)
Theorem: r5_strict_order
Proof state before:
case right.inl.inl
α β : 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 : β
fst_2 : α
snd_2 : β
h : ¬S fst fst_1 ∧ ¬S fst_1 fst ∧ fst = fst_1
h_1 : ¬T snd snd_1 ∧ ¬T snd_1 snd ∧ snd = snd_1
⊢ ¬(S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧ ¬(S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ fst = fst_1 ∧ snd = snd_1 ∨
    ¬(S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧
        (S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ (fst = fst_1 → ¬snd = snd_1) ∨
      (S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧
        ¬(S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ (fst = fst_1 → ¬snd = snd_1)
Tactic:
simp_all only [true_and, and_self, and_true, not_true_eq_false, forall_true_left, and_false, or_self, or_false]
Proof state after:
case right.inl.inl
α β : 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 : β
fst_2 : α
snd_2 : β
h : ¬S fst fst_1 ∧ ¬S fst_1 fst ∧ fst = fst_1
h_1 : ¬T snd snd_1 ∧ ¬T snd_1 snd ∧ snd = snd_1
⊢ ¬(S fst_1 fst_1 ∨ T snd_1 snd_1)
Theorem: r5_strict_order
Proof state before:
case right.inl.inl
α β : 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 : β
fst_2 : α
snd_2 : β
h : ¬S fst fst_1 ∧ ¬S fst_1 fst ∧ fst = fst_1
h_1 : ¬T snd snd_1 ∧ ¬T snd_1 snd ∧ snd = snd_1
⊢ ¬(S fst_1 fst_1 ∨ T snd_1 snd_1)
Tactic:
unhygienic with_reducible aesop_destruct_products
Proof state after:
case right.inl.inl
α β : 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 : β
fst_2 : α
snd_2 : β
left : ¬S fst fst_1
left_1 : ¬T snd snd_1
left_2 : ¬S fst_1 fst
right_2 : fst = fst_1
left_3 : ¬T snd_1 snd
right : snd = snd_1
⊢ ¬(S fst_1 fst_1 ∨ T snd_1 snd_1)
Theorem: r5_strict_order
Proof state before:
case right.inl.inl
α β : 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 : β
fst_2 : α
snd_2 : β
left : ¬S fst fst_1
left_1 : ¬T snd snd_1
left_2 : ¬S fst_1 fst
right_2 : fst = fst_1
left_3 : ¬T snd_1 snd
right : snd = snd_1
⊢ ¬(S fst_1 fst_1 ∨ T snd_1 snd_1)
Tactic:
aesop_subst [right, right_2]
Proof state after:
case right.inl.inl
α β : Type
S : α → α → Prop
T : β → β → Prop
hS : CStrictOrder S
hT : CStrictOrder T
inst✝ : DecidableRel S
inst : DecidableRel T
inst_1 : DecidableEq α
inst_2 : DecidableEq β
fst_1 : α
snd_1 : β
fst_2 : α
snd_2 : β
left_1 left_3 : ¬T snd_1 snd_1
left left_2 : ¬S fst_1 fst_1
⊢ ¬(S fst_1 fst_1 ∨ T snd_1 snd_1)
Theorem: r5_strict_order
Proof state before:
case right.inl.inl
α β : Type
S : α → α → Prop
T : β → β → Prop
hS : CStrictOrder S
hT : CStrictOrder T
inst✝ : DecidableRel S
inst : DecidableRel T
inst_1 : DecidableEq α
inst_2 : DecidableEq β
fst_1 : α
snd_1 : β
fst_2 : α
snd_2 : β
left_1 left_3 : ¬T snd_1 snd_1
left left_2 : ¬S fst_1 fst_1
⊢ ¬(S fst_1 fst_1 ∨ T snd_1 snd_1)
Tactic:
simp_all only [not_false_eq_true, or_self]
Proof state after:
no goals
Theorem: r5_strict_order
Proof state before:
case right.inl.inl
α β : 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 : β
fst_2 : α
snd_2 : β
h : ¬S fst fst_1 ∧ ¬S fst_1 fst ∧ fst = fst_1
h_1 : ¬T snd snd_1 ∧ ¬T snd_1 snd ∧ snd = snd_1
⊢ ¬(S fst_1 fst_1 ∨ T snd_1 snd_1)
Tactic:
with_reducible aesop_destruct_products
Proof state after:
case right.inl.inl
α β : 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 : β
fst_2 : α
snd_2 : β
left : ¬S fst fst_1
left_1 : ¬T snd snd_1
left_2 : ¬S fst_1 fst
right_2 : fst = fst_1
left_3 : ¬T snd_1 snd
right : snd = snd_1
⊢ ¬(S fst_1 fst_1 ∨ T snd_1 snd_1)
Theorem: r5_strict_order
Proof state before:
case right.inl.inl
α β : 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 : β
fst_2 : α
snd_2 : β
h : ¬S fst fst_1 ∧ ¬S fst_1 fst ∧ fst = fst_1
h_1 : ¬T snd snd_1 ∧ ¬T snd_1 snd ∧ snd = snd_1
⊢ ¬(S fst_1 fst_1 ∨ T snd_1 snd_1)
Tactic:
aesop_destruct_products
Proof state after:
case right.inl.inl
α β : 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 : β
fst_2 : α
snd_2 : β
left : ¬S fst fst_1
left_1 : ¬T snd snd_1
left_2 : ¬S fst_1 fst
right_2 : fst = fst_1
left_3 : ¬T snd_1 snd
right : snd = snd_1
⊢ ¬(S fst_1 fst_1 ∨ T snd_1 snd_1)
Theorem: r5_strict_order
Proof state before:
case right.inl.inr.inl
α β : 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 : β
fst_2 : α
snd_2 : β
h : ¬S fst fst_1 ∧ ¬S fst_1 fst ∧ fst = fst_1
h_1 : ¬T snd snd_1 ∧ T snd_1 snd ∧ ¬snd = snd_1
⊢ ¬(S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧ ¬(S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ fst = fst_1 ∧ snd = snd_1 ∨
    ¬(S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧
        (S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ (fst = fst_1 → ¬snd = snd_1) ∨
      (S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧
        ¬(S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ (fst = fst_1 → ¬snd = snd_1)
Tactic:
simp_all only [and_false, or_false, and_self, or_true, not_true_eq_false, not_false_eq_true, forall_true_left,
  and_true, false_or]
Proof state after:
case right.inl.inr.inl
α β : 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 : β
fst_2 : α
snd_2 : β
h : ¬S fst fst_1 ∧ ¬S fst_1 fst ∧ fst = fst_1
h_1 : ¬T snd snd_1 ∧ T snd_1 snd ∧ ¬snd = snd_1
⊢ ¬S fst_1 fst_1
Theorem: r5_strict_order
Proof state before:
case right.inl.inr.inl
α β : 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 : β
fst_2 : α
snd_2 : β
h : ¬S fst fst_1 ∧ ¬S fst_1 fst ∧ fst = fst_1
h_1 : ¬T snd snd_1 ∧ T snd_1 snd ∧ ¬snd = snd_1
⊢ ¬S fst_1 fst_1
Tactic:
unhygienic with_reducible aesop_destruct_products
Proof state after:
case right.inl.inr.inl
α β : 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 : β
fst_2 : α
snd_2 : β
left : ¬S fst fst_1
left_1 : ¬T snd snd_1
left_2 : ¬S fst_1 fst
right_2 : fst = fst_1
left_3 : T snd_1 snd
right : ¬snd = snd_1
⊢ ¬S fst_1 fst_1
Theorem: r5_strict_order
Proof state before:
case right.inl.inr.inl
α β : 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 : β
fst_2 : α
snd_2 : β
left : ¬S fst fst_1
left_1 : ¬T snd snd_1
left_2 : ¬S fst_1 fst
right_2 : fst = fst_1
left_3 : T snd_1 snd
right : ¬snd = snd_1
⊢ ¬S fst_1 fst_1
Tactic:
aesop_subst right_2
Proof state after:
case right.inl.inr.inl
α β : Type
S : α → α → Prop
T : β → β → Prop
hS : CStrictOrder S
hT : CStrictOrder T
inst✝ : DecidableRel S
inst : DecidableRel T
inst_1 : DecidableEq α
inst_2 : DecidableEq β
snd : β
fst_1 : α
snd_1 : β
fst_2 : α
snd_2 : β
left_1 : ¬T snd snd_1
left_3 : T snd_1 snd
right : ¬snd = snd_1
left left_2 : ¬S fst_1 fst_1
⊢ ¬S fst_1 fst_1
Theorem: r5_strict_order
Proof state before:
case right.inl.inr.inl
α β : Type
S : α → α → Prop
T : β → β → Prop
hS : CStrictOrder S
hT : CStrictOrder T
inst✝ : DecidableRel S
inst : DecidableRel T
inst_1 : DecidableEq α
inst_2 : DecidableEq β
snd : β
fst_1 : α
snd_1 : β
fst_2 : α
snd_2 : β
left_1 : ¬T snd snd_1
left_3 : T snd_1 snd
right : ¬snd = snd_1
left left_2 : ¬S fst_1 fst_1
⊢ ¬S fst_1 fst_1
Tactic:
simp_all only [not_false_eq_true]
Proof state after:
no goals
Theorem: r5_strict_order
Proof state before:
case right.inl.inr.inl
α β : 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 : β
fst_2 : α
snd_2 : β
h : ¬S fst fst_1 ∧ ¬S fst_1 fst ∧ fst = fst_1
h_1 : ¬T snd snd_1 ∧ T snd_1 snd ∧ ¬snd = snd_1
⊢ ¬S fst_1 fst_1
Tactic:
with_reducible aesop_destruct_products
Proof state after:
case right.inl.inr.inl
α β : 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 : β
fst_2 : α
snd_2 : β
left : ¬S fst fst_1
left_1 : ¬T snd snd_1
left_2 : ¬S fst_1 fst
right_2 : fst = fst_1
left_3 : T snd_1 snd
right : ¬snd = snd_1
⊢ ¬S fst_1 fst_1
Theorem: r5_strict_order
Proof state before:
case right.inl.inr.inl
α β : 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 : β
fst_2 : α
snd_2 : β
h : ¬S fst fst_1 ∧ ¬S fst_1 fst ∧ fst = fst_1
h_1 : ¬T snd snd_1 ∧ T snd_1 snd ∧ ¬snd = snd_1
⊢ ¬S fst_1 fst_1
Tactic:
aesop_destruct_products
Proof state after:
case right.inl.inr.inl
α β : 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 : β
fst_2 : α
snd_2 : β
left : ¬S fst fst_1
left_1 : ¬T snd snd_1
left_2 : ¬S fst_1 fst
right_2 : fst = fst_1
left_3 : T snd_1 snd
right : ¬snd = snd_1
⊢ ¬S fst_1 fst_1
Theorem: r5_strict_order
Proof state before:
case right.inl.inr.inr
α β : 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 : β
fst_2 : α
snd_2 : β
h : ¬S fst fst_1 ∧ ¬S fst_1 fst ∧ fst = fst_1
h_1 : T snd snd_1 ∧ ¬T snd_1 snd ∧ ¬snd = snd_1
⊢ ¬(S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧ ¬(S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ fst = fst_1 ∧ snd = snd_1 ∨
    ¬(S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧
        (S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ (fst = fst_1 → ¬snd = snd_1) ∨
      (S fst fst_1 ∨ fst = fst_1 ∧ T snd snd_1) ∧
        ¬(S fst_1 fst ∨ fst_1 = fst ∧ T snd_1 snd) ∧ (fst = fst_1 → ¬snd = snd_1)
Tactic:
simp_all only [and_self, or_true, not_true_eq_false, and_false, or_false, not_false_eq_true, forall_true_left,
  and_true, false_and, true_and, false_or]
Proof state after:
case right.inl.inr.inr
α β : 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 : β
fst_2 : α
snd_2 : β
h : ¬S fst fst_1 ∧ ¬S fst_1 fst ∧ fst = fst_1
h_1 : T snd snd_1 ∧ ¬T snd_1 snd ∧ ¬snd = snd_1
⊢ ¬S fst_1 fst_1
Theorem: r5_strict_order
Proof state before:
case right.inl.inr.inr
α β : 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 : β
fst_2 : α
snd_2 : β
h : ¬S fst fst_1 ∧ ¬S fst_1 fst ∧ fst = fst_1
h_1 : T snd snd_1 ∧ ¬T snd_1 snd ∧ ¬snd = snd_1
⊢ ¬S fst_1 fst_1
Tactic:
unhygienic with_reducible aesop_destruct_products
Proof state after:
case right.inl.inr.inr
α β : 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 : β
fst_2 : α
snd_2 : β
left : ¬S fst fst_1
left_1 : T snd snd_1
left_2 : ¬S fst_1 fst
right_2 : fst = fst_1
left_3 : ¬T snd_1 snd
right : ¬snd = snd_1
⊢ ¬S fst_1 fst_1