Theorem: Lean4Axiomatic.Natural.gt_split (Lean4Axiomatic/Natural/Order.lean)

State before:
ℕ : Type
inst✝³ : Core ℕ
inst✝² : Induction ℕ
inst✝¹ : Addition ℕ
inst✝ : Sign ℕ
order_inst : Order ℕ
n m : ℕ
⊢ step m > n → m ≃ n ∨ m > n
Tactic:
intro (_ : step m > n)
State after:
ℕ : Type
inst✝³ : Core ℕ
inst✝² : Induction ℕ
inst✝¹ : Addition ℕ
inst✝ : Sign ℕ
order_inst : Order ℕ
n m : ℕ
x✝ : step m > n
⊢ m ≃ n ∨ m > n

State before:
ℕ : Type
inst✝³ : Core ℕ
inst✝² : Induction ℕ
inst✝¹ : Addition ℕ
inst✝ : Sign ℕ
order_inst : Order ℕ
n m : ℕ
x✝ : step m > n
⊢ m ≃ n ∨ m > n
Tactic:
have : n < m ∨ n ≃ m := lt_split ‹n < step m›
State after:
ℕ : Type
inst✝³ : Core ℕ
inst✝² : Induction ℕ
inst✝¹ : Addition ℕ
inst✝ : Sign ℕ
order_inst : Order ℕ
n m : ℕ
x✝ : step m > n
this : n < m ∨ n ≃ m
⊢ m ≃ n ∨ m > n

State before:
ℕ : Type
inst✝³ : Core ℕ
inst✝² : Induction ℕ
inst✝¹ : Addition ℕ
inst✝ : Sign ℕ
order_inst : Order ℕ
n m : ℕ
x✝ : step m > n
this : n < m ∨ n ≃ m
⊢ m ≃ n ∨ m > n
Tactic:
match this with
| Or.inl (_ : n < m) =>
  have : m ≃ n ∨ m > n := Or.inr ‹m > n›
  exact this
| Or.inr (_ : n ≃ m) =>
  have : m ≃ n ∨ m > n := Or.inl (Rel.symm ‹n ≃ m›)
  exact this
State after:
no goals

State before:
ℕ : Type
inst✝³ : Core ℕ
inst✝² : Induction ℕ
inst✝¹ : Addition ℕ
inst✝ : Sign ℕ
order_inst : Order ℕ
n m : ℕ
x✝ : step m > n
this : n < m ∨ n ≃ m
h✝ : n < m
⊢ m ≃ n ∨ m > n
Tactic:
have : m ≃ n ∨ m > n := Or.inr ‹m > n›
State after:
ℕ : Type
inst✝³ : Core ℕ
inst✝² : Induction ℕ
inst✝¹ : Addition ℕ
inst✝ : Sign ℕ
order_inst : Order ℕ
n m : ℕ
x✝ : step m > n
this✝ : n < m ∨ n ≃ m
h✝ : n < m
this : m ≃ n ∨ m > n
⊢ m ≃ n ∨ m > n

State before:
ℕ : Type
inst✝³ : Core ℕ
inst✝² : Induction ℕ
inst✝¹ : Addition ℕ
inst✝ : Sign ℕ
order_inst : Order ℕ
n m : ℕ
x✝ : step m > n
this✝ : n < m ∨ n ≃ m
h✝ : n < m
this : m ≃ n ∨ m > n
⊢ m ≃ n ∨ m > n
Tactic:
exact this
State after:
no goals

State before:
ℕ : Type
inst✝³ : Core ℕ
inst✝² : Induction ℕ
inst✝¹ : Addition ℕ
inst✝ : Sign ℕ
order_inst : Order ℕ
n m : ℕ
x✝ : step m > n
this : n < m ∨ n ≃ m
h✝ : n ≃ m
⊢ m ≃ n ∨ m > n
Tactic:
have : m ≃ n ∨ m > n := Or.inl (Rel.symm ‹n ≃ m›)
State after:
ℕ : Type
inst✝³ : Core ℕ
inst✝² : Induction ℕ
inst✝¹ : Addition ℕ
inst✝ : Sign ℕ
order_inst : Order ℕ
n m : ℕ
x✝ : step m > n
this✝ : n < m ∨ n ≃ m
h✝ : n ≃ m
this : m ≃ n ∨ m > n
⊢ m ≃ n ∨ m > n

State before:
ℕ : Type
inst✝³ : Core ℕ
inst✝² : Induction ℕ
inst✝¹ : Addition ℕ
inst✝ : Sign ℕ
order_inst : Order ℕ
n m : ℕ
x✝ : step m > n
this✝ : n < m ∨ n ≃ m
h✝ : n ≃ m
this : m ≃ n ∨ m > n
⊢ m ≃ n ∨ m > n
Tactic:
exact this
State after:
no goals