rcases lt_or_eq_of_le hm with (hm | rfl)
case intro
p : ℕ → ℕ
n : ℕ
ih : 0 < rec 1 (fun n ih => (p n).pos.and ih) n ↔ ∀ m < n, 0 < p m
hn : 0 < p n
hp : ∀ m < n, 0 < p m
m : ℕ
hm : m ≤ n
⊢ 0 < p m
case intro.inl
p : ℕ → ℕ
n : ℕ
ih : 0 < rec 1 (fun n ih => (p n).pos.and ih) n ↔ ∀ m < n, 0 < p m
hn : 0 < p n
hp : ∀ m < n, 0 < p m
m : ℕ
hm✝ : m ≤ n
hm : m < n
⊢ 0 < p m

case intro.inr
p : ℕ → ℕ
m : ℕ
ih : 0 < rec 1 (fun n ih => (p n).pos.and ih) m ↔ ∀ m_1 < m, 0 < p m_1
hn : 0 < p m
hp : ∀ m_1 < m, 0 < p m_1
hm : m ≤ m
⊢ 0 < p m