def
definition
le
show as:
view math explainer →
open explainer
Generate a durable explainer page for this declaration.
open lean source
IndisputableMonolith.Foundation.ArithmeticFromLogic on GitHub at line 325.
browse module
All declarations in this module, on Recognition.
explainer page
depends on
used by
-
interp -
abs_heatFactor_le_one -
Real -
kappa_einstein_eq -
hubble_resolution_converges -
phi_power_matches_eta -
jcost_energy_min_at_ground -
jcost_energy_nonneg -
strict_transmutation_progress -
cooper_pair_binding_exceeds_thermal -
prefer_trans -
le_antisymm -
lt -
total_defect_lower_bound -
D_growth_ge_a -
C_kernel_eq_two_minus_phi -
epsilon_le_half -
r_ref_exact_gt_r -
kernel_perturbation_bounded_above -
kernel_perturbation_ge_one -
octagon_approximates_pi -
prob₁_nonneg -
prob₂_nonneg -
one_step_factor_le_one -
corePairStretchFactor_pos -
rm2Closed_of_coerciveL2Bound -
ancientDecay_implies_A2_integrable -
ancientDecay_implies_tailFlux_vanish -
operatorPairing_of_decayFull -
rescaleLength_tendsto_zero -
abs_sinh_le_abs_add_sq_of_abs_le_one -
jensen_ring_bound -
phiCost_add_le_phiCost_add_linear_quadratic -
mkSharedCirclePair_carrier_excess_bounded -
det2_log_summable -
genuineZetaDerivedPhasePerturbationWitness -
costSpectrumValue_le_omega_mul_jcost -
primeCost_strictMono -
poissonConv -
integer_tail_tsum_le
formal source
322`n + step k = m`. -/
323
324/-- Non-strict order on `LogicNat`. -/
325def le (n m : LogicNat) : Prop := ∃ k : LogicNat, n + k = m
326
327/-- Strict order on `LogicNat`. -/
328def lt (n m : LogicNat) : Prop := ∃ k : LogicNat, n + succ k = m
329
330instance : LE LogicNat := ⟨le⟩
331instance : LT LogicNat := ⟨lt⟩
332
333@[simp] theorem le_def (n m : LogicNat) : n ≤ m ↔ ∃ k, n + k = m := Iff.rfl
334@[simp] theorem lt_def (n m : LogicNat) : n < m ↔ ∃ k, n + succ k = m := Iff.rfl
335
336theorem le_refl (n : LogicNat) : n ≤ n := ⟨zero, add_zero n⟩
337
338theorem zero_le (n : LogicNat) : zero ≤ n := ⟨n, zero_add n⟩
339
340theorem le_trans {a b c : LogicNat} (hab : a ≤ b) (hbc : b ≤ c) : a ≤ c := by
341 obtain ⟨k1, hk1⟩ := hab
342 obtain ⟨k2, hk2⟩ := hbc
343 refine ⟨k1 + k2, ?_⟩
344 rw [← add_assoc, hk1, hk2]
345
346theorem le_succ (n : LogicNat) : n ≤ succ n := ⟨succ zero, by
347 show n + succ zero = succ n
348 rw [add_succ, add_zero]⟩
349
350theorem succ_le_succ {a b : LogicNat} (h : a ≤ b) : succ a ≤ succ b := by
351 obtain ⟨k, hk⟩ := h
352 refine ⟨k, ?_⟩
353 show succ a + k = succ b
354 rw [succ_add, hk]
355