theorem
proved
zero_mul
show as:
view math explainer →
open explainer
Read the cached plain-language explainer.
open lean source
IndisputableMonolith.Foundation.ArithmeticFromLogic on GitHub at line 183.
browse module
All declarations in this module, on Recognition.
explainer page
depends on
used by
-
PhiInt -
high_depth_not_large -
dAlembert_classification -
dAlembert_contDiff_top -
hasDerivAt_costAlphaLog_first -
Composition_Normalization_implies_symmetry -
dAlembert_classification -
hasDerivAt_costAlphaLog -
phase_0_is_one -
D_growth_gr_limit -
f_growth_gr_limit -
dirichlet_eq_neg_quadratic -
weak_field_conformal_reduction -
mkSharedCirclePair_carrier_excess_bounded -
ValidTrajectory -
minimal_area_eigenvalue -
parallel_transport_flat -
ratio_is_phi_power -
firstBlockSum_eq_Z_on_cylinder
formal source
180
181@[simp] theorem mul_succ (n m : LogicNat) : n * succ m = n * m + n := rfl
182
183theorem zero_mul (n : LogicNat) : zero * n = zero := by
184 induction n with
185 | identity => rfl
186 | step n ih =>
187 show zero * succ n = zero
188 rw [mul_succ, ih, zero_add]
189
190theorem mul_one (n : LogicNat) : n * succ zero = n := by
191 show n * succ zero = n
192 rw [mul_succ, mul_zero, zero_add]
193
194theorem one_mul (n : LogicNat) : succ zero * n = n := by
195 induction n with
196 | identity => rfl
197 | step n ih =>
198 show succ zero * succ n = succ n
199 rw [mul_succ, ih]
200 show n + succ zero = succ n
201 rw [add_succ, add_zero]
202
203theorem mul_add (a b c : LogicNat) : a * (b + c) = a * b + a * c := by
204 induction c with
205 | identity =>
206 show a * (b + zero) = a * b + a * zero
207 rw [add_zero, mul_zero, add_zero]
208 | step c ih =>
209 show a * (b + succ c) = a * b + a * succ c
210 rw [add_succ, mul_succ, mul_succ, ih, add_assoc]
211
212/-! ## 5. Recovery Theorem: LogicNat ≃ Nat
213