theorem
proved
kernel_ge_one
show as:
view math explainer →
open explainer
Generate a durable explainer page for this declaration.
open lean source
IndisputableMonolith.ILG.Kernel on GitHub at line 105.
browse module
All declarations in this module, on Recognition.
explainer page
depends on
used by
formal source
102 linarith
103
104/-- Kernel is at least 1. -/
105theorem kernel_ge_one (P : KernelParams) (k a : ℝ) : 1 ≤ kernel P k a := by
106 unfold kernel
107 have hmax_pos : 0 < max 0.01 (a / (k * P.tau0)) := by
108 apply lt_max_of_lt_left
109 norm_num
110 have hpow_nonneg : 0 ≤ (max 0.01 (a / (k * P.tau0))) ^ P.alpha :=
111 Real.rpow_nonneg (le_of_lt hmax_pos) P.alpha
112 have hcorr_nonneg : 0 ≤ P.C * (max 0.01 (a / (k * P.tau0))) ^ P.alpha :=
113 mul_nonneg P.C_nonneg hpow_nonneg
114 linarith
115
116/-- Kernel equals 1 + C when the ratio a/(k τ₀) = 1 and α = 0. -/
117theorem kernel_at_ratio_one_alpha_zero (P : KernelParams) (hα : P.alpha = 0)
118 (k a : ℝ) (hk : k ≠ 0) (hratio : a / (k * P.tau0) = 1) (h1ge : (0.01 : ℝ) ≤ 1) :
119 kernel P k a = 1 + P.C := by
120 unfold kernel
121 have hmax : max 0.01 (a / (k * P.tau0)) = 1 := by
122 rw [hratio]
123 exact max_eq_right h1ge
124 simp [hmax, hα, Real.rpow_zero]
125
126/-- Kernel equals 1 when C = 0 (no ILG modification). -/
127theorem kernel_eq_one_of_C_zero (P : KernelParams) (hC : P.C = 0) (k a : ℝ) :
128 kernel P k a = 1 := by
129 simp [kernel, hC]
130
131/-! ## Monotonicity Properties -/
132
133/-- For fixed k and positive α, the kernel is monotonically increasing in a
134 when a/(k τ₀) ≥ 0.01. -/
135theorem kernel_mono_in_a (P : KernelParams) (hα_pos : 0 < P.alpha) (hC_pos : 0 < P.C)