theorem
proved
mul_zero
show as:
view math explainer →
open explainer
Read the cached plain-language explainer.
open lean source
IndisputableMonolith.Foundation.ArithmeticFromLogic on GitHub at line 179.
browse module
All declarations in this module, on Recognition.
explainer page
depends on
used by
-
newton_first_law -
PhiInt -
PhiInt -
min_energy_zero -
flat_minimizes_cost -
aux_limit_N_plus_two_div_pow -
costAlphaLog_fourth_deriv_at_zero -
mul_add -
mul_one -
toNat_mul -
Composition_Normalization_implies_symmetry -
flat_ode_unique -
bilinear_family_forced -
polynomial_form_forced -
costAlphaLog_unit_curvature -
phase_0_is_one -
flat_is_vacuum -
flat_regge_sum_zero -
no_smaller_multiple_8_45 -
no_smaller_multiple_9_5 -
no_smaller_multiple_8_45 -
linear_regge_vanishes -
acoustic_levitation -
equilibrium_is_coherent -
modified_falling_condition -
w_at_resonance -
f_growth_gr_limit -
regge_action_flat -
conservation_from_efe_and_bianchi -
dirichletForm_flat -
secondOrderReggeAction_flat -
growth_satisfies_ode -
phases_require_complex -
mkSharedCirclePair_carrier_excess_bounded -
stationary_at_anchor -
alpha_lock_at_scale -
tov_newtonian_limit -
gauge_phase_unobservable -
dark_fringes -
deriv_coordRay_j
formal source
176
177@[simp] theorem mul_def (n m : LogicNat) : n * m = mul n m := rfl
178
179@[simp] theorem mul_zero (n : LogicNat) : n * zero = zero := rfl
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