theorem
proved
kernel_match_differential
show as:
view math explainer →
open explainer
Generate a durable explainer page for this declaration.
open lean source
IndisputableMonolith.Measurement.KernelMatch on GitHub at line 105.
browse module
All declarations in this module, on Recognition.
explainer page
depends on
formal source
102 _ = 2 * Real.cot ϑ := hy_sub
103
104/-- Differential form of kernel match: J(r) dϑ = 2 tan ϑ dϑ -/
105theorem kernel_match_differential (ϑ : ℝ) (hϑ : 0 ≤ ϑ ∧ ϑ ≤ π/2) :
106 Jcost (recognitionProfile ϑ) = 2 * Real.cot ϑ :=
107 kernel_match_pointwise ϑ hϑ
108
109/-- The integrand match: ∫ J(r(ϑ)) dϑ = 2 ∫ tan ϑ dϑ -/
110theorem kernel_integral_match (θ_s : ℝ) (hθ : 0 < θ_s ∧ θ_s < π/2) :
111 ∫ ϑ in (0)..(π/2 - θ_s), Jcost (recognitionProfile (ϑ + θ_s)) =
112 2 * ∫ ϑ in (0)..(π/2 - θ_s), Real.cot (ϑ + θ_s) := by
113 -- Follows by integrating the pointwise identity
114 -- measurability and integrability are standard for these smooth functions
115 have hb_nonneg : 0 ≤ π/2 - θ_s := sub_nonneg.mpr (le_of_lt hθ.2)
116 have hpt : ∀ ϑ ∈ Set.Icc (0 : ℝ) (π/2 - θ_s),
117 Jcost (recognitionProfile (ϑ + θ_s)) = 2 * Real.cot (ϑ + θ_s) := by
118 intro ϑ hϑ
119 apply kernel_match_pointwise (ϑ + θ_s)
120 constructor
121 · have hθ_nonneg : 0 ≤ θ_s := le_of_lt hθ.1
122 exact add_nonneg hϑ.1 hθ_nonneg
123 · have : ϑ ≤ π/2 - θ_s := hϑ.2
124 have hsum := add_le_add_right this θ_s
125 simpa [add_comm, add_left_comm, add_assoc] using hsum
126 have h_ae :
127 ∀ᵐ ϑ ∂MeasureTheory.volume,
128 ϑ ∈ Set.uIoc 0 (π/2 - θ_s) →
129 Jcost (recognitionProfile (ϑ + θ_s)) = 2 * Real.cot (ϑ + θ_s) := by
130 refine Filter.Eventually.of_forall ?_
131 intro ϑ hϑ
132 have hIoc : ϑ ∈ Set.Ioc (0 : ℝ) (π/2 - θ_s) := by
133 simpa [Set.uIoc, hb_nonneg] using hϑ
134 have hIcc : ϑ ∈ Set.Icc (0 : ℝ) (π/2 - θ_s) := by
135 exact ⟨le_of_lt hIoc.1, hIoc.2⟩