English
For m,n in PosNum, the nat-cast of their product equals the product of their nat-casts: ((m * n : PosNum) : ℕ) = m * n.
Русский
Для любых m,n из PosNum nat-костыль их произведения равен произведению их nat-костылей: ((m * n : PosNum) : ℕ) = m * n.
LaTeX
$$$((m \\cdot n : \\mathrm{PosNum}) : \\mathbb{N}) = m \\cdot n$$$
Lean4
@[norm_cast]
theorem mul_to_nat (m) : ∀ n, ((m * n : PosNum) : ℕ) = m * n
| 1 => (mul_one _).symm
| bit0 p => show (↑(m * p) + ↑(m * p) : ℕ) = ↑m * (p + p) by rw [mul_to_nat m p, left_distrib]
| bit1 p =>
(add_to_nat (bit0 (m * p)) m).trans <|
show (↑(m * p) + ↑(m * p) + ↑m : ℕ) = ↑m * (p + p) + m by rw [mul_to_nat m p, left_distrib]