Theorem: algebra.grlex_le_trans
Proof state before:
case inr.inr.inl.inl.inr.inl.inr.inl.inl
n : ℕ
a b c : Variables n order.GrLex
eq₁ : Order.grlex.elem_sum a = Order.grlex.elem_sum c
eq₂ : Order.grlex.elem_sum a = Order.grlex.elem_sum b
eq₃ : Order.grlex.elem_sum b = Order.grlex.elem_sum c
nleq₁ : Order.grlex.elem_sum c ≤ Order.grlex.elem_sum a
nleq₂ : Order.grlex.elem_sum b ≤ Order.grlex.elem_sum a
neq₁ : Order.grlex.elem_sum c ≤ Order.grlex.elem_sum b
h₁ : ¬Order.lex a c
h₂ : Order.lex a b
ab : True
h₃ : Order.lex b c
bc : True
contr : Order.lex a c
⊢ False

case inr.inr.inl.inl.inr.inl.inr.inl.inr
n : ℕ
a b c : Variables n order.GrLex
eq₁ : Order.grlex.elem_sum a = Order.grlex.elem_sum c
eq₂ : Order.grlex.elem_sum a = Order.grlex.elem_sum b
eq₃ : Order.grlex.elem_sum b = Order.grlex.elem_sum c
nleq₁ : Order.grlex.elem_sum c ≤ Order.grlex.elem_sum a
nleq₂ : Order.grlex.elem_sum b ≤ Order.grlex.elem_sum a
neq₁ : Order.grlex.elem_sum c ≤ Order.grlex.elem_sum b
h✝² : ¬Order.lex a c
h✝¹ : Order.lex a b
ab : True
h✝ : ¬Order.lex b c
bc : False
⊢ False

case inr.inr.inl.inl.inr.inl.inr.inr
n : ℕ
a b c : Variables n order.GrLex
eq₁ : Order.grlex.elem_sum a = Order.grlex.elem_sum c
eq₂ : Order.grlex.elem_sum a = Order.grlex.elem_sum b
eq₃ : Order.grlex.elem_sum b = Order.grlex.elem_sum c
bc : if Order.lex b c then True else False
nleq₁ : Order.grlex.elem_sum c ≤ Order.grlex.elem_sum a
nleq₂ : Order.grlex.elem_sum b ≤ Order.grlex.elem_sum a
neq₁ : Order.grlex.elem_sum c ≤ Order.grlex.elem_sum b
h✝¹ : ¬Order.lex a c
h✝ : ¬Order.lex a b
ab : False
⊢ False

case inr.inr.inl.inl.inr.inr
n : ℕ
a b c : Variables n order.GrLex
h✝⁵ : ¬Order.grlex.elem_sum a < Order.grlex.elem_sum c
h✝⁴ : ¬Order.grlex.elem_sum a < Order.grlex.elem_sum b
h✝³ : Order.grlex.elem_sum a = Order.grlex.elem_sum c
h✝² : Order.grlex.elem_sum a = Order.grlex.elem_sum b
ab : if Order.lex a b then True else False
h✝¹ : ¬Order.grlex.elem_sum b < Order.grlex.elem_sum c
h✝ : ¬Order.grlex.elem_sum b = Order.grlex.elem_sum c
bc : False
⊢ if Order.lex a c then True else False

case inr.inr.inl.inr
n : ℕ
a b c : Variables n order.GrLex
bc :
  if Order.grlex.elem_sum b < Order.grlex.elem_sum c then True
  else if Order.grlex.elem_sum b = Order.grlex.elem_sum c then if Order.lex b c then True else False else False
h✝³ : ¬Order.grlex.elem_sum a < Order.grlex.elem_sum c
h✝² : ¬Order.grlex.elem_sum a < Order.grlex.elem_sum b
h✝¹ : Order.grlex.elem_sum a = Order.grlex.elem_sum c
h✝ : ¬Order.grlex.elem_sum a = Order.grlex.elem_sum b
ab : False
⊢ if Order.lex a c then True else False

case inr.inr.inr.inl.inl
n : ℕ
a b c : Variables n order.GrLex
h✝⁴ : ¬Order.grlex.elem_sum a < Order.grlex.elem_sum c
h✝³ : ¬Order.grlex.elem_sum a < Order.grlex.elem_sum b
h✝² : ¬Order.grlex.elem_sum a = Order.grlex.elem_sum c
h✝¹ : Order.grlex.elem_sum a = Order.grlex.elem_sum b
ab : if Order.lex a b then True else False
h✝ : Order.grlex.elem_sum b < Order.grlex.elem_sum c
bc : True
⊢ False

case inr.inr.inr.inl.inr
n : ℕ
a b c : Variables n order.GrLex
h✝⁴ : ¬Order.grlex.elem_sum a < Order.grlex.elem_sum c
h✝³ : ¬Order.grlex.elem_sum a < Order.grlex.elem_sum b
h✝² : ¬Order.grlex.elem_sum a = Order.grlex.elem_sum c
h✝¹ : Order.grlex.elem_sum a = Order.grlex.elem_sum b
ab : if Order.lex a b then True else False
h✝ : ¬Order.grlex.elem_sum b < Order.grlex.elem_sum c
bc : if Order.grlex.elem_sum b = Order.grlex.elem_sum c then if Order.lex b c then True else False else False
⊢ False

case inr.inr.inr.inr
n : ℕ
a b c : Variables n order.GrLex
bc :
  if Order.grlex.elem_sum b < Order.grlex.elem_sum c then True
  else if Order.grlex.elem_sum b = Order.grlex.elem_sum c then if Order.lex b c then True else False else False
h✝³ : ¬Order.grlex.elem_sum a < Order.grlex.elem_sum c
h✝² : ¬Order.grlex.elem_sum a < Order.grlex.elem_sum b
h✝¹ : ¬Order.grlex.elem_sum a = Order.grlex.elem_sum c
h✝ : ¬Order.grlex.elem_sum a = Order.grlex.elem_sum b
ab : False
⊢ False
Tactic:
repeat contradiction
Proof state after:
case inr.inr.inr.inl.inl
n : ℕ
a b c : Variables n order.GrLex
h✝⁴ : ¬Order.grlex.elem_sum a < Order.grlex.elem_sum c
h✝³ : ¬Order.grlex.elem_sum a < Order.grlex.elem_sum b
h✝² : ¬Order.grlex.elem_sum a = Order.grlex.elem_sum c
h✝¹ : Order.grlex.elem_sum a = Order.grlex.elem_sum b
ab : if Order.lex a b then True else False
h✝ : Order.grlex.elem_sum b < Order.grlex.elem_sum c
bc : True
⊢ False

case inr.inr.inr.inl.inr
n : ℕ
a b c : Variables n order.GrLex
h✝⁴ : ¬Order.grlex.elem_sum a < Order.grlex.elem_sum c
h✝³ : ¬Order.grlex.elem_sum a < Order.grlex.elem_sum b
h✝² : ¬Order.grlex.elem_sum a = Order.grlex.elem_sum c
h✝¹ : Order.grlex.elem_sum a = Order.grlex.elem_sum b
ab : if Order.lex a b then True else False
h✝ : ¬Order.grlex.elem_sum b < Order.grlex.elem_sum c
bc : if Order.grlex.elem_sum b = Order.grlex.elem_sum c then if Order.lex b c then True else False else False
⊢ False

case inr.inr.inr.inr
n : ℕ
a b c : Variables n order.GrLex
bc :
  if Order.grlex.elem_sum b < Order.grlex.elem_sum c then True
  else if Order.grlex.elem_sum b = Order.grlex.elem_sum c then if Order.lex b c then True else False else False
h✝³ : ¬Order.grlex.elem_sum a < Order.grlex.elem_sum c
h✝² : ¬Order.grlex.elem_sum a < Order.grlex.elem_sum b
h✝¹ : ¬Order.grlex.elem_sum a = Order.grlex.elem_sum c
h✝ : ¬Order.grlex.elem_sum a = Order.grlex.elem_sum b
ab : False
⊢ False