ImportedAnalyticInputs #
ImportedAnalyticInputs #
Mathlib-facing wrapper file for the analytic inputs that later modules are allowed to cite through a stable local API.
arcParam: arc Param.
Equations
- DimdPolyLEAN.arcParam I t = ↑(I.left + t * DimdPolyLEAN.arcLength I)
Instances For
arcSet: arc Set.
Equations
- DimdPolyLEAN.arcSet I = {x : DimdPolyLEAN.Circle | ∃ t ∈ Set.Icc 0 1, DimdPolyLEAN.arcParam I t = x}
Instances For
theorem
DimdPolyLEAN.carrierArc_arcSet_eq_mk_image_Icc
{N : ℕ}
(k : Fin N)
:
arcSet (carrierArc N k) = QuotientAddGroup.mk '' Set.Icc (carrierArc N k).left (carrierArc N k).right
theorem
DimdPolyLEAN.carrierArc_arcSet_eq_mk_image_Ioc_union_left
{N : ℕ}
(k : Fin N)
:
arcSet (carrierArc N k) = QuotientAddGroup.mk '' Set.Ioc (carrierArc N k).left (carrierArc N k).right ∪ {↑(carrierArc N k).left}
theorem
DimdPolyLEAN.carrierArc_mk_preimage_image_Ioc_inter_fundamental
{N : ℕ}
(k : Fin N)
:
(fun (t : ℝ) => ↑t) ⁻¹' (fun (t : ℝ) => ↑t) '' Set.Ioc (carrierArc N k).left (carrierArc N k).right ∩ Set.Ioc 0 (2 * Real.pi) = Set.Ioc (carrierArc N k).left (carrierArc N k).right
theorem
DimdPolyLEAN.carrierArc_arcSet_ae_eq_mk_image_Ioc
{N : ℕ}
(k : Fin N)
:
arcSet (carrierArc N k) =ᵐ[μCircle] QuotientAddGroup.mk '' Set.Ioc (carrierArc N k).left (carrierArc N k).right
theorem
DimdPolyLEAN.carrierArc_arcSet_ae_eq_mk_image_Ioc_volume
{N : ℕ}
(k : Fin N)
:
arcSet (carrierArc N k) =ᵐ[MeasureTheory.volume] QuotientAddGroup.mk '' Set.Ioc (carrierArc N k).left (carrierArc N k).right
carrierAverage: carrier Average.
Equations
- DimdPolyLEAN.carrierAverage k f = ↑N * ∫ (x : DimdPolyLEAN.Circle) in DimdPolyLEAN.arcSet (DimdPolyLEAN.carrierArc N k), f x ∂DimdPolyLEAN.μCircle
Instances For
theorem
DimdPolyLEAN.volume_mk_image_carrierArc_Ioc
{N : ℕ}
(k : Fin N)
:
MeasureTheory.volume ((fun (t : ℝ) => ↑t) '' Set.Ioc (carrierArc N k).left (carrierArc N k).right) = ENNReal.ofReal (arcLength (carrierArc N k))
theorem
DimdPolyLEAN.period_smul_μCircle_mk_image_carrierArc_Ioc
{N : ℕ}
(k : Fin N)
:
ENNReal.ofReal (2 * Real.pi) * μCircle ((fun (t : ℝ) => ↑t) '' Set.Ioc (carrierArc N k).left (carrierArc N k).right) = ENNReal.ofReal (arcLength (carrierArc N k))
theorem
DimdPolyLEAN.period_smul_μCircle_carrierArc
{N : ℕ}
(k : Fin N)
:
ENNReal.ofReal (2 * Real.pi) * μCircle (arcSet (carrierArc N k)) = ENNReal.ofReal (arcLength (carrierArc N k))
arcIntegral: arc Integral.
Equations
- DimdPolyLEAN.arcIntegral I f = ∫ (x : DimdPolyLEAN.Circle) in DimdPolyLEAN.arcSet I, f x ∂DimdPolyLEAN.μCircle
Instances For
theorem
DimdPolyLEAN.carrierArc_arcIntegral_eq_mk_image_Ioc
{N : ℕ}
(k : Fin N)
(f : Circle → ℝ)
:
arcIntegral (carrierArc N k) f = ∫ (x : Circle) in QuotientAddGroup.mk '' Set.Ioc (carrierArc N k).left (carrierArc N k).right, f x ∂μCircle
theorem
DimdPolyLEAN.carrierArc_mk_image_Ioc_integral_eq_scaled
{N : ℕ}
(k : Fin N)
(f : Circle → ℝ)
:
arcAverage: arc Average.
Equations
- DimdPolyLEAN.arcAverage I f = (DimdPolyLEAN.arcLength I)⁻¹ • ∫ (x : DimdPolyLEAN.Circle) in DimdPolyLEAN.arcSet I, f x ∂DimdPolyLEAN.μCircle
Instances For
theorem
DimdPolyLEAN.continuous_eq_of_ae_eq_gamma
{d : ℕ}
(hd : 0 < d)
{f g : Cd d → ℂ}
(hf : Continuous f)
(hg : Continuous g)
(hfg : f =ᵐ[gammaD d] g)
:
Phase-space analytic boundary stubs #
These declaration-shaped stubs expose the analytic objects needed by
ExactModulusRecovery. The definitions are placeholders; the theorem
statements record the frozen API that the STFT/ambiguity proof must eventually
provide.
@[reducible, inline]
RealVec: Real Vec.
Equations
- DimdPolyLEAN.RealVec d = EuclideanSpace ℝ (Fin d)
Instances For
@[reducible, inline]
L2Real: L2 Real.
Equations
Instances For
noncomputable def
DimdPolyLEAN.symplecticFourierRep
{d : ℕ}
(F : PhaseSpace d → ℂ)
:
PhaseSpace d → ℂ
symplecticFourierRep: symplectic Fourier Rep.
Equations
Instances For
symplecticFormLinear: symplectic Form Linear.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
DimdPolyLEAN.symplecticFourierRep_eq_vectorFourier
{d : ℕ}
(F : PhaseSpace d → ℂ)
(ξ : PhaseSpace d)
:
theorem
DimdPolyLEAN.symplecticFourierRep_sub_le_lpNorm_one
{d : ℕ}
{G₁ G₂ : PhaseSpace d → ℂ}
(h1 : MeasureTheory.Integrable G₁ MeasureTheory.volume)
(h2 : MeasureTheory.Integrable G₂ MeasureTheory.volume)
(ξ : PhaseSpace d)
:
‖symplecticFourierRep G₁ ξ - symplecticFourierRep G₂ ξ‖ ≤ MeasureTheory.lpNorm (fun (η : PhaseSpace d) => G₁ η - G₂ η) 1 MeasureTheory.volume
theorem
DimdPolyLEAN.tendsto_symplecticFourierRep_of_lpNorm_one
{d : ℕ}
{G : PhaseSpace d → ℂ}
{Gₙ : ℕ → PhaseSpace d → ℂ}
(hG : MeasureTheory.Integrable G MeasureTheory.volume)
(hGₙ : ∀ (n : ℕ), MeasureTheory.Integrable (Gₙ n) MeasureTheory.volume)
(hLp :
Filter.Tendsto (fun (n : ℕ) => MeasureTheory.lpNorm (fun (η : PhaseSpace d) => Gₙ n η - G η) 1 MeasureTheory.volume)
Filter.atTop (nhds 0))
(ξ : PhaseSpace d)
:
Filter.Tendsto (fun (n : ℕ) => symplecticFourierRep (Gₙ n) ξ) Filter.atTop (nhds (symplecticFourierRep G ξ))
theorem
DimdPolyLEAN.symplecticFourierRep_eq_of_lpNorm_one_approx
{d : ℕ}
{G : PhaseSpace d → ℂ}
{Gₙ : ℕ → PhaseSpace d → ℂ}
{A : ℂ}
{Aₙ : ℕ → ℂ}
(hG : MeasureTheory.Integrable G MeasureTheory.volume)
(hGₙ : ∀ (n : ℕ), MeasureTheory.Integrable (Gₙ n) MeasureTheory.volume)
(hLp :
Filter.Tendsto (fun (n : ℕ) => MeasureTheory.lpNorm (fun (η : PhaseSpace d) => Gₙ n η - G η) 1 MeasureTheory.volume)
Filter.atTop (nhds 0))
(hA : Filter.Tendsto Aₙ Filter.atTop (nhds A))
(ξ : PhaseSpace d)
(hEq : ∀ (n : ℕ), symplecticFourierRep (Gₙ n) ξ = Aₙ n)
:
IsL2Rep: Is L2 Rep.
Equations
- DimdPolyLEAN.IsL2Rep f fRep = ∃ (hf_mem : MeasureTheory.MemLp fRep 2 MeasureTheory.volume), MeasureTheory.MemLp.toLp fRep hf_mem = f
Instances For
theorem
DimdPolyLEAN.translateL2_coeFn
{d : ℕ}
(a : RealVec d)
(f : ↥(L2Real d))
:
↑↑(translateL2 a f) =ᵐ[MeasureTheory.volume] fun (t : RealVec d) => ↑↑f (t + a)
theorem
DimdPolyLEAN.translateL2_neg_coeFn
{d : ℕ}
(a : RealVec d)
(f : ↥(L2Real d))
:
↑↑(translateL2 (-a) f) =ᵐ[MeasureTheory.volume] fun (t : RealVec d) => ↑↑f (t - a)
theorem
DimdPolyLEAN.continuous_translateL2_apply
{d : ℕ}
(f : ↥(L2Real d))
:
Continuous fun (a : RealVec d) => translateL2 a f
theorem
DimdPolyLEAN.fourier_translate_realVec
{d : ℕ}
(a : RealVec d)
(f : RealVec d → ℂ)
(_hf : MeasureTheory.Integrable f MeasureTheory.volume)
:
(FourierTransform.fourier fun (t : RealVec d) => f (t - a)) = fun (ω : RealVec d) =>
modulationPhase a ω * FourierTransform.fourier f ω
schwartzCompSubConstCLM: schwartz Comp Sub Const CLM.
Equations
Instances For
@[simp]
theorem
DimdPolyLEAN.schwartzCompSubConstCLM_apply
{d : ℕ}
(a : RealVec d)
(f : SchwartzMap (RealVec d) ℂ)
:
theorem
DimdPolyLEAN.fourier_schwartzCompSubConstCLM_realVec
{d : ℕ}
(f : SchwartzMap (RealVec d) ℂ)
(a : RealVec d)
:
FourierTransform.fourier ⇑((schwartzCompSubConstCLM a) f) = fun (ω : RealVec d) =>
modulationPhase a ω * FourierTransform.fourier (⇑f) ω
modulateL2: modulate L2.
Equations
- DimdPolyLEAN.modulateL2 ω f = MeasureTheory.MemLp.toLp (fun (t : DimdPolyLEAN.RealVec d) => DimdPolyLEAN.modulationPhase ω t * ↑↑f t) ⋯
Instances For
theorem
DimdPolyLEAN.modulateL2_coeFn
{d : ℕ}
(ω : RealVec d)
(f : ↥(L2Real d))
:
↑↑(modulateL2 ω f) =ᵐ[MeasureTheory.volume] fun (t : RealVec d) => modulationPhase ω t * ↑↑f t
theorem
DimdPolyLEAN.continuous_modulateL2_apply
{d : ℕ}
(f : ↥(L2Real d))
:
Continuous fun (ω : RealVec d) => modulateL2 ω f
theorem
DimdPolyLEAN.ambiguityRep_eq_lpPairing
{d : ℕ}
(f g : ↥(L2Real d))
(ξ : PhaseSpace d)
:
ambiguityRep f g ξ = ((ContinuousLinearMap.lpPairing MeasureTheory.volume 2 2 (ContinuousLinearMap.mul ℂ ℂ))
(translateL2 ((1 / 2) • ξ.1) f))
(modulateL2 ξ.2 (star (translateL2 (-((1 / 2) • ξ.1)) g)))
theorem
DimdPolyLEAN.continuous_modulateL2
{d : ℕ}
{X : Type u_1}
[TopologicalSpace X]
{ω : X → RealVec d}
{h : X → ↥(L2Real d)}
(hω : Continuous ω)
(hh : Continuous h)
:
Continuous fun (x : X) => modulateL2 (ω x) (h x)
theorem
DimdPolyLEAN.stftRep_eq_lpPairing
{d : ℕ}
(h f : ↥(L2Real d))
(ξ : PhaseSpace d)
:
stftRep h f ξ = ((ContinuousLinearMap.lpPairing MeasureTheory.volume 2 2 (ContinuousLinearMap.mul ℂ ℂ)) f)
(modulateL2 ξ.2 (star (translateL2 (-ξ.1) h)))
theorem
DimdPolyLEAN.continuous_spectrogramRep
{d : ℕ}
(h f : ↥(L2Real d))
:
Continuous fun (ξ : PhaseSpace d) => ↑(‖stftRep h f ξ‖ ^ 2)
theorem
DimdPolyLEAN.spectrogram_ambiguity_identity_of_product_moyal
{d : ℕ}
(hmoyal :
∀ (h f : ↥(L2Real d)) (ξ : PhaseSpace d),
symplecticFourierRep (fun (η : PhaseSpace d) => stftRep h f η * star (stftRep h f η)) ξ = ambiguityRep f f ξ * star (ambiguityRep h h ξ))
(h f : ↥(L2Real d))
(ξ : PhaseSpace d)
:
symplecticFourierRep (fun (η : PhaseSpace d) => ↑(‖stftRep h f η‖ ^ 2)) ξ = ambiguityRep f f ξ * star (ambiguityRep h h ξ)
theorem
DimdPolyLEAN.spectrogram_ambiguity_identity
{d : ℕ}
(h f : ↥(L2Real d))
(ξ : PhaseSpace d)
:
symplecticFourierRep (fun (η : PhaseSpace d) => ↑(‖stftRep h f η‖ ^ 2)) ξ = ambiguityRep f f ξ * star (ambiguityRep h h ξ)
theorem
DimdPolyLEAN.continuous_ambiguityRep
{d : ℕ}
(f g : ↥(L2Real d))
:
Continuous (ambiguityRep f g)