Theorem: id_le_extraction (LeanTeaching/TutoLib.lean)

State before:
φ : ℕ → ℕ
⊢ extraction φ → ∀ (n : ℕ), n ≤ φ n
Tactic:
intros hyp n
State after:
φ : ℕ → ℕ
hyp : extraction φ
n : ℕ
⊢ n ≤ φ n

State before:
φ : ℕ → ℕ
hyp : extraction φ
n : ℕ
⊢ n ≤ φ n
Tactic:
induction' n with n hn
State after:
case zero
φ : ℕ → ℕ
hyp : extraction φ
⊢ Nat.zero ≤ φ Nat.zero

case succ
φ : ℕ → ℕ
hyp : extraction φ
n : ℕ
hn : n ≤ φ n
⊢ Nat.succ n ≤ φ (Nat.succ n)

State before:
case zero
φ : ℕ → ℕ
hyp : extraction φ
⊢ Nat.zero ≤ φ Nat.zero
Tactic:
exact Nat.zero_le _
State after:
no goals

State before:
case succ
φ : ℕ → ℕ
hyp : extraction φ
n : ℕ
hn : n ≤ φ n
⊢ Nat.succ n ≤ φ (Nat.succ n)
Tactic:
exact Nat.succ_le_of_lt (by linarith [hyp n (n+1) (by linarith)])
State after:
no goals

State before:
φ : ℕ → ℕ
hyp : extraction φ
n : ℕ
hn : n ≤ φ n
⊢ n < φ (Nat.succ n)
Tactic:
linarith [hyp n (n+1) (by linarith)]
State after:
no goals

State before:
φ : ℕ → ℕ
hyp : extraction φ
n : ℕ
hn : n ≤ φ n
⊢ n < n + 1
Tactic:
linarith
State after:
no goals