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

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

State before:
ℕ : Type
inst✝³ : Core ℕ
inst✝² : Induction ℕ
inst✝¹ : Addition ℕ
inst✝ : Sign ℕ
order_inst : Order ℕ
n m : ℕ
x✝ : n ≤ m
⊢ n ≤ step m
Tactic:
have ⟨d, (_ : n + d ≃ m)⟩ := le_defn.mp ‹n ≤ m›
State after:
ℕ : Type
inst✝³ : Core ℕ
inst✝² : Induction ℕ
inst✝¹ : Addition ℕ
inst✝ : Sign ℕ
order_inst : Order ℕ
n m : ℕ
x✝ : n ≤ m
d : ℕ
h✝ : n + d ≃ m
⊢ n ≤ step m

State before:
ℕ : Type
inst✝³ : Core ℕ
inst✝² : Induction ℕ
inst✝¹ : Addition ℕ
inst✝ : Sign ℕ
order_inst : Order ℕ
n m : ℕ
x✝ : n ≤ m
d : ℕ
h✝ : n + d ≃ m
⊢ n ≤ step m
Tactic:
apply le_defn.mpr
State after:
ℕ : Type
inst✝³ : Core ℕ
inst✝² : Induction ℕ
inst✝¹ : Addition ℕ
inst✝ : Sign ℕ
order_inst : Order ℕ
n m : ℕ
x✝ : n ≤ m
d : ℕ
h✝ : n + d ≃ m
⊢ ∃ k, n + k ≃ step m

State before:
ℕ : Type
inst✝³ : Core ℕ
inst✝² : Induction ℕ
inst✝¹ : Addition ℕ
inst✝ : Sign ℕ
order_inst : Order ℕ
n m : ℕ
x✝ : n ≤ m
d : ℕ
h✝ : n + d ≃ m
⊢ ∃ k, n + k ≃ step m
Tactic:
exists step d
State after:
ℕ : Type
inst✝³ : Core ℕ
inst✝² : Induction ℕ
inst✝¹ : Addition ℕ
inst✝ : Sign ℕ
order_inst : Order ℕ
n m : ℕ
x✝ : n ≤ m
d : ℕ
h✝ : n + d ≃ m
⊢ n + step d ≃ step m

State before:
ℕ : Type
inst✝³ : Core ℕ
inst✝² : Induction ℕ
inst✝¹ : Addition ℕ
inst✝ : Sign ℕ
order_inst : Order ℕ
n m : ℕ
x✝ : n ≤ m
d : ℕ
h✝ : n + d ≃ m
⊢ n + step d ≃ step m
Tactic:
calc
  n + step d   ≃ _ := add_step
  step (n + d) ≃ _ := AA.subst₁ ‹n + d ≃ m›
  step m       ≃ _ := Rel.refl
State after:
no goals