Documentation

LeanPool.PhaseRetrieval.DimdPoly.Internal.ExactModulusRecovery

ExactModulusRecovery #

ExactModulusRecovery #

WIP scaffold for the STFT/ambiguity bridge, exposing the finite-facing corollary needed by downstream modules.

WIP phase-space API stubs #

These declarations freeze the proof-facing objects from the exact-modulus The definitions are only placeholders; the theorem statements below are the real work items needed to replace coeff_kernel_of_exact_modulus_recovery_skappa_ae_wip.

noncomputable def DimdPolyLEAN.realHermiteGenerating (t : ) (u : ) :

realHermiteGenerating: real Hermite Generating.

Equations
Instances For
    theorem DimdPolyLEAN.realHermiteGenerating_stft_integral_raw (x ω : ) (u v : ) :
    (t : ), realHermiteGenerating t u * realHermiteGenerating (t - x) v * Complex.exp (-(2 * Real.pi) * Complex.I * (ω * t)) = Complex.exp (-x ^ 2 / 2 - 2 * x * v - (u ^ 2 + v ^ 2) / 2 + (x + 2 * (u + v) - 2 * Real.pi * Complex.I * ω) ^ 2 / 4)
    theorem DimdPolyLEAN.realHermiteGenerating_integral_shift_mul_modulated_completed (u v : ) (x ω : ) :
    (t : ), realHermiteGenerating t u * realHermiteGenerating (t - x) v * Complex.exp (-(2 * Real.pi) * Complex.I * (ω * t)) = Complex.exp (-x ^ 2 / 2 - 2 * x * v - (u ^ 2 + v ^ 2) / 2 + (x + 2 * (u + v) - 2 * Real.pi * Complex.I * ω) ^ 2 / 4)
    theorem DimdPolyLEAN.realHermiteGenerating_integral_shift_mul_modulated (u v : ) (x ω : ) :
    (t : ), realHermiteGenerating t u * realHermiteGenerating (t - x) v * Complex.exp (-(2 * Real.pi) * Complex.I * (ω * t)) = Complex.exp (-x ^ 2 / 2 - 2 * x * v - (u ^ 2 + v ^ 2) / 2 - (x + 2 * (u + v) - 2 * Real.pi * Complex.I * ω) ^ 2 / (4 * -1))
    theorem DimdPolyLEAN.realHermiteGenerating_stft_integral_kernel (x ω : ) (u v : ) :
    (t : ), realHermiteGenerating t u * realHermiteGenerating (t - x) v * Complex.exp (-(2 * Real.pi) * Complex.I * (ω * t)) = Complex.exp (-Real.pi * Complex.I * (x * ω)) * Complex.exp (u * v + (x - 2 * Real.pi * Complex.I * ω) / 2 * u - star ((x - 2 * Real.pi * Complex.I * ω) / 2) * v) * (Real.exp (-((x ^ 2 + (2 * Real.pi) ^ 2 * ω ^ 2) / 4)))
    theorem DimdPolyLEAN.realHermiteGenerating_ambiguity_integral_raw (x ω : ) (u v : ) :
    (t : ), realHermiteGenerating (t + x / 2) u * realHermiteGenerating (t - x / 2) v * Complex.exp (-(2 * Real.pi) * Complex.I * (ω * t)) = Complex.exp (-x ^ 2 / 4 + 2 * x * u / 2 - 2 * x * v / 2 - (u ^ 2 + v ^ 2) / 2 + (2 * (u + v) - 2 * Real.pi * Complex.I * ω) ^ 2 / 4)
    theorem DimdPolyLEAN.realHermiteGenerating_ambiguity_integral_linear_form (x ω : ) (u v : ) :
    (t : ), realHermiteGenerating (t + x / 2) u * realHermiteGenerating (t - x / 2) v * Complex.exp (-(2 * Real.pi) * Complex.I * (ω * t)) = Complex.exp (-((x ^ 2 + (2 * Real.pi) ^ 2 * ω ^ 2) / 4)) * Complex.exp ((2 * x / 2 - 2 * Real.pi * Complex.I * ω) * u - (2 * x / 2 + 2 * Real.pi * Complex.I * ω) * v + u * v)
    theorem DimdPolyLEAN.realHermiteGenerating_ambiguity_integral_kernel (x ω : ) (u w : ) :
    (t : ), realHermiteGenerating (t + x / 2) u * realHermiteGenerating (t - x / 2) w * Complex.exp (-(2 * Real.pi) * Complex.I * (ω * t)) = Complex.exp (u * w + (x - 2 * Real.pi * Complex.I * ω) / 2 * u - star ((x - 2 * Real.pi * Complex.I * ω) / 2) * w) * (Real.exp (-((x ^ 2 + (2 * Real.pi) ^ 2 * ω ^ 2) / 4)))
    theorem DimdPolyLEAN.realHermiteGenerating_ambiguity_integral_conj_raw (x ω : ) (u v : ) :
    (t : ), realHermiteGenerating (t + x / 2) u * star (realHermiteGenerating (t - x / 2) v) * Complex.exp (-(2 * Real.pi) * Complex.I * (ω * t)) = Complex.exp (-x ^ 2 / 4 + 2 * x * u / 2 - 2 * x * star v / 2 - (u ^ 2 + star v ^ 2) / 2 + (2 * (u + star v) - 2 * Real.pi * Complex.I * ω) ^ 2 / 4)
    theorem DimdPolyLEAN.realHermiteGenerating_ambiguity_integral_conj_kernel (x ω : ) (u v : ) :
    (t : ), realHermiteGenerating (t + x / 2) u * star (realHermiteGenerating (t - x / 2) v) * Complex.exp (-(2 * Real.pi) * Complex.I * (ω * t)) = Complex.exp (u * star v + (x - 2 * Real.pi * Complex.I * ω) / 2 * u - (x + 2 * Real.pi * Complex.I * ω) / 2 * star v) * (Real.exp (-((x ^ 2 + (2 * Real.pi) ^ 2 * ω ^ 2) / 4)))
    theorem DimdPolyLEAN.realHermiteGenerating_ambiguity_integral_independent_kernel (x ω : ) (u w : ) :
    (t : ), realHermiteGenerating (t + x / 2) u * realHermiteGenerating (t - x / 2) w * Complex.exp (-(2 * Real.pi) * Complex.I * (ω * t)) = Complex.exp (u * w + (x - 2 * Real.pi * Complex.I * ω) / 2 * u - star ((x - 2 * Real.pi * Complex.I * ω) / 2) * w) * (Real.exp (-((x ^ 2 + (2 * Real.pi) ^ 2 * ω ^ 2) / 4)))

    shiftedGeneratingRightDerivBoundConstant: shifted Generating Right Deriv Bound Constant.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      noncomputable def DimdPolyLEAN.shiftedGeneratingRightDerivBound (u w0 : ) (x R t : ) :

      shiftedGeneratingRightDerivBound: shifted Generating Right Deriv Bound.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        theorem DimdPolyLEAN.hasDerivAt_integral_fixed_mul_shifted_modulated_realHermiteGenerating_right_of_bound (phi : ) (x ω : ) (w0 : ) {s : Set } {bound : } (hs : s nhds w0) (hF_meas : ∀ᶠ (z : ) in nhds w0, MeasureTheory.AEStronglyMeasurable (fun (t : ) => phi t * realHermiteGenerating (t - 1 / 2 * x) z * Complex.exp (-(2 * Real.pi) * Complex.I * (inner ω t))) MeasureTheory.volume) (hF_int : MeasureTheory.Integrable (fun (t : ) => phi t * realHermiteGenerating (t - 1 / 2 * x) w0 * Complex.exp (-(2 * Real.pi) * Complex.I * (inner ω t))) MeasureTheory.volume) (hF'_meas : MeasureTheory.AEStronglyMeasurable (fun (t : ) => phi t * ((2 * ↑(t - 1 / 2 * x) - w0) * realHermiteGenerating (t - 1 / 2 * x) w0) * Complex.exp (-(2 * Real.pi) * Complex.I * (inner ω t))) MeasureTheory.volume) (h_bound : ∀ᵐ (t : ), zs, phi t * ((2 * ↑(t - 1 / 2 * x) - z) * realHermiteGenerating (t - 1 / 2 * x) z) * Complex.exp (-(2 * Real.pi) * Complex.I * (inner ω t)) bound t) (bound_integrable : MeasureTheory.Integrable bound MeasureTheory.volume) :
        HasDerivAt (fun (z : ) => (t : ), phi t * realHermiteGenerating (t - 1 / 2 * x) z * Complex.exp (-(2 * Real.pi) * Complex.I * (inner ω t))) ( (t : ), phi t * ((2 * ↑(t - 1 / 2 * x) - w0) * realHermiteGenerating (t - 1 / 2 * x) w0) * Complex.exp (-(2 * Real.pi) * Complex.I * (inner ω t))) w0
        theorem DimdPolyLEAN.hasDerivAt_integral_shifted_generating_mul_modulated_right_of_bound (u w0 : ) (x ω : ) {s : Set } {bound : } (hs : s nhds w0) (hF_meas : ∀ᶠ (z : ) in nhds w0, MeasureTheory.AEStronglyMeasurable (fun (t : ) => realHermiteGenerating (t + 1 / 2 * x) u * realHermiteGenerating (t - 1 / 2 * x) z * Complex.exp (-(2 * Real.pi) * Complex.I * (inner ω t))) MeasureTheory.volume) (hF_int : MeasureTheory.Integrable (fun (t : ) => realHermiteGenerating (t + 1 / 2 * x) u * realHermiteGenerating (t - 1 / 2 * x) w0 * Complex.exp (-(2 * Real.pi) * Complex.I * (inner ω t))) MeasureTheory.volume) (hF'_meas : MeasureTheory.AEStronglyMeasurable (fun (t : ) => realHermiteGenerating (t + 1 / 2 * x) u * ((2 * ↑(t - 1 / 2 * x) - w0) * realHermiteGenerating (t - 1 / 2 * x) w0) * Complex.exp (-(2 * Real.pi) * Complex.I * (inner ω t))) MeasureTheory.volume) (h_bound : ∀ᵐ (t : ), zs, realHermiteGenerating (t + 1 / 2 * x) u * ((2 * ↑(t - 1 / 2 * x) - z) * realHermiteGenerating (t - 1 / 2 * x) z) * Complex.exp (-(2 * Real.pi) * Complex.I * (inner ω t)) bound t) (bound_integrable : MeasureTheory.Integrable bound MeasureTheory.volume) :
        HasDerivAt (fun (z : ) => (t : ), realHermiteGenerating (t + 1 / 2 * x) u * realHermiteGenerating (t - 1 / 2 * x) z * Complex.exp (-(2 * Real.pi) * Complex.I * (inner ω t))) ( (t : ), realHermiteGenerating (t + 1 / 2 * x) u * ((2 * ↑(t - 1 / 2 * x) - w0) * realHermiteGenerating (t - 1 / 2 * x) w0) * Complex.exp (-(2 * Real.pi) * Complex.I * (inner ω t))) w0
        theorem DimdPolyLEAN.hasDerivAt_integral_shifted_generating_mul_modulated_right_closed (u w0 : ) (x ω : ) :
        HasDerivAt (fun (w : ) => (t : ), realHermiteGenerating (t + x / 2) u * realHermiteGenerating (t - x / 2) w * Complex.exp (-(2 * Real.pi) * Complex.I * (ω * t))) ((u - star ((x - 2 * Real.pi * Complex.I * ω) / 2)) * Complex.exp (u * w0 + (x - 2 * Real.pi * Complex.I * ω) / 2 * u - star ((x - 2 * Real.pi * Complex.I * ω) / 2) * w0) * (Real.exp (-((x ^ 2 + (2 * Real.pi) ^ 2 * ω ^ 2) / 4)))) w0
        theorem DimdPolyLEAN.hasDerivAt_integral_shifted_generating_mul_modulated_left_closed (u0 w : ) (x ω : ) :
        HasDerivAt (fun (u : ) => (t : ), realHermiteGenerating (t + x / 2) u * realHermiteGenerating (t - x / 2) w * Complex.exp (-(2 * Real.pi) * Complex.I * (ω * t))) ((w + (x - 2 * Real.pi * Complex.I * ω) / 2) * Complex.exp (u0 * w + (x - 2 * Real.pi * Complex.I * ω) / 2 * u0 - star ((x - 2 * Real.pi * Complex.I * ω) / 2) * w) * (Real.exp (-((x ^ 2 + (2 * Real.pi) ^ 2 * ω ^ 2) / 4)))) u0
        theorem DimdPolyLEAN.iteratedDeriv_pow_at_zero (m n : ) :
        iteratedDeriv m (fun (w : ) => w ^ n) 0 = if m = n then n.factorial else 0
        noncomputable def DimdPolyLEAN.realHermite1D (n : ) (t : ) :

        realHermite1D: real Hermite1 D.

        Equations
        Instances For
          noncomputable def DimdPolyLEAN.complexMonomialGaussian (k : ) (t : ) :

          complexMonomialGaussian: complex monomial gaussian.

          Equations
          Instances For
            theorem DimdPolyLEAN.integral_real_pow_exp_neg_sq_of_even {n : } (heven : Even n) :
            (x : ), x ^ n * Real.exp (-x ^ 2) = Real.Gamma ((n + 1) / 2)
            theorem DimdPolyLEAN.complex_monomial_gaussian_finite_bilinear_integral_eq_ite (s t : Finset ) (a b : ) :
            (x : ), ks, lt, a k * b l * (complexMonomialGaussian k x * complexMonomialGaussian l x) = ks, lt, a k * b l * if Even (k + l) then (Real.Gamma ((↑(k + l) + 1) / 2)) else 0
            theorem DimdPolyLEAN.complex_monomial_gaussian_finite_bilinear_integral_eq_zero_of_odd (s t : Finset ) (a b : ) (hodd : ks, lt, Odd (k + l)) :
            (x : ), ks, lt, a k * b l * (complexMonomialGaussian k x * complexMonomialGaussian l x) = 0
            theorem DimdPolyLEAN.complex_monomial_gaussian_finite_bilinear_integral_eq_even_moments (s t : Finset ) (a b : ) (heven : ks, lt, Even (k + l)) :
            (x : ), ks, lt, a k * b l * (complexMonomialGaussian k x * complexMonomialGaussian l x) = ks, lt, a k * b l * (Real.Gamma ((↑(k + l) + 1) / 2))
            theorem DimdPolyLEAN.realHermiteGenerating_iteratedDeriv_zero_expansion (n : ) (t : ) :
            iteratedDeriv n (realHermiteGenerating t) 0 = kFinset.range (n + 1), ↑(Real.pi ^ (-(1 / 4))) * ((n.choose k) * 2 ^ k * iteratedDeriv (n - k) (fun (u : ) => Complex.exp (-u ^ 2 / 2)) 0) * (t ^ k * Complex.exp (-(t ^ 2 / 2)))

            realHermiteGeneratingExpansionCoeff: real Hermite Generating Expansion Coeff.

            Equations
            Instances For
              theorem DimdPolyLEAN.realHermiteGeneratingExpansionCoeff_eq_of_even_sub {n k : } (heven : Even (n - k)) :
              realHermiteGeneratingExpansionCoeff n k = ↑(Real.pi ^ (-(1 / 4))) * ((n.choose k) * 2 ^ k * ((-1) ^ ((n - k) / 2) * (n - k - 1).doubleFactorial))
              theorem DimdPolyLEAN.realHermiteGeneratingExpansionCoeff_eq_even_add_closed {n k : } (hk : k n) (heven : Even (n + k)) :
              realHermiteGeneratingExpansionCoeff n k = ↑(Real.pi ^ (-(1 / 4))) * ((n.choose k) * 2 ^ k * ((-1) ^ ((n - k) / 2) * (n - k - 1).doubleFactorial))

              standardGaussianMoment: standard Gaussian Moment.

              Equations
              Instances For
                noncomputable def DimdPolyLEAN.realHermiteTensorRep {d : } (alpha : Idx d) :
                RealVec d

                realHermiteTensorRep: real Hermite Tensor Rep.

                Equations
                Instances For
                  noncomputable def DimdPolyLEAN.varphiKappa {d : } (kappa : MultiIndex d) :
                  (L2Real d)

                  varphiKappa: varphi Kappa.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    noncomputable def DimdPolyLEAN.realHermiteTensorL2 {d : } (alpha : Idx d) :
                    (L2Real d)

                    realHermiteTensorL2: real Hermite Tensor L2.

                    Equations
                    Instances For
                      noncomputable def DimdPolyLEAN.bKappaSeriesRep {d : } (kappa : MultiIndex d) (U : Skappa d kappa) :
                      RealVec d

                      bKappaSeriesRep: b Kappa Series Rep.

                      Equations
                      Instances For
                        noncomputable def DimdPolyLEAN.bKappa {d : } (kappa : MultiIndex d) (U : Skappa d kappa) :
                        (L2Real d)

                        bKappa: b Kappa.

                        Equations
                        Instances For
                          noncomputable def DimdPolyLEAN.bKappaRep {d : } (kappa : MultiIndex d) (U : Skappa d kappa) :
                          RealVec d

                          bKappaRep: b Kappa Rep.

                          Equations
                          Instances For
                            theorem DimdPolyLEAN.bKappa_smul {d : } (kappa : MultiIndex d) (w : ) (U : Skappa d kappa) :
                            bKappa kappa (w U) = w bKappa kappa U
                            theorem DimdPolyLEAN.realHermiteTensorL2_orthonormal_of_memLp_integral {d : } (hmem : ∀ (alpha : Idx d), MeasureTheory.MemLp (realHermiteTensorRep alpha) 2 MeasureTheory.volume) (hinner : ∀ (alpha beta : Idx d), (x : RealVec d), realHermiteTensorRep beta x * star (realHermiteTensorRep alpha x) = if alpha = beta then 1 else 0) :
                            Orthonormal fun (alpha : Idx d) => realHermiteTensorL2 alpha
                            theorem DimdPolyLEAN.realHermiteTensorRep_inner_of_realHermite1D_inner {d : } (alpha beta : Idx d) (hinner1 : ∀ (n m : ), (t : ), realHermite1D m t * star (realHermite1D n t) = if n = m then 1 else 0) :
                            (x : RealVec d), realHermiteTensorRep beta x * star (realHermiteTensorRep alpha x) = if alpha = beta then 1 else 0
                            theorem DimdPolyLEAN.summable_realHermiteTensorL2_coeff_smul_of_orthonormal {d : } (kappa : MultiIndex d) (horth : Orthonormal fun (alpha : Idx d) => realHermiteTensorL2 alpha) (U : Skappa d kappa) :
                            Summable fun (alpha : Idx d) => coeffSkappa U alpha realHermiteTensorL2 alpha
                            theorem DimdPolyLEAN.bKappa_coeff_recovery_of_realHermite_orthonormal {d : } (kappa : MultiIndex d) (horth : Orthonormal fun (alpha : Idx d) => realHermiteTensorL2 alpha) (U : Skappa d kappa) (beta : Idx d) :
                            theorem DimdPolyLEAN.bKappa_injective_of_realHermite_coeff_recovery {d : } (kappa : MultiIndex d) (hcoeff : ∀ (U : Skappa d kappa) (alpha : Idx d), coeffSkappa U alpha = inner (realHermiteTensorL2 alpha) (bKappa kappa U)) :
                            theorem DimdPolyLEAN.bKappaRep_isL2Rep {d : } (kappa : MultiIndex d) (U : Skappa d kappa) :
                            IsL2Rep (bKappa kappa U) (bKappaRep kappa U)
                            noncomputable def DimdPolyLEAN.TKappa {d : } :
                            PhaseSpace dCd d

                            TKappa: T Kappa.

                            Equations
                            Instances For
                              noncomputable def DimdPolyLEAN.QKappa {d : } :

                              QKappa: Q Kappa.

                              Equations
                              Instances For
                                noncomputable def DimdPolyLEAN.WKappa {d : } :

                                WKappa: W Kappa.

                                Equations
                                Instances For
                                  theorem DimdPolyLEAN.WKappa_pos {d : } (ξ : PhaseSpace d) :
                                  0 < WKappa ξ
                                  noncomputable def DimdPolyLEAN.phaseSpacePolyEval {d : } (ξ : PhaseSpace d) :
                                  Fin d Fin d

                                  phaseSpacePolyEval: phase Space Poly Eval.

                                  Equations
                                  Instances For
                                    noncomputable def DimdPolyLEAN.PKappa {d : } (kappa : MultiIndex d) :

                                    PKappa: P Kappa.

                                    Equations
                                    Instances For
                                      theorem DimdPolyLEAN.stft_model_modulus {d : } (hd : 0 < d) (kappa : MultiIndex d) (U : Skappa d kappa) (ξ : PhaseSpace d) :
                                      stftRep (varphiKappa kappa) (bKappa kappa U) ξ = WKappa ξ * toFun kappa U (TKappa ξ)
                                      theorem DimdPolyLEAN.windowAmbiguity_factorization {d : } (hd : 0 < d) (kappa : MultiIndex d) (ξ : PhaseSpace d) :
                                      ambiguityRep (varphiKappa kappa) (varphiKappa kappa) ξ = PKappa kappa ξ * (Real.exp (-QKappa ξ))
                                      theorem DimdPolyLEAN.windowAmbiguity_polynomial_nonzero {d : } (hd : 0 < d) (kappa : MultiIndex d) :
                                      PKappa kappa 0
                                      theorem DimdPolyLEAN.spectrogram_eq_of_equal_modulus_to_ambiguity_eq {d : } (hd : 0 < d) (kappa : MultiIndex d) {f g : (L2Real d)} (hmod : ∀ (ξ : PhaseSpace d), stftRep (varphiKappa kappa) f ξ = stftRep (varphiKappa kappa) g ξ) (ξ : PhaseSpace d) :
                                      theorem DimdPolyLEAN.equalAmbiguity_to_rankOneKernel_ae {d : } {f g : (L2Real d)} {fRep gRep : RealVec d} (hf_rep : IsL2Rep f fRep) (hg_rep : IsL2Rep g gRep) (hAmb : ∀ (ξ : PhaseSpace d), ambiguityRep f f ξ = ambiguityRep g g ξ) :
                                      (fun (p : RealVec d × RealVec d) => fRep p.1 * star (fRep p.2)) =ᵐ[MeasureTheory.volume] fun (p : RealVec d × RealVec d) => gRep p.1 * star (gRep p.2)
                                      theorem DimdPolyLEAN.rankOneKernel_ae_to_unimodular_phase {d : } {f g : (L2Real d)} {fRep gRep : RealVec d} (hf_rep : IsL2Rep f fRep) (hg_rep : IsL2Rep g gRep) (hkernel : (fun (p : RealVec d × RealVec d) => fRep p.1 * star (fRep p.2)) =ᵐ[MeasureTheory.volume] fun (p : RealVec d × RealVec d) => gRep p.1 * star (gRep p.2)) :
                                      f = 0 g = 0 ∃ (w : ), w = 1 g = w f
                                      theorem DimdPolyLEAN.rankOneRecoveryFromAmbiguity {d : } {f g : (L2Real d)} {fRep gRep : RealVec d} (hf_rep : IsL2Rep f fRep) (hg_rep : IsL2Rep g gRep) (hAmb : ∀ (ξ : PhaseSpace d), ambiguityRep f f ξ = ambiguityRep g g ξ) :
                                      f = 0 g = 0 ∃ (w : ), w = 1 g = w f
                                      theorem DimdPolyLEAN.lift_unimodular_phase_L2_to_Skappa {d : } (hd : 0 < d) (kappa : MultiIndex d) {U V : Skappa d kappa} {w : } (hL2 : bKappa kappa V = w bKappa kappa U) :
                                      V = w U
                                      theorem DimdPolyLEAN.ae_modulus_to_pointwise_modulus {d : } (hd : 0 < d) (kappa : MultiIndex d) {U V : Skappa d kappa} (hmod : (fun (z : Cd d) => toFun kappa U z) =ᵐ[gammaD d] fun (z : Cd d) => toFun kappa V z) (z : Cd d) :
                                      toFun kappa U z = toFun kappa V z
                                      theorem DimdPolyLEAN.ae_modulus_to_stft_modulus {d : } (hd : 0 < d) (kappa : MultiIndex d) {U V : Skappa d kappa} (hmod : (fun (z : Cd d) => toFun kappa U z) =ᵐ[gammaD d] fun (z : Cd d) => toFun kappa V z) (ξ : PhaseSpace d) :
                                      stftRep (varphiKappa kappa) (bKappa kappa U) ξ = stftRep (varphiKappa kappa) (bKappa kappa V) ξ
                                      theorem DimdPolyLEAN.ae_modulus_to_ambiguity_eq {d : } (hd : 0 < d) (kappa : MultiIndex d) {U V : Skappa d kappa} (hmod : (fun (z : Cd d) => toFun kappa U z) =ᵐ[gammaD d] fun (z : Cd d) => toFun kappa V z) (ξ : PhaseSpace d) :
                                      ambiguityRep (bKappa kappa U) (bKappa kappa U) ξ = ambiguityRep (bKappa kappa V) (bKappa kappa V) ξ
                                      theorem DimdPolyLEAN.ambiguity_eq_to_skappa_phase {d : } (hd : 0 < d) (kappa : MultiIndex d) {U V : Skappa d kappa} (hAmb : ∀ (ξ : PhaseSpace d), ambiguityRep (bKappa kappa U) (bKappa kappa U) ξ = ambiguityRep (bKappa kappa V) (bKappa kappa V) ξ) :
                                      ∃ (w : ), w = 1 V = w U
                                      theorem DimdPolyLEAN.exact_modulus_recovery_skappa_ae {d : } (hd : 0 < d) (kappa : MultiIndex d) {U V : Skappa d kappa} (hmod : (fun (z : Cd d) => toFun kappa U z) =ᵐ[gammaD d] fun (z : Cd d) => toFun kappa V z) :
                                      ∃ (w : ), w = 1 V = w U
                                      theorem DimdPolyLEAN.exact_modulus_recovery_skappa {d : } (hd : 0 < d) (kappa : MultiIndex d) {U V : Skappa d kappa} (hmod : ∀ (z : Cd d), toFun kappa U z = toFun kappa V z) :
                                      ∃ (w : ), w = 1 V = w U
                                      theorem DimdPolyLEAN.exact_modulus_recovery_pkappa {d : } (hd : 0 < d) (kappa : MultiIndex d) {U V : Pkappa d kappa} (hmod : ∀ (z : Cd d), evalPkappa kappa U z = evalPkappa kappa V z) :
                                      ∃ (w : ), w = 1 V = w U