cases Nat.Prime.eq_two_or_odd' hk_prime with
| inl hk_two => rw [hk_two]; exact two
| inr hk_two =>
  cases hk_two with
  | intro m hm =>
    simp [Nat.add_one] at hm
    simp [hm] at *
    apply odd_prime _ hk_prime h_ind
case ind.inl
p : ℕ → Prop
zero : p 0
two : p 2
not_prime : ∀ (n : ℕ), ¬Nat.Prime (Nat.succ n) → (∀ (x : ℕ), x ≤ n → p x) → p (Nat.succ n)
odd_prime : ∀ (n : ℕ), Nat.Prime (Nat.succ (2 * n)) → (∀ (x : ℕ), x ≤ 2 * n → p x) → p (Nat.succ (2 * n))
k : ℕ
h_ind : ∀ (m : ℕ), m ≤ k → p m
hk_prime : Nat.Prime (Nat.succ k)
⊢ p (Nat.succ k)
no goals