Documentation

Frourio.Geometry.MultiScaleDiff

Multi-Scale Difference Operator for Meta-Variational Principle #

This file defines the m-point multi-scale difference operator Δ^{⟨m⟩} and spectral symbols for the meta-variational principle framework.

Main definitions #

Implementation notes #

We use PNat for m to ensure m ≥ 1 at the type level, and separate positive reals for scale parameters τ to maintain mathematical validity.

Configuration for m-point multi-scale parameters. Contains weights α and scales τ with the constraint that weights sum to zero.

  • α : Fin m

    Weights for each scale, must sum to zero

  • τ : Fin m

    Time scales, must be positive

  • hτ_pos (i : Fin m) : 0 < self.τ i

    Positivity constraint for scales

  • hα_sum : i : Fin m, self.α i = 0

    Zero-sum constraint for weights

  • hα_bound (i : Fin m) : |self.α i| 1

    Weights are bounded (for technical reasons)

Instances For
    structure Frourio.HeatSemigroup (X : Type u_1) :
    Type u_1

    Abstract heat semigroup structure for multi-scale analysis

    • H : (X)X

      The semigroup operator H_t

    • isSemigroup (s t : ) (φ : X) : self.H s (self.H t φ) = self.H (s + t) φ

      Semigroup property: H_s ∘ H_t = H_{s+t}

    • isIdentity (φ : X) : self.H 0 φ = φ

      Identity at t=0: H_0 = I

    • linear_in_function (t a b : ) (φ ψ : X) : (self.H t fun (x : X) => a * φ x + b * ψ x) = fun (x : X) => a * self.H t φ x + b * self.H t ψ x

      Linearity in function argument

    • preserves_constants (t c : ) : (self.H t fun (x : X) => c) = fun (x : X) => c

      Preserves constant functions

    • measurable_in_function (t : ) (φ : X) [MeasurableSpace X] : Measurable φMeasurable fun (x : X) => self.H t φ x

      Measurability preservation: under any measurable structure on X, if φ is measurable then so is H_t φ. We quantify the instance explicitly to avoid requiring [MeasurableSpace X] at the structure level.

    • l2_continuous (t : ) (φ : X) [MeasurableSpace X] (μ : MeasureTheory.Measure X) : MeasureTheory.MemLp φ 2 μMeasureTheory.MemLp (fun (x : X) => self.H t φ x) 2 μ

      L² continuity: H_t preserves L² functions

    • l2_contractive (t : ) (φ : X) [MeasurableSpace X] (μ : MeasureTheory.Measure X) : 0 tMeasureTheory.MemLp φ 2 μMeasureTheory.MemLp (fun (x : X) => self.H t φ x) 2 μ

      L² contractivity: H_t is a contraction on L²

    Instances For
      noncomputable def Frourio.multiScaleDiff {X : Type u_1} {m : ℕ+} (H : HeatSemigroup X) (cfg : MultiScaleConfig m) (φ : X) :
      X

      The m-point multi-scale difference operator Δ^{⟨m⟩}{α,τ}. Definition: Δ^{⟨m⟩} φ := ∑ α_i H{τ_i} φ - (∑ α_i)I φ. Since ∑ α_i = 0 (zero-sum constraint), the second term vanishes, giving us Δ^{⟨m⟩} φ = ∑ α_i H_{τ_i} φ

      Equations
      Instances For
        theorem Frourio.multiScaleDiff_linear {X : Type u_1} {m : ℕ+} (H : HeatSemigroup X) (cfg : MultiScaleConfig m) (a b : ) (φ ψ : X) :
        (multiScaleDiff H cfg fun (x : X) => a * φ x + b * ψ x) = fun (x : X) => a * multiScaleDiff H cfg φ x + b * multiScaleDiff H cfg ψ x

        Basic linearity property of the multi-scale difference operator

        theorem Frourio.multiScaleDiff_const_zero {X : Type u_1} {m : ℕ+} (H : HeatSemigroup X) (cfg : MultiScaleConfig m) (c : ) :
        (multiScaleDiff H cfg fun (x : X) => c) = fun (x : X) => 0

        Constants are annihilated by the multi-scale difference operator

        theorem Frourio.multiScaleDiff_zero {X : Type u_1} {m : ℕ+} (H : HeatSemigroup X) (cfg : MultiScaleConfig m) :
        (multiScaleDiff H cfg fun (x : X) => 0) = fun (x : X) => 0

        The zero function is mapped to zero by the multi-scale difference operator

        theorem Frourio.heatSemigroup_measurable {X : Type u_1} [MeasurableSpace X] (H : HeatSemigroup X) (t : ) (φ : X) ( : Measurable φ) :
        Measurable fun (x : X) => H.H t φ x

        HeatSemigroup preserves measurability

        theorem Frourio.heatSemigroup_l2_preserves {X : Type u_1} [MeasurableSpace X] (H : HeatSemigroup X) (t : ) (μ : MeasureTheory.Measure X) (φ : X) ( : MeasureTheory.MemLp φ 2 μ) :
        MeasureTheory.MemLp (fun (x : X) => H.H t φ x) 2 μ

        HeatSemigroup preserves L² functions

        theorem Frourio.heatSemigroup_l2_contraction {X : Type u_1} [MeasurableSpace X] (H : HeatSemigroup X) (t : ) (ht : 0 t) (μ : MeasureTheory.Measure X) (φ : X) ( : MeasureTheory.MemLp φ 2 μ) :
        MeasureTheory.MemLp (fun (x : X) => H.H t φ x) 2 μ

        HeatSemigroup is L² contractive for non-negative time

        theorem Frourio.multiScaleDiff_measurable {X : Type u_1} [MeasurableSpace X] {m : ℕ+} (H : HeatSemigroup X) (cfg : MultiScaleConfig m) (φ : X) ( : Measurable φ) :

        Measurability property for multiScaleDiff

        Integrability property for multiScaleDiff squared

        noncomputable def Frourio.spectralSymbol {m : ℕ+} (cfg : MultiScaleConfig m) (lam : ) :

        The spectral symbol ψ_m(λ) = ∑ α_i (exp(-τ_i λ) - 1) for λ ≥ 0

        Equations
        Instances For

          The spectral symbol at λ = 0 vanishes

          theorem Frourio.spectralSymbol_basic_bound {m : ℕ+} (cfg : MultiScaleConfig m) (lam : ) (hlam : 0 lam) :
          |spectralSymbol cfg lam| i : Fin m, |cfg.α i|

          Basic bound: |ψ_m(λ)| ≤ ∑|α_i| for all λ ≥ 0

          theorem Frourio.exp_diff_le_of_nonpos {a b : } (ha : a 0) (hb : b 0) :

          Refined bound for exponential differences when arguments are non-positive

          theorem Frourio.spectralSymbol_lipschitz {m : ℕ+} (cfg : MultiScaleConfig m) :
          ∃ (L : ), 0 L ∀ (lam₁ lam₂ : ), 0 lam₁0 lam₂|spectralSymbol cfg lam₁ - spectralSymbol cfg lam₂| L * |lam₁ - lam₂|

          The spectral symbol is Lipschitz continuous in λ

          theorem Frourio.spectralSymbol_monotone_decreasing {m : ℕ+} (cfg : MultiScaleConfig m) (hα_nonneg : ∀ (i : Fin m), 0 cfg.α i) (lam₁ lam₂ : ) :
          0 lam₁lam₁ lam₂spectralSymbol cfg lam₂ spectralSymbol cfg lam₁

          Monotonicity: ψ_m(λ) is decreasing for λ ≥ 0 when all α_i ≥ 0

          structure Frourio.SpectralBound {X : Type u_1} {m : ℕ+} (H : HeatSemigroup X) (cfg : MultiScaleConfig m) :

          Flags for spectral bounds and Bochner-type inequalities. These are assumptions at this stage, to be proved later.

          • norm_bound :

            Uniform bound on the spectral symbol

          • norm_bound_nonneg : 0 self.norm_bound

            The bound is non-negative

          • spectral_uniform_bound (lam : ) : 0 lam|spectralSymbol cfg lam| self.norm_bound

            The spectral symbol is uniformly bounded

          • bochner_inequality : Prop

            Bochner-type inequality relating L² norm to energy (Γ operator)

          Instances For
            noncomputable def Frourio.spectralSymbolSupNorm {m : ℕ+} (cfg : MultiScaleConfig m) :

            The sup-norm of the spectral symbol. Defined abstractly.

            Equations
            Instances For

              The sup-norm is bounded by ∑|α_i|

              Explicit constant tracking: spectral symbol Lipschitz constant

              Equations
              Instances For

                The Lipschitz constant is non-negative

                theorem Frourio.spectralSymbol_lipschitz_constant_eq {m : ℕ+} (cfg : MultiScaleConfig m) :
                ∃ (L : ), L = spectralSymbolLipschitzConstant cfg ∀ (lam₁ lam₂ : ), 0 lam₁0 lam₂|spectralSymbol cfg lam₁ - spectralSymbol cfg lam₂| L * |lam₁ - lam₂|
                theorem Frourio.spectralSymbolSupNorm_explicit_bound {m : ℕ+} (cfg : MultiScaleConfig m) (C : ) (hC : ∀ (i : Fin m), |cfg.α i| C) :

                Explicit bound when all coefficients satisfy |α_i| ≤ C

                Optimal bound: When cfg.hα_bound gives |α_i| ≤ 1, the sup-norm is at most m

                The spectral symbol achieves its sup-norm at λ = 0 when all α_i have the same sign

                Precise constant for the derivative bound of spectral symbol

                Equations
                Instances For
                  theorem Frourio.spectralSymbol_derivative_bound {m : ℕ+} (cfg : MultiScaleConfig m) (lam : ) (hlam : 0 lam) (hderiv : deriv (spectralSymbol cfg) lam = i : Fin m, -cfg.α i * cfg.τ i * Real.exp (-cfg.τ i * lam)) :

                  The derivative of spectral symbol at any point is bounded

                  Precise tracking of the constant C(ℰ) in FG★ inequality

                  Instances For

                    Construction of FG★ constants with explicit values

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For

                      Refined bound with optimal constant tracking

                      Instances For

                        Auxiliary hypothesis: the spectral symbol is bounded. This would follow from detailed Fourier analysis.

                        Equations
                        Instances For
                          theorem Frourio.le_spectralSymbolSupNorm {m : ℕ+} (cfg : MultiScaleConfig m) (lam : ) (hlam : 0 lam) :

                          Under the hypothesis that the spectral symbol is bounded, it is bounded by the sup-norm.

                          Alternative formulation: explicit sup-norm bound flag

                          Instances For
                            structure Frourio.SpectralPenalty {X : Type u_1} [MeasurableSpace X] {m : ℕ+} (H : HeatSemigroup X) (cfg : MultiScaleConfig m) :

                            Spectral penalty evaluation for the multi-scale difference operator. This encodes the key estimate: ∫|Δ^{⟨m⟩} φ|² dμ ≤ C(ℰ)‖ψ_m‖_∞² ∫Γ(φ,φ) dμ

                            • C_dirichlet :

                              The constant C(ℰ) depending on the Dirichlet form

                            • C_nonneg : 0 self.C_dirichlet

                              Non-negativity of the constant

                            Instances For