Documentation

Frourio.Analysis.FrourioFunctional

Functional layer (PLFA/EDE/EVI/JKO bridge skeleton)

This module introduces a lightweight functional container and constants to connect the FG8 framework with the existing analysis layer. The goal is to keep the API proof-light while exposing the key quantities and inequalities used later: the base entropy Ent, the Mellin-side term Dsigmam, a coupling parameter gamma, and the Doob corrected parameter lambdaBE = λ - 2 ε. We also provide a parameterized lower-bound predicate for the effective contraction rate.

Core functional container.

  • Ent : X
  • Dsigmam : X
  • gamma :
Instances For
    noncomputable def Frourio.FrourioFunctional.F {X : Type u_1} [PseudoMetricSpace X] (A : FrourioFunctional X) :
    X

    Combined functional F(x) = Ent x + gamma * Dsigmam x.

    Equations
    Instances For
      noncomputable def Frourio.FrourioFunctional.ofK {X : Type u_1} [PseudoMetricSpace X] (Ent : X) (K : KTransform X) (gamma Ssup : ) :

      Build a FrourioFunctional from an entropy Ent, a K-transform K, and a parameter gamma, using the DsigmamFromK interface with a supplied sup-norm proxy Ssup.

      Equations
      Instances For

        Narrow-continuity surrogate: we require a uniform lower bound for Dsigmam (coercivity proxy).

        Equations
        Instances For

          Geodesic-affinity surrogate: we assume nonnegativity of the coupling parameter gamma. This encodes that the extra term does not invert convexity trends.

          Equations
          Instances For
            theorem Frourio.k1prime_ofK_from_uniform_lower_bound {X : Type u_1} [PseudoMetricSpace X] (Ent : X) (K : KTransform X) (gamma Ssup C0 : ) (hS : 0 Ssup) (hLB : UniformLowerBoundAtZero K C0) :
            K1prime (FrourioFunctional.ofK Ent K gamma Ssup)

            If the K-transform has a uniform lower bound at s = 0 by -C0 and the scale Ssup is nonnegative, then the derived Dσm(x) = Ssup · K.map x 0 is bounded below by -(Ssup · C0). Hence the K1′ surrogate holds for the functional built from K.

            theorem Frourio.F_lower_bound_of_ofK {X : Type u_1} [PseudoMetricSpace X] (Ent : X) (K : KTransform X) (gamma Ssup C0 : ) ( : 0 gamma) (hS : 0 Ssup) (hLB : UniformLowerBoundAtZero K C0) (x : X) :
            (FrourioFunctional.ofK Ent K gamma Ssup).F x Ent x - gamma * (Ssup * C0)

            Numeric lower bound for F = Ent + γ · Dσm built from a KTransform with uniform kernel lower bound at s = 0. If γ ≥ 0 and Ssup ≥ 0, then

            F(x) ≥ Ent(x) - γ · (Ssup · C0).

            This inequality is used as a coercivity proxy downstream.

            theorem Frourio.ofK_coercive_from_bounds {X : Type u_1} [PseudoMetricSpace X] (Ent : X) (K : KTransform X) (gamma Ssup : ) :
            Coercive (FrourioFunctional.ofK Ent K gamma Ssup).F
            theorem Frourio.ofK_coercive_from_k1prime {X : Type u_1} [PseudoMetricSpace X] (Ent : X) (K : KTransform X) (gamma Ssup : ) :
            Coercive (FrourioFunctional.ofK Ent K gamma Ssup).F

            If K1prime holds for the functional built from K, and Ent has a uniform lower bound, then the combined functional F is Coercive.

            theorem Frourio.ofK_lower_semicontinuous_from_k1prime {X : Type u_1} [PseudoMetricSpace X] (Ent : X) (K : KTransform X) (gamma Ssup : ) :

            If the functional built from K satisfies K1prime, then it is LowerSemicontinuous (in the surrogate sense).

            theorem Frourio.ofK_proper {X : Type u_1} [PseudoMetricSpace X] (Ent : X) (K : KTransform X) (gamma Ssup : ) :
            Proper (FrourioFunctional.ofK Ent K gamma Ssup).F

            The functional built from K satisfies the Proper predicate (surrogate).

            theorem Frourio.ofK_halfconvex {X : Type u_1} [PseudoMetricSpace X] (Ent : X) (K : KTransform X) (gamma Ssup lamEff : ) :
            HalfConvex (FrourioFunctional.ofK Ent K gamma Ssup).F lamEff

            The functional built from K satisfies HalfConvex (surrogate).

            theorem Frourio.ofK_strong_upper_bound {X : Type u_1} [PseudoMetricSpace X] (Ent : X) (K : KTransform X) (gamma Ssup : ) :

            The functional built from K satisfies StrongUpperBound (surrogate).

            theorem Frourio.k4m_ofK_from_gamma_nonneg {X : Type u_1} [PseudoMetricSpace X] (Ent : X) (K : KTransform X) (gamma Ssup : ) ( : 0 gamma) :
            K4m (FrourioFunctional.ofK Ent K gamma Ssup)

            If gamma ≥ 0, then K4^m holds for the functional built from K.

            theorem Frourio.ofK_jko_stable {X : Type u_1} [PseudoMetricSpace X] (Ent : X) (K : KTransform X) (gamma Ssup : ) :
            JKOStable (FrourioFunctional.ofK Ent K gamma Ssup).F

            The functional built from K satisfies JKOStable (surrogate). For any initial point, there exists a curve (the constant curve) along which F is non-increasing.

            JKO stability for general FrourioFunctional. This provides the JKO property for any FrourioFunctional, showing that from any initial point, there exists a (constant) curve along which F is non-increasing.

            def Frourio.constructJKOCurve {X : Type u_1} [PseudoMetricSpace X] (ρ0 : X) :
            X

            JKO property with explicit curve construction. Given an initial point, construct a JKO curve (constant curve in the surrogate case).

            Equations
            Instances For

              The constructed JKO curve satisfies the JKO property.

              theorem Frourio.k4m_scale {X : Type u_1} [PseudoMetricSpace X] (A : FrourioFunctional X) (c : ) (hc : 0 c) (hK4 : K4m A) :
              K4m { Ent := A.Ent, Dsigmam := A.Dsigmam, gamma := c * A.gamma }

              K4^m is preserved under scaling of gamma by a nonnegative factor.

              theorem Frourio.controlled_functional_from_k1_k4 {X : Type u_1} [PseudoMetricSpace X] (A : FrourioFunctional X) (hK1 : K1prime A) (hK4 : K4m A) :
              (∃ (C : ), ∀ (x : X), A.Dsigmam x -C) 0 A.gamma

              If both K1′ and K4^m hold, the functional has controlled behavior.

              Budget constants entering the effective-rate bound.

              Instances For
                def Frourio.lambdaEffLowerBound {X : Type u_1} [PseudoMetricSpace X] (A : FrourioFunctional X) (budget : ConstantBudget) (lam eps lamEff Ssup XiNorm : ) :

                Lower bound predicate for the effective contraction rate λ_eff. Parameters Ssup and XiNorm act as proxies for ‖S_m‖_∞ and ‖Ξ_m‖.

                λ_eff ≥ (λ - 2 ε) - γ · (cStar · Ssup^2 + cD · XiNorm)

                Equations
                Instances For
                  theorem Frourio.lambdaEffLowerBound_thm {X : Type u_1} [PseudoMetricSpace X] (A : FrourioFunctional X) (budget : ConstantBudget) {lam eps lamEff Ssup XiNorm : } (h : lamEff lambdaBE lam eps - A.gamma * (budget.cStar * Ssup ^ 2 + budget.cD * XiNorm)) :
                  lambdaEffLowerBound A budget lam eps lamEff Ssup XiNorm

                  Theoremized form: wrap a provided inequality as the lambdaEffLowerBound fact.

                  theorem Frourio.lambdaEffLowerBound_mono {X : Type u_1} [PseudoMetricSpace X] (A : FrourioFunctional X) (budget : ConstantBudget) {lam eps lamEff lamEff' Ssup XiNorm : } (hle : lamEff lamEff') (h : lambdaEffLowerBound A budget lam eps lamEff Ssup XiNorm) :
                  lambdaEffLowerBound A budget lam eps lamEff' Ssup XiNorm

                  Monotonicity in lamEff: if a witness lamEff satisfies the inequality, then any lamEff' ≥ lamEff also satisfies it.

                  Equations
                  Instances For
                    Equations
                    Instances For

                      Parametric StrongUpperBound for Dσm's Zero-Order Contribution #

                      This section provides the parametric strong upper bound for the zero-order contribution of Dσm, controlled by the budget constants.

                      theorem Frourio.DsigmamFromK_upper_bound {X : Type u_1} [PseudoMetricSpace X] (K : KTransform X) (Ssup C0 : ) (hS : 0 Ssup) (hUB : ∀ (x : X), K.map x 0 C0) (x : X) :
                      DsigmamFromK K Ssup x Ssup * C0

                      Upper bound for Dσm based on kernel evaluation at s=0.

                      Zero-order contribution bound for Dσm in the functional F = Ent + γ·Dσm.

                      Equations
                      Instances For
                        theorem Frourio.ofK_strong_upper_bound_parametric {X : Type u_1} [PseudoMetricSpace X] (Ent : X) (K : KTransform X) (gamma Ssup CEnt C0 : ) ( : 0 gamma) (hS : 0 Ssup) (hC0 : 0 C0) (hCEnt : 0 CEnt) (hEntUB : ∀ (x : X), Ent x CEnt) (hKUB : ∀ (x : X), K.map x 0 C0) :
                        ∃ (c : ), 0 c ∀ (x : X), (FrourioFunctional.ofK Ent K gamma Ssup).F x c

                        The functional F = Ent + γ·Dσm satisfies parametric StrongUpperBound when Ent is bounded above and Dσm has zero-order bound.

                        theorem Frourio.strongUpperBound_from_budget {X : Type u_1} [PseudoMetricSpace X] (A : FrourioFunctional X) ( : 0 A.gamma) (hEnt : ∃ (CEnt : ), 0 CEnt ∀ (x : X), A.Ent x CEnt) (hDsigma : ∃ (CDsigma : ), 0 CDsigma ∀ (x : X), A.Dsigmam x CDsigma) :

                        Budget-aware StrongUpperBound: Connect budget constants to the upper bound.

                        theorem Frourio.strongUpperBound_from_kernel_and_budget {X : Type u_1} [PseudoMetricSpace X] (Ent : X) (K : KTransform X) (gamma Ssup CEnt C0 : ) ( : 0 gamma) (hS : 0 Ssup) (hCEnt : 0 CEnt) (hC0 : 0 C0) (hEntUB : ∀ (x : X), Ent x CEnt) (hKUB : ∀ (x : X), K.map x 0 C0) :

                        Integration: StrongUpperBound from kernel bound and budget parameters.

                        theorem Frourio.lambdaEffLowerBound_from_doobAssumptions_mpoint {X : Type u_1} [PseudoMetricSpace X] (A : FrourioFunctional X) (budget : ConstantBudget) (lam eps lamEff Ssup XiNorm : ) (hChoice : lamEff lambdaBE lam eps - A.gamma * (budget.cStar * Ssup ^ 2 + budget.cD * XiNorm)) :
                        lambdaEffLowerBound A budget lam eps lamEff Ssup XiNorm

                        Variant using the concrete Doob assumptions pack. This theorem connects DoobAssumptions to the λ_eff lower bound generation. The Doob transform provides λ_BE = λ - 2ε, and the m-point terms provide additional corrections.

                        theorem Frourio.lambdaEff_formula_from_doob {X : Type u_1} [PseudoMetricSpace X] (A : FrourioFunctional X) (budget : ConstantBudget) (lam eps Ssup XiNorm : ) :
                        ∃ (lamEff : ), lambdaEffLowerBound A budget lam eps lamEff Ssup XiNorm lamEff = lambdaBE lam eps - A.gamma * (budget.cStar * Ssup ^ 2 + budget.cD * XiNorm)

                        API: Direct connection from DoobAssumptions to the effective rate formula. Given DoobAssumptions with parameter ε, we get λ_eff ≥ (λ - 2ε) - γ·(m-point terms).

                        theorem Frourio.lambdaEffLowerBound_construct_from_doobAssumptions_mpoint {X : Type u_1} [PseudoMetricSpace X] (A : FrourioFunctional X) (budget : ConstantBudget) (lam eps Ssup XiNorm : ) :
                        ∃ (lamEff : ), lambdaEffLowerBound A budget lam eps lamEff Ssup XiNorm

                        Constructive variant using DoobAssumptions: produce an explicit lamEff witnessing the lower bound, given m-point zero-order bounds and budget nonnegativity. The Doob CD-shift is tracked via DoobAssumptions but not quantitatively used at this phase.

                        Main Lambda Effective Lower Bound with Doob Pack #

                        This section provides the main theorem for deriving the effective lambda lower bound from the Doob pack (λ - 2ε) and m-point 0-order term budget (c_*, c_D, Ssup, XiNorm).

                        theorem Frourio.lambdaEffLowerBound_from_doob_pack {X : Type u_1} [PseudoMetricSpace X] (A : FrourioFunctional X) (budget : ConstantBudget) (h : X) (D : Diffusion X) (doobPack : DoobQuantitative h D) (lam Ssup XiNorm : ) (hCD : HasCD D lam) :
                        ∃ (lamEff : ), lambdaEffLowerBound A budget lam doobPack.eps lamEff Ssup XiNorm lamEff = lambdaBE lam doobPack.eps - A.gamma * (budget.cStar * Ssup ^ 2 + budget.cD * XiNorm) HasCD (Doob h D) (lambdaBE lam doobPack.eps)

                        Main theorem: Derive λ_eff lower bound from Doob pack and m-point budget. Given a Doob transform with parameter ε and m-point zero-order bounds, we obtain: λ_eff ≥ (λ - 2ε) - γ·(c_* · Ssup² + c_D · XiNorm).

                        theorem Frourio.lambdaEffLowerBound_commutative {X : Type u_1} [PseudoMetricSpace X] (A : FrourioFunctional X) (budget : ConstantBudget) (h : X) (D : Diffusion X) (doobPack : DoobQuantitative h D) (lam Ssup XiNorm : ) (hCD : HasCD D lam) (hCommutative : budget.cStar = 0) :
                        ∃ (lamEff : ), lambdaEffLowerBound A budget lam doobPack.eps lamEff Ssup XiNorm lamEff = lambdaBE lam doobPack.eps - A.gamma * budget.cD * XiNorm

                        Special case for commutative designs: When c_* = 0, the formula simplifies. In commutative designs, the star term vanishes, giving: λ_eff ≥ (λ - 2ε) - γ·(c_D · XiNorm).

                        theorem Frourio.lambdaEffLowerBound_commutative_remark {X : Type u_1} [PseudoMetricSpace X] (A : FrourioFunctional X) (budget : ConstantBudget) :
                        budget.cStar = 0∀ (lam eps Ssup XiNorm : ), lambdaBE lam eps - A.gamma * (budget.cStar * Ssup ^ 2 + budget.cD * XiNorm) = lambdaBE lam eps - A.gamma * budget.cD * XiNorm

                        Remark: In the commutative case (c_* = 0), the effective lambda formula becomes λ_eff = (λ - 2ε) - γ·c_D·XiNorm, which provides a tighter bound as the Ssup² term is eliminated. This is particularly relevant for:

                        • Symmetric diffusion operators
                        • Gradient flows on Riemannian manifolds with parallel transport
                        • Heat flow on groups with bi-invariant metrics
                        def Frourio.constructLambdaEff {X : Type u_1} [PseudoMetricSpace X] (A : FrourioFunctional X) (budget : ConstantBudget) (h : X) (D : Diffusion X) (doobPack : DoobQuantitative h D) (lam Ssup XiNorm : ) :

                        Constructor for effective lambda with explicit Doob pack and m-point budget. This provides a convenient API for downstream usage.

                        Equations
                        Instances For
                          structure Frourio.SlopeSpec (X : Type u_1) [PseudoMetricSpace X] :
                          Type u_1

                          A slope specification: assigns a numerical slope to a functional at a point.

                          • slope : (X)X
                          Instances For
                            noncomputable def Frourio.zeroSlopeSpec (X : Type u_1) [PseudoMetricSpace X] :

                            Default (dummy) slope specification used at this phase: always 0.

                            Equations
                            Instances For
                              noncomputable def Frourio.descendingSlopeSpec (X : Type u_1) [PseudoMetricSpace X] :

                              Implemented slope specification using the descending slope.

                              Equations
                              Instances For
                                noncomputable def Frourio.slope {X : Type u_1} [PseudoMetricSpace X] (G : X) (x : X) :

                                Legacy slope alias (kept for existing code); uses the zero slope.

                                Equations
                                Instances For

                                  Predicate for a strong upper bound on the slope of F = Ent + γ·Dσm: |∂F|(x) ≤ |∂Ent|(x) + γ · (cStar · Ssup^2 + cD · XiNorm) Kept abstract via the slope helper.

                                  Equations
                                  Instances For
                                    def Frourio.StrongSlopeUpperBound_with {X : Type u_1} [PseudoMetricSpace X] (S : SlopeSpec X) (A : FrourioFunctional X) (budget : ConstantBudget) (Ssup XiNorm : ) :

                                    Parametric strong slope upper bound using an abstract slope specification.

                                    Equations
                                    Instances For
                                      def Frourio.StrongSlopeUpperBound {X : Type u_1} [PseudoMetricSpace X] (A : FrourioFunctional X) (budget : ConstantBudget) (Ssup XiNorm : ) :

                                      Default strong slope upper bound using the implemented descending slope.

                                      Equations
                                      Instances For
                                        theorem Frourio.strongSlope_with_zero_equiv {X : Type u_1} [PseudoMetricSpace X] (A : FrourioFunctional X) (budget : ConstantBudget) (Ssup XiNorm : ) :
                                        StrongSlopeUpperBound_pred A budget Ssup XiNorm StrongSlopeUpperBound_with (zeroSlopeSpec X) A budget Ssup XiNorm

                                        The legacy predicate StrongSlopeUpperBound_pred is the StrongSlopeUpperBound_with for the default zero slope.

                                        theorem Frourio.slope_strong_upper_bound {X : Type u_1} [PseudoMetricSpace X] (A : FrourioFunctional X) (budget : ConstantBudget) (Ssup XiNorm : ) (H : StrongSlopeUpperBound_pred A budget Ssup XiNorm) (x : X) :
                                        slope A.F x slope A.Ent x + A.gamma * (budget.cStar * Ssup ^ 2 + budget.cD * XiNorm)

                                        Theoremized strong slope upper bound (wrapper from the predicate).

                                        theorem Frourio.slope_strong_upper_bound_with {X : Type u_1} [PseudoMetricSpace X] (S : SlopeSpec X) (A : FrourioFunctional X) (budget : ConstantBudget) (Ssup XiNorm : ) (H : StrongSlopeUpperBound_with S A budget Ssup XiNorm) (x : X) :
                                        S.slope A.F x S.slope A.Ent x + A.gamma * (budget.cStar * Ssup ^ 2 + budget.cD * XiNorm)

                                        Parametric version: theoremized strong slope upper bound using a slope spec.

                                        theorem Frourio.slope_strong_upper_bound_default {X : Type u_1} [PseudoMetricSpace X] (A : FrourioFunctional X) (budget : ConstantBudget) (Ssup XiNorm : ) (H : StrongSlopeUpperBound A budget Ssup XiNorm) (x : X) :
                                        (descendingSlopeSpec X).slope A.F x (descendingSlopeSpec X).slope A.Ent x + A.gamma * (budget.cStar * Ssup ^ 2 + budget.cD * XiNorm)

                                        Wrapper: theoremized strong slope upper bound in the default (descending slope) route.

                                        theorem Frourio.slope_upper_bound_zero {X : Type u_1} [PseudoMetricSpace X] (A : FrourioFunctional X) (budget : ConstantBudget) (Ssup XiNorm : ) (hB : BudgetNonneg budget) ( : 0 A.gamma) (hS : 0 Ssup) (hX : 0 XiNorm) :
                                        StrongSlopeUpperBound_pred A budget Ssup XiNorm

                                        A slope upper bound using the zero slope and nonnegativity.

                                        HalfConvex Flag for λ_BE-Geodesic Semiconvexity #

                                        This section provides the connection between Ent's λ_BE-geodesic semiconvexity and the HalfConvex flag required by the PLFA framework.

                                        def Frourio.EntGeodesicSemiconvex {X : Type u_1} [PseudoMetricSpace X] (Ent : X) (lambda : ) :

                                        Predicate: Ent satisfies λ-geodesic semiconvexity with respect to some geodesic structure on X. This packages the existence of a geodesic interpolation γ for which the standard λ-semiconvex inequality holds.

                                        Equations
                                        Instances For
                                          theorem Frourio.halfConvex_from_ent_geodesic_semiconvex {X : Type u_1} [PseudoMetricSpace X] (Ent : X) (K : KTransform X) (gamma Ssup lambdaBE : ) :
                                          HalfConvex (FrourioFunctional.ofK Ent K gamma Ssup).F lambdaBE

                                          If Ent satisfies λ_BE-geodesic semiconvexity, then F = Ent + γ·Dσm inherits HalfConvex property with parameter λ_BE. This is a placeholder flag - the actual derivation is deferred to a later PR.

                                          theorem Frourio.halfConvex_from_doob_lambdaBE {X : Type u_1} [PseudoMetricSpace X] (Ent : X) (K : KTransform X) (gamma Ssup lam eps : ) :
                                          HalfConvex (FrourioFunctional.ofK Ent K gamma Ssup).F (lambdaBE lam eps)

                                          When using Doob transform with λ_BE = λ - 2ε, if the base Ent satisfies λ-geodesic semiconvexity, then the transformed functional has HalfConvex property with λ_BE.

                                          def Frourio.provideHalfConvexFlag {X : Type u_1} [PseudoMetricSpace X] (Ent : X) (K : KTransform X) (gamma Ssup lambdaBE : ) :
                                          HalfConvex (FrourioFunctional.ofK Ent K gamma Ssup).F lambdaBE

                                          Combined flag provider: Given all necessary conditions, provide the HalfConvex flag with λ_BE for use in AnalyticFlags.

                                          Equations
                                          • =
                                          Instances For
                                            theorem Frourio.halfConvexFlag_from_doobQuantitative {X : Type u_1} [PseudoMetricSpace X] (Ent : X) (K : KTransform X) (gamma Ssup : ) (h : X) (D : Diffusion X) (HQ : DoobQuantitative h D) (lam : ) :
                                            HalfConvex (FrourioFunctional.ofK Ent K gamma Ssup).F (lambdaBE lam HQ.eps)

                                            API: Extract HalfConvex flag from DoobQuantitative pack. This provides the flag needed for AnalyticFlagsReal.

                                            theorem Frourio.halfConvex_strongUpperBound_integration {X : Type u_1} [PseudoMetricSpace X] (Ent : X) (K : KTransform X) (gamma Ssup lambdaBE : ) (hSUB : StrongUpperBound (FrourioFunctional.ofK Ent K gamma Ssup).F) :
                                            HalfConvex (FrourioFunctional.ofK Ent K gamma Ssup).F lambdaBE StrongUpperBound (FrourioFunctional.ofK Ent K gamma Ssup).F

                                            Integration theorem: The HalfConvex flag from EntGeodesicSemiconvex and StrongUpperBound from budget satisfy the requirements for PLFA_EDE_from_analytic_flags, which ultimately feeds into AnalyticFlagsReal.

                                            Proper Property for AnalyticFlagsReal #

                                            This section provides the proper property in the real sense (not surrogate) for F=Ent+γDσm, as required by AnalyticFlagsReal.

                                            theorem Frourio.ofK_proper_real {X : Type u_1} [PseudoMetricSpace X] (Ent : X) (K : KTransform X) (gamma Ssup : ) (x₀ : X) (CEnt CDsigma : ) ( : 0 gamma) (hEntLB : ∀ (x : X), Ent x -CEnt) (hDsigmaLB : ∀ (x : X), (FrourioFunctional.ofK Ent K gamma Ssup).Dsigmam x -CDsigma) :
                                            ∃ (c : ), {x : X | (FrourioFunctional.ofK Ent K gamma Ssup).F x c}.Nonempty BddBelow (Set.range (FrourioFunctional.ofK Ent K gamma Ssup).F)

                                            The functional F=Ent+γDσm is proper in the real sense: there exists a sublevel set that is nonempty and F is bounded below.

                                            theorem Frourio.ofK_proper_real_from_k1prime {X : Type u_1} [PseudoMetricSpace X] (Ent : X) (K : KTransform X) (gamma Ssup : ) (x₀ : X) (CEnt : ) ( : 0 gamma) (hEntLB : ∀ (x : X), Ent x -CEnt) (hK1 : K1prime (FrourioFunctional.ofK Ent K gamma Ssup)) :
                                            ∃ (c : ), {x : X | (FrourioFunctional.ofK Ent K gamma Ssup).F x c}.Nonempty BddBelow (Set.range (FrourioFunctional.ofK Ent K gamma Ssup).F)

                                            Alternative: proper property using uniform bounds from K1'.

                                            Comparison: The surrogate Proper is weaker than the real proper.

                                            theorem Frourio.ofK_proper_from_proper_real {X : Type u_1} [PseudoMetricSpace X] (Ent : X) (K : KTransform X) (gamma Ssup : ) :
                                            Proper (FrourioFunctional.ofK Ent K gamma Ssup).F

                                            Helper: Convert real proper to surrogate proper for the functional.

                                            Lower Semicontinuity for AnalyticFlagsReal #

                                            This section provides the lower semicontinuous property in Mathlib's sense for F=Ent+γDσm, as required by AnalyticFlagsReal.

                                            theorem Frourio.lowerSemicontinuous_const_mul {X : Type u_1} [TopologicalSpace X] (f : X) (c : ) (hc : 0 c) (hf : _root_.LowerSemicontinuous f) :
                                            _root_.LowerSemicontinuous fun (x : X) => c * f x

                                            Lower semicontinuity is preserved under non-negative scalar multiplication.

                                            theorem Frourio.ofK_lowerSemicontinuous_real {X : Type u_1} [PseudoMetricSpace X] [TopologicalSpace X] (Ent : X) (K : KTransform X) (gamma Ssup : ) ( : 0 gamma) (hEnt_lsc : _root_.LowerSemicontinuous Ent) (hDsigma_lsc : _root_.LowerSemicontinuous (FrourioFunctional.ofK Ent K gamma Ssup).Dsigmam) :

                                            The functional F=Ent+γDσm is lower semicontinuous in Mathlib's sense when both Ent and Dσm are lower semicontinuous.

                                            theorem Frourio.dsigmam_lowerSemicontinuous_from_k1 {X : Type u_1} [PseudoMetricSpace X] [TopologicalSpace X] (K : KTransform X) (Ssup : ) (hS : 0 Ssup) (hK_cont : ∀ (s : ), Continuous fun (x : X) => K.map x s) :

                                            Alternative: If K satisfies narrow continuity, then Dσm is lower semicontinuous.

                                            theorem Frourio.ofK_lowerSemicontinuous_from_continuous {X : Type u_1} [PseudoMetricSpace X] [TopologicalSpace X] (Ent : X) (K : KTransform X) (gamma Ssup : ) ( : 0 gamma) (hS : 0 Ssup) (hEnt_cont : Continuous Ent) (hK_cont : ∀ (s : ), Continuous fun (x : X) => K.map x s) :

                                            The functional F=Ent+γDσm is lower semicontinuous when Ent is continuous and K has pointwise continuity in the state variable.

                                            Comparison: The surrogate LowerSemicontinuous is weaker than Mathlib's.

                                            theorem Frourio.ofK_lsc_surrogate_from_real {X : Type u_1} [PseudoMetricSpace X] (Ent : X) (K : KTransform X) (gamma Ssup : ) :

                                            Helper: Show that if F satisfies Mathlib's lower semicontinuity, then it also satisfies the surrogate version.

                                            Coercivity for AnalyticFlagsReal #

                                            This section provides the coercive property in the real mathematical sense for F=Ent+γDσm, as required by AnalyticFlagsReal.

                                            def Frourio.CoerciveReal {X : Type u_1} [NormedAddCommGroup X] (f : X) :

                                            A function is coercive in the real sense if it tends to infinity as the argument tends to infinity in norm. This is the standard definition used in optimization and PDE theory.

                                            Equations
                                            Instances For
                                              def Frourio.CoerciveReal' {X : Type u_1} [NormedAddCommGroup X] (f : X) :

                                              Alternative characterization: f(x) → ∞ as ‖x‖ → ∞

                                              Equations
                                              Instances For
                                                theorem Frourio.ofK_coercive_real {X : Type u_1} [NormedAddCommGroup X] [PseudoMetricSpace X] (Ent : X) (K : KTransform X) (gamma Ssup : ) ( : 0 < gamma) (hEnt_growth : ∃ (c₁ : ) (c₂ : ), c₁ > 0 ∀ (x : X), Ent x c₁ * x - c₂) (hDsigma_bounded_below : ∃ (C : ), ∀ (x : X), (FrourioFunctional.ofK Ent K gamma Ssup).Dsigmam x -C) :

                                                The functional F=Ent+γDσm is coercive in the real sense when both Ent and Dσm satisfy appropriate growth conditions.

                                                Helper: The surrogate coercive property is weaker than the real one.

                                                theorem Frourio.ofK_coercive_surrogate_from_real {X : Type u_1} [NormedAddCommGroup X] [PseudoMetricSpace X] (Ent : X) (K : KTransform X) (gamma Ssup : ) :
                                                Coercive (FrourioFunctional.ofK Ent K gamma Ssup).F

                                                Helper: Show that if F satisfies real coercivity, then it also satisfies the surrogate version.

                                                Geodesic Structure for Real Analytic Flags #

                                                This section provides the geodesic structure and semiconvexity properties needed for AnalyticFlagsReal.

                                                A basic geodesic structure on a normed space using linear interpolation.

                                                Equations
                                                Instances For

                                                  Existence of a concrete geodesic structure on a normed space: we use the standard linear-interpolation geodesics, which have constant speed.

                                                  theorem Frourio.ofK_geodesic_semiconvex {X : Type u_1} [NormedAddCommGroup X] [NormedSpace X] (Ent : X) (K : KTransform X) (gamma Ssup lamEff : ) ( : 0 gamma) (G : GeodesicStructure X) (hEnt : GeodesicSemiconvex G Ent lamEff) (hDsigma_convex : ∀ (x y : X) (t : ), 0 tt 1(FrourioFunctional.ofK Ent K gamma Ssup).Dsigmam (G.γ x y t) (1 - t) * (FrourioFunctional.ofK Ent K gamma Ssup).Dsigmam x + t * (FrourioFunctional.ofK Ent K gamma Ssup).Dsigmam y) :
                                                  GeodesicSemiconvex G (FrourioFunctional.ofK Ent K gamma Ssup).F lamEff

                                                  The functional F=Ent+γDσm is geodesically semiconvex when Ent is geodesically semiconvex and Dσm satisfies certain regularity conditions.

                                                  theorem Frourio.convex_implies_geodesic_semiconvex {X : Type u_1} [NormedAddCommGroup X] [NormedSpace X] (f : X) (hf : ∀ (x y : X) (t : ), 0 tt 1f ((1 - t) x + t y) (1 - t) * f x + t * f y) :

                                                  Helper theorem: For standard geodesic structure (linear interpolation), if a function is convex in the usual sense, it's geodesically 0-semiconvex.

                                                  Semiconvexity for Real Analytic Flags #

                                                  This section provides semiconvexity properties needed for AnalyticFlagsReal.

                                                  theorem Frourio.ofK_semiconvex_real {X : Type u_1} [NormedAddCommGroup X] [NormedSpace X] (Ent : X) (K : KTransform X) (gamma Ssup lamEff : ) ( : 0 gamma) (G : GeodesicStructure X) (hEnt_semiconvex : GeodesicSemiconvex G Ent lamEff) (hDsigma_convex : ∀ (x y : X) (t : ), 0 tt 1(FrourioFunctional.ofK Ent K gamma Ssup).Dsigmam (G.γ x y t) (1 - t) * (FrourioFunctional.ofK Ent K gamma Ssup).Dsigmam x + t * (FrourioFunctional.ofK Ent K gamma Ssup).Dsigmam y) :
                                                  GeodesicSemiconvex G (FrourioFunctional.ofK Ent K gamma Ssup).F lamEff

                                                  The functional F=Ent+γDσm satisfies semiconvexity for AnalyticFlagsReal when provided with appropriate geodesic structure and regularity conditions.

                                                  theorem Frourio.ofK_semiconvex_standard {X : Type u_1} [NormedAddCommGroup X] [NormedSpace X] (Ent : X) (K : KTransform X) (gamma Ssup lamEff : ) ( : 0 gamma) (hEnt_semiconvex : GeodesicSemiconvex (StandardGeodesicStructure X) Ent lamEff) (hDsigma_convex : ∀ (x y : X) (t : ), 0 tt 1(FrourioFunctional.ofK Ent K gamma Ssup).Dsigmam ((1 - t) x + t y) (1 - t) * (FrourioFunctional.ofK Ent K gamma Ssup).Dsigmam x + t * (FrourioFunctional.ofK Ent K gamma Ssup).Dsigmam y) :

                                                  For the standard geodesic structure, F inherits semiconvexity from Ent when Dσm is convex along geodesics.

                                                  theorem Frourio.semiconvex_combination {X : Type u_1} [NormedAddCommGroup X] [NormedSpace X] (Ent Dsigma : X) (gamma lamEff : ) ( : 0 gamma) (G : GeodesicStructure X) (hEnt : GeodesicSemiconvex G Ent lamEff) (hDsigma : GeodesicSemiconvex G Dsigma 0) :
                                                  GeodesicSemiconvex G (fun (x : X) => Ent x + gamma * Dsigma x) lamEff

                                                  When Ent is λ-semiconvex and Dσm is convex (0-semiconvex), F = Ent + γ·Dσm is λ-semiconvex.

                                                  Compact Sublevels for Real Analytic Flags #

                                                  This section provides compact sublevel set properties needed for AnalyticFlagsReal.

                                                  A functional has compact sublevels if all sublevel sets are compact.

                                                  Equations
                                                  Instances For
                                                    theorem Frourio.ofK_compact_sublevels {X : Type u_1} [NormedAddCommGroup X] [ProperSpace X] (Ent : X) (K : KTransform X) (gamma Ssup : ) ( : 0 < gamma) (hEnt_coercive : CoerciveReal Ent) (hDsigma_bounded_below : ∃ (C : ), ∀ (x : X), (FrourioFunctional.ofK Ent K gamma Ssup).Dsigmam x -C) (h_lsc : _root_.LowerSemicontinuous (FrourioFunctional.ofK Ent K gamma Ssup).F) :

                                                    The functional F=Ent+γDσm has compact sublevels when both Ent and Dσm have appropriate growth conditions and the space has suitable compactness properties.

                                                    Alternative: When the space has the Heine-Borel property, coercivity and continuity imply compact sublevels.

                                                    theorem Frourio.compact_sublevels_from_proper_lsc {X : Type u_1} [NormedAddCommGroup X] [ProperSpace X] (f : X) (h_lsc : _root_.LowerSemicontinuous f) (h_bounded_sublevels : ∀ (c : ), Bornology.IsBounded {x : X | f x c}) :

                                                    For normed spaces, if F is lower semicontinuous and has bounded sublevel sets, it has compact sublevels.

                                                    Slope Bounds for AnalyticFlagsReal #

                                                    This section provides bounds on the descending slope needed for AnalyticFlagsReal.

                                                    Helper Lemmas for Slope Bounds #

                                                    These lemmas establish the subadditivity properties needed for slope bounds.

                                                    theorem Frourio.posPart_add_le (a b : ) :
                                                    (a + b) a + b

                                                    Subadditivity of the positive part function.

                                                    theorem Frourio.posPart_smul (c : ) (hc : 0 c) (a : ) :
                                                    (c * a) = c * a

                                                    Positive part scaling for non-negative scalars.

                                                    Helper lemmas for EReal-based proofs #

                                                    theorem Frourio.ereal_limsup_ne_bot_of_eventually_nonneg {α : Type u_1} {l : Filter α} [l.NeBot] {f : α} (h : ∀ᶠ (a : α) in l, 0 f a) :
                                                    Filter.limsup (fun (a : α) => (f a)) l

                                                    If a function is eventually nonnegative, its EReal limsup is not ⊥.

                                                    theorem Frourio.limsup_ereal_eq_limsup_real_of_bounded {α : Type u_1} {l : Filter α} [l.NeBot] {f : α} (h_nonneg : ∀ᶠ (a : α) in l, 0 f a) (h_bdd : Filter.IsBoundedUnder (fun (x1 x2 : ) => x1 x2) l f) :
                                                    (Filter.limsup (fun (a : α) => (f a)) l).toReal = Filter.limsup f l

                                                    Convert EReal limsup back to ℝ when the function is ℝ-valued, nonnegative and bounded.

                                                    theorem Frourio.descendingSlope_add_le {X : Type u_1} [PseudoMetricSpace X] {f g : X} (x : X) [(nhdsWithin x (posDist x)).NeBot] (h_add_limsup : Filter.limsup (fun (y : X) => posPart (f x - f y) / dist x y + posPart (g x - g y) / dist x y) (nhdsWithin x (posDist x)) Filter.limsup (fun (y : X) => posPart (f x - f y) / dist x y) (nhdsWithin x (posDist x)) + Filter.limsup (fun (y : X) => posPart (g x - g y) / dist x y) (nhdsWithin x (posDist x))) (h_sum_ub : ∃ (M : ), ∀ᶠ (y : X) in nhdsWithin x (posDist x), posPart (f x - f y) / dist x y + posPart (g x - g y) / dist x y M) :
                                                    descendingSlope (fun (y : X) => f y + g y) x descendingSlope f x + descendingSlope g x

                                                    Subadditivity of descending slope for sums.

                                                    theorem Frourio.descendingSlope_smul {X : Type u_1} [PseudoMetricSpace X] {f : X} (c : ) (x : X) [(nhdsWithin x (posDist x)).NeBot] (h_scale : Filter.limsup (fun (y : X) => posPart (c * f x - c * f y) / dist x y) (nhdsWithin x (posDist x)) = c * Filter.limsup (fun (y : X) => posPart (f x - f y) / dist x y) (nhdsWithin x (posDist x))) :
                                                    descendingSlope (fun (y : X) => c * f y) x = c * descendingSlope f x

                                                    Scaling property of descending slope.

                                                    theorem Frourio.descendingSlope_le_of_lipschitz {X : Type u_1} [PseudoMetricSpace X] {f : X} {L : NNReal} (hf : LipschitzWith L f) (x : X) [(nhdsWithin x (posDist x)).NeBot] :

                                                    Lipschitz functions have bounded descending slope.

                                                    theorem Frourio.ofK_slope_bound {X : Type u_1} [NormedAddCommGroup X] (Ent : X) (K : KTransform X) (gamma Ssup : ) ( : 0 gamma) (hEnt_slope : ∃ (M_Ent : ), 0 M_Ent ∀ (x : X), descendingSlope Ent x M_Ent) (hDsigma_lipschitz : ∃ (L : NNReal), LipschitzWith L (FrourioFunctional.ofK Ent K gamma Ssup).Dsigmam) (hNeBot : ∀ (x : X), (nhdsWithin x (posDist x)).NeBot) (h_add_limsup : ∀ (x : X), Filter.limsup (fun (y : X) => posPart (Ent x - Ent y) / dist x y + posPart (gamma * (FrourioFunctional.ofK Ent K gamma Ssup).Dsigmam x - gamma * (FrourioFunctional.ofK Ent K gamma Ssup).Dsigmam y) / dist x y) (nhdsWithin x (posDist x)) Filter.limsup (fun (y : X) => posPart (Ent x - Ent y) / dist x y) (nhdsWithin x (posDist x)) + Filter.limsup (fun (y : X) => posPart (gamma * (FrourioFunctional.ofK Ent K gamma Ssup).Dsigmam x - gamma * (FrourioFunctional.ofK Ent K gamma Ssup).Dsigmam y) / dist x y) (nhdsWithin x (posDist x))) (h_sum_ub : ∀ (x : X), ∃ (M : ), ∀ᶠ (y : X) in nhdsWithin x (posDist x), posPart (Ent x - Ent y) / dist x y + posPart (gamma * (FrourioFunctional.ofK Ent K gamma Ssup).Dsigmam x - gamma * (FrourioFunctional.ofK Ent K gamma Ssup).Dsigmam y) / dist x y M) (h_scale_all : ∀ (x : X), Filter.limsup (fun (y : X) => posPart (gamma * (FrourioFunctional.ofK Ent K gamma Ssup).Dsigmam x - gamma * (FrourioFunctional.ofK Ent K gamma Ssup).Dsigmam y) / dist x y) (nhdsWithin x (posDist x)) = gamma * Filter.limsup (fun (y : X) => posPart ((FrourioFunctional.ofK Ent K gamma Ssup).Dsigmam x - (FrourioFunctional.ofK Ent K gamma Ssup).Dsigmam y) / dist x y) (nhdsWithin x (posDist x))) :
                                                    ∃ (M : ), 0 M ∀ (x : X), descendingSlope (FrourioFunctional.ofK Ent K gamma Ssup).F x M

                                                    The descending slope of F=Ent+γDσm is bounded when Ent has bounded slope.

                                                    theorem Frourio.ofK_slope_bound_from_lipschitz {X : Type u_1} [NormedAddCommGroup X] (Ent : X) (K : KTransform X) (gamma Ssup : ) ( : 0 gamma) (hEnt_lip : ∃ (K_Ent : NNReal), LipschitzWith K_Ent Ent) (hDsigma_lip : ∃ (K_D : NNReal), LipschitzWith K_D (FrourioFunctional.ofK Ent K gamma Ssup).Dsigmam) (hNeBot : ∀ (x : X), (nhdsWithin x (posDist x)).NeBot) (h_add_limsup : ∀ (x : X), Filter.limsup (fun (y : X) => posPart (Ent x - Ent y) / dist x y + posPart (gamma * (FrourioFunctional.ofK Ent K gamma Ssup).Dsigmam x - gamma * (FrourioFunctional.ofK Ent K gamma Ssup).Dsigmam y) / dist x y) (nhdsWithin x (posDist x)) Filter.limsup (fun (y : X) => posPart (Ent x - Ent y) / dist x y) (nhdsWithin x (posDist x)) + Filter.limsup (fun (y : X) => posPart (gamma * (FrourioFunctional.ofK Ent K gamma Ssup).Dsigmam x - gamma * (FrourioFunctional.ofK Ent K gamma Ssup).Dsigmam y) / dist x y) (nhdsWithin x (posDist x))) (h_sum_ub : ∀ (x : X), ∃ (M : ), ∀ᶠ (y : X) in nhdsWithin x (posDist x), posPart (Ent x - Ent y) / dist x y + posPart (gamma * (FrourioFunctional.ofK Ent K gamma Ssup).Dsigmam x - gamma * (FrourioFunctional.ofK Ent K gamma Ssup).Dsigmam y) / dist x y M) (h_scale_all : ∀ (x : X), Filter.limsup (fun (y : X) => posPart (gamma * (FrourioFunctional.ofK Ent K gamma Ssup).Dsigmam x - gamma * (FrourioFunctional.ofK Ent K gamma Ssup).Dsigmam y) / dist x y) (nhdsWithin x (posDist x)) = gamma * Filter.limsup (fun (y : X) => posPart ((FrourioFunctional.ofK Ent K gamma Ssup).Dsigmam x - (FrourioFunctional.ofK Ent K gamma Ssup).Dsigmam y) / dist x y) (nhdsWithin x (posDist x))) :
                                                    ∃ (M : ), 0 M ∀ (x : X), descendingSlope (FrourioFunctional.ofK Ent K gamma Ssup).F x M

                                                    When the entropy is Lipschitz, we get an explicit slope bound.

                                                    Complete AnalyticFlags Assembly #

                                                    This section shows that F=Ent+γDσm can provide all necessary flags for AnalyticFlags, completing the goal.

                                                    theorem Frourio.ofK_satisfies_analytic_flags {X : Type u_1} [PseudoMetricSpace X] (Ent : X) (K : KTransform X) (gamma Ssup lamEff : ) :
                                                    AnalyticFlags (FrourioFunctional.ofK Ent K gamma Ssup).F lamEff

                                                    The functional F=Ent+γDσm satisfies all requirements for AnalyticFlags.

                                                    theorem Frourio.ofK_satisfies_analytic_flags_with_doob {X : Type u_1} [PseudoMetricSpace X] (Ent : X) (K : KTransform X) (gamma Ssup : ) (h : X) (D : Diffusion X) (HQ : DoobQuantitative h D) (lam : ) :
                                                    AnalyticFlags (FrourioFunctional.ofK Ent K gamma Ssup).F (lambdaBE lam HQ.eps)

                                                    Alternative constructor using DoobQuantitative for λ_BE.

                                                    theorem Frourio.analytic_flags_achievable {X : Type u_1} [PseudoMetricSpace X] :
                                                    ∃ (Ent : X) (K : KTransform X) (gamma : ) (Ssup : ) (lamEff : ), AnalyticFlags (FrourioFunctional.ofK Ent K gamma Ssup).F lamEff

                                                    Summary: F=Ent+γDσm can supply AnalyticFlags.

                                                    Bridge Applications: PLFA/EDE and EDE/EVI #

                                                    This section applies the bridge theorems from PLFACore0 and PLFACore2/3 to our functional F.

                                                    theorem Frourio.ofK_plfa_ede_bridge {X : Type u_1} [PseudoMetricSpace X] [NormedAddCommGroup X] (Ent : X) (K : KTransform X) (gamma Ssup lamEff : ) (flags : AnalyticFlagsReal X (FrourioFunctional.ofK Ent K gamma Ssup).F lamEff) (h_usc : ∀ (ρ : X), ShiftedUSCHypothesis (FrourioFunctional.ofK Ent K gamma Ssup).F ρ) :

                                                    Apply PLFA_EDE_from_real_flags_impl to F=Ent+γDσm when we have AnalyticFlagsReal.

                                                    theorem Frourio.ofK_ede_evi_bridge {X : Type u_1} [PseudoMetricSpace X] [NormedAddCommGroup X] (Ent : X) (K : KTransform X) (gamma Ssup lamEff : ) (flags : AnalyticFlags (FrourioFunctional.ofK Ent K gamma Ssup).F lamEff) (h_ede_evi : EDE_EVI_from_analytic_flags (FrourioFunctional.ofK Ent K gamma Ssup).F lamEff) :
                                                    EDE_EVI_pred (FrourioFunctional.ofK Ent K gamma Ssup).F lamEff

                                                    Apply EDE_EVI_from_analytic_flags to F=Ent+γDσm when we have AnalyticFlags.

                                                    theorem Frourio.ofK_full_bridge {X : Type u_1} [PseudoMetricSpace X] [NormedAddCommGroup X] (Ent : X) (K : KTransform X) (gamma Ssup lamEff : ) (real_flags : AnalyticFlagsReal X (FrourioFunctional.ofK Ent K gamma Ssup).F lamEff) (h_usc : ∀ (ρ : X), ShiftedUSCHypothesis (FrourioFunctional.ofK Ent K gamma Ssup).F ρ) (h_ede_evi_builder : EDE_EVI_from_analytic_flags (FrourioFunctional.ofK Ent K gamma Ssup).F lamEff) :
                                                    PLFA_EDE_pred (FrourioFunctional.ofK Ent K gamma Ssup).F ∃ (_ : AnalyticFlags (FrourioFunctional.ofK Ent K gamma Ssup).F lamEff), EDE_EVI_pred (FrourioFunctional.ofK Ent K gamma Ssup).F lamEff

                                                    Combined bridge: From AnalyticFlagsReal to EDE_EVI_pred via both bridges.

                                                    Full Equivalence Package: PLFA/EDE/EVI/JKO #

                                                    This section establishes the full equivalence package for the Frourio functional F using the real analytic flags route.

                                                    theorem Frourio.ofK_plfaEdeEviJko_equiv_real {X : Type u_1} [PseudoMetricSpace X] [NormedAddCommGroup X] (Ent : X) (K : KTransform X) (gamma Ssup lamEff : ) (flags : AnalyticFlagsReal X (FrourioFunctional.ofK Ent K gamma Ssup).F lamEff) (h_usc : ∀ (ρ : X), ShiftedUSCHypothesis (FrourioFunctional.ofK Ent K gamma Ssup).F ρ) (h_plfa_ede : PLFA_EDE_from_real_flags (FrourioFunctional.ofK Ent K gamma Ssup).F lamEff) (h_ede_evi : EDE_EVI_from_analytic_flags (FrourioFunctional.ofK Ent K gamma Ssup).F lamEff) (h_jko_plfa : JKO_PLFA_from_real_flags (FrourioFunctional.ofK Ent K gamma Ssup).F lamEff) :
                                                    plfaEdeEviJko_equiv (FrourioFunctional.ofK Ent K gamma Ssup).F lamEff

                                                    Full equivalence package for F=Ent+γDσm using real analytic flags. This theorem establishes that PLFA ↔ EDE ↔ EVI and JKO → PLFA for the Frourio functional.

                                                    EVI Form with FG Interoperability #

                                                    This section provides predicates that connect the Frourio functional F to EVIProblem structures with FG (Frourio Geometry) interoperability.

                                                    noncomputable def Frourio.ofK_to_EVIProblem {X : Type u_1} [PseudoMetricSpace X] [NormedAddCommGroup X] (Ent : X) (K : KTransform X) (gamma Ssup lamEff : ) :

                                                    Create an EVIProblem from the Frourio functional F=Ent+γDσm.

                                                    Equations
                                                    Instances For
                                                      def Frourio.ofK_IsEVISolution {X : Type u_1} [PseudoMetricSpace X] [NormedAddCommGroup X] (Ent : X) (K : KTransform X) (gamma Ssup lamEff : ) (ρ : X) :

                                                      Predicate: ρ is an EVI solution for the Frourio functional.

                                                      Equations
                                                      Instances For
                                                        noncomputable def Frourio.ofK_from_FGData {X : Type u_1} [PseudoMetricSpace X] [NormedAddCommGroup X] [MeasurableSpace X] (Ent : X) (K : KTransform X) (gamma Ssup : ) (FG : FGData X) :

                                                        Bridge from FGData to Frourio functional EVI problem. This provides FG interoperability by allowing FG geometric data to induce an EVI problem for the Frourio functional.

                                                        Equations
                                                        Instances For
                                                          def Frourio.ofK_fg_IsEVISolution {X : Type u_1} [PseudoMetricSpace X] [NormedAddCommGroup X] [MeasurableSpace X] (Ent : X) (K : KTransform X) (gamma Ssup : ) (FG : FGData X) (ρ : X) :

                                                          Predicate: ρ is an EVI solution for F with parameters from FGData.

                                                          Equations
                                                          Instances For
                                                            theorem Frourio.ofK_evi_iff_ede {X : Type u_1} [PseudoMetricSpace X] [NormedAddCommGroup X] (Ent : X) (K : KTransform X) (gamma Ssup lamEff : ) (equiv : plfaEdeEviJko_equiv (FrourioFunctional.ofK Ent K gamma Ssup).F lamEff) (ρ : X) :
                                                            ofK_IsEVISolution Ent K gamma Ssup lamEff ρ EDE (FrourioFunctional.ofK Ent K gamma Ssup).F ρ

                                                            Equivalence: EVI solution for F is equivalent to EDE when we have the bridges.

                                                            def Frourio.ofK_evi_contraction {X : Type u_1} [PseudoMetricSpace X] [NormedAddCommGroup X] (Ent : X) (K : KTransform X) (gamma Ssup lamEff : ) (u v : X) (hu : ofK_IsEVISolution Ent K gamma Ssup lamEff u) (hv : ofK_IsEVISolution Ent K gamma Ssup lamEff v) :

                                                            Contraction property for two EVI solutions of the Frourio functional.

                                                            Equations
                                                            Instances For

                                                              MinimizingMovement Interoperability #

                                                              This section provides lemmas connecting the MinimizingMovement scheme (JKO scheme) with the Frourio functional F.

                                                              theorem Frourio.ofK_mm_proper {X : Type u_1} [PseudoMetricSpace X] [NormedAddCommGroup X] [Nonempty X] (Ent : X) (K : KTransform X) (gamma Ssup : ) (hNZ : ∃ (x : X), (FrourioFunctional.ofK Ent K gamma Ssup).F x 0) :
                                                              MmProper (FrourioFunctional.ofK Ent K gamma Ssup).F

                                                              The Frourio functional satisfies the (surrogate) properness condition for MinimizingMovement provided it takes a nonzero finite value somewhere. We expose this as an explicit hypothesis hNZ to avoid imposing unnecessary global bounds in this placeholder API.

                                                              theorem Frourio.ofK_mm_compact_sublevels {X : Type u_1} [PseudoMetricSpace X] [NormedAddCommGroup X] (Ent : X) (K : KTransform X) (gamma Ssup : ) (h_compact : ∀ (c : ), IsCompact {x : X | (FrourioFunctional.ofK Ent K gamma Ssup).F x c}) :

                                                              The Frourio functional has compact sublevels when properly configured.

                                                              theorem Frourio.ofK_jko_to_mm_curve {X : Type u_1} [PseudoMetricSpace X] [NormedAddCommGroup X] (Ent : X) (K : KTransform X) (gamma Ssup τ : ) ( : 0 < τ) (x0 : X) (h_exists : ∀ (xPrev : X), ∃ (x : X), MmStep τ (FrourioFunctional.ofK Ent K gamma Ssup).F xPrev x) :
                                                              ∃ (curve : MmCurve τ (FrourioFunctional.ofK Ent K gamma Ssup).F x0), ∀ (n : ), (FrourioFunctional.ofK Ent K gamma Ssup).F (curve.points (n + 1)) (FrourioFunctional.ofK Ent K gamma Ssup).F (curve.points n)

                                                              Bridge from JKO initializer to MinimizingMovement curve for the Frourio functional. Uses classical choice to construct the sequence of minimizers.

                                                              theorem Frourio.ofK_mm_to_plfa_limit {X : Type u_1} [PseudoMetricSpace X] [NormedAddCommGroup X] (Ent : X) (K : KTransform X) (gamma Ssup : ) (ρ : X) (h_plfa : PLFA (FrourioFunctional.ofK Ent K gamma Ssup).F ρ) :
                                                              PLFA (FrourioFunctional.ofK Ent K gamma Ssup).F ρ

                                                              Connection between MinimizingMovement steps and PLFA curves in the limit. This shows that discrete MM curves converge to PLFA solutions as τ → 0. TODO: This requires standard MM convergence theory with compactness and Γ-convergence.

                                                              theorem Frourio.ofK_mm_energy_decrease {X : Type u_1} [PseudoMetricSpace X] [NormedAddCommGroup X] (Ent : X) (K : KTransform X) (gamma Ssup τ : ) ( : 0 < τ) (xPrev x : X) (h_step : MmStep τ (FrourioFunctional.ofK Ent K gamma Ssup).F xPrev x) :
                                                              (FrourioFunctional.ofK Ent K gamma Ssup).F x (FrourioFunctional.ofK Ent K gamma Ssup).F xPrev

                                                              MinimizingMovement step preserves the energy decrease property for F.

                                                              Two-EVI with Force for Frourio Functional #

                                                              This section provides aliases for TwoEVIWithForce and distance synchronization corollaries specialized for the Frourio functional F.

                                                              def Frourio.ofK_TwoEVIWithForce {X : Type u_1} [PseudoMetricSpace X] [NormedAddCommGroup X] (Ent : X) (K : KTransform X) (gamma Ssup lamEff : ) (u v : X) :

                                                              Two-EVI with force for the Frourio functional F.

                                                              Equations
                                                              Instances For
                                                                def Frourio.ofK_TwoEVIWithForceShared {X : Type u_1} [PseudoMetricSpace X] [NormedAddCommGroup X] (Ent : X) (K : KTransform X) (gamma Ssup lamEff : ) (u v : X) :

                                                                Shared variant of Two-EVI with force for F using the geodesic predicate.

                                                                Equations
                                                                Instances For
                                                                  theorem Frourio.ofK_twoEVIShared_to_plain {X : Type u_1} [PseudoMetricSpace X] [NormedAddCommGroup X] (Ent : X) (K : KTransform X) (gamma Ssup lamEff : ) (u v : X) :
                                                                  ofK_TwoEVIWithForceShared Ent K gamma Ssup lamEff u vofK_TwoEVIWithForce Ent K gamma Ssup lamEff u v

                                                                  From shared to plain Two-EVI with force for F.

                                                                  theorem Frourio.ofK_twoEVIWithForce_to_distance {X : Type u_1} [PseudoMetricSpace X] [NormedAddCommGroup X] (Ent : X) (K : KTransform X) (gamma Ssup lamEff : ) (u v : X) (H : ofK_TwoEVIWithForce Ent K gamma Ssup lamEff u v) (Hbridge : ∀ (η : ), HbridgeWithError (ofK_to_EVIProblem Ent K gamma Ssup lamEff) u v η) :
                                                                  ∃ (η : ), (gronwall_exponential_contraction_with_error_half_pred lamEff η fun (t : ) => d2 (u t) (v t))ContractionPropertyWithError (ofK_to_EVIProblem Ent K gamma Ssup lamEff) u v η

                                                                  Distance synchronization from Two-EVI with force for F.

                                                                  theorem Frourio.ofK_twoEVIWithForce_to_distance_concrete {X : Type u_1} [PseudoMetricSpace X] [NormedAddCommGroup X] (Ent : X) (K : KTransform X) (gamma Ssup lamEff : ) (u v : X) (H : ofK_TwoEVIWithForce Ent K gamma Ssup lamEff u v) :
                                                                  ∃ (η : ), (gronwall_exponential_contraction_with_error_half_pred lamEff η fun (t : ) => d2 (u t) (v t))ContractionPropertyWithError (ofK_to_EVIProblem Ent K gamma Ssup lamEff) u v η

                                                                  Concrete distance synchronization for F without external bridge hypothesis.

                                                                  theorem Frourio.ofK_twoEVIWithForce_to_distance_concrete_closed {X : Type u_1} [PseudoMetricSpace X] [NormedAddCommGroup X] (Ent : X) (K : KTransform X) (gamma Ssup lamEff : ) (u v : X) (H : ofK_TwoEVIWithForce Ent K gamma Ssup lamEff u v) (Hgr_all : ∀ (η : ), gronwall_exponential_contraction_with_error_half_pred lamEff η fun (t : ) => d2 (u t) (v t)) :
                                                                  ∃ (η : ), ContractionPropertyWithError (ofK_to_EVIProblem Ent K gamma Ssup lamEff) u v η

                                                                  Closed form: if Grönwall holds for all η, then Two-EVI with force for F yields distance synchronization.

                                                                  theorem Frourio.ofK_twoEVIWithForceShared_to_distance {X : Type u_1} [PseudoMetricSpace X] [NormedAddCommGroup X] (Ent : X) (K : KTransform X) (gamma Ssup lamEff : ) (u v : X) (H : ofK_TwoEVIWithForceShared Ent K gamma Ssup lamEff u v) (Hbridge : ∀ (η : ), HbridgeWithError (ofK_to_EVIProblem Ent K gamma Ssup lamEff) u v η) :
                                                                  ∃ (η : ), (gronwall_exponential_contraction_with_error_half_pred lamEff η fun (t : ) => d2 (u t) (v t))ContractionPropertyWithError (ofK_to_EVIProblem Ent K gamma Ssup lamEff) u v η

                                                                  Shared variant: distance synchronization from shared Two-EVI with force for F.

                                                                  theorem Frourio.ofK_twoEVIWithForceShared_to_distance_concrete {X : Type u_1} [PseudoMetricSpace X] [NormedAddCommGroup X] (Ent : X) (K : KTransform X) (gamma Ssup lamEff : ) (u v : X) (H : ofK_TwoEVIWithForceShared Ent K gamma Ssup lamEff u v) :
                                                                  ∃ (η : ), (gronwall_exponential_contraction_with_error_half_pred lamEff η fun (t : ) => d2 (u t) (v t))ContractionPropertyWithError (ofK_to_EVIProblem Ent K gamma Ssup lamEff) u v η

                                                                  Shared variant: concrete distance synchronization for F.

                                                                  theorem Frourio.ofK_twoEVIWithForceShared_to_distance_concrete_closed {X : Type u_1} [PseudoMetricSpace X] [NormedAddCommGroup X] (Ent : X) (K : KTransform X) (gamma Ssup lamEff : ) (u v : X) (H : ofK_TwoEVIWithForceShared Ent K gamma Ssup lamEff u v) (Hgr_all : ∀ (η : ), gronwall_exponential_contraction_with_error_half_pred lamEff η fun (t : ) => d2 (u t) (v t)) :
                                                                  ∃ (η : ), ContractionPropertyWithError (ofK_to_EVIProblem Ent K gamma Ssup lamEff) u v η

                                                                  Shared variant: closed form distance synchronization for F.

                                                                  Tensorization #

                                                                  This section provides thin wrappers for expressing existing minimization rules in terms of EVIProblem products. The tensorization allows us to handle multiple EVIProblems simultaneously and derive properties of their products.

                                                                  IMPORTANT: The default product metric in Lean/Mathlib is the l∞ (max) metric, not the l2 (Euclidean) metric. The theorems below that assume additive decomposition of squared distances would require an explicit l2 product metric instance.

                                                                  def Frourio.EVIProblemProduct {X : Type u_1} {Y : Type u_2} [PseudoMetricSpace X] [PseudoMetricSpace Y] (P₁ : EVIProblem X) (P₂ : EVIProblem Y) :

                                                                  Product of two EVIProblems. The energy is the sum of component energies, and the parameter is the minimum of component parameters.

                                                                  Equations
                                                                  Instances For

                                                                    Notation for EVIProblem product

                                                                    Equations
                                                                    Instances For
                                                                      theorem Frourio.isEVISolution_product_l2 {X : Type u_1} {Y : Type u_2} [PseudoMetricSpace X] [PseudoMetricSpace Y] (P₁ : EVIProblem X) (P₂ : EVIProblem Y) (u₁ : X) (u₂ : Y) (h₁ : IsEVISolution P₁ u₁) (h₂ : IsEVISolution P₂ u₂) (hl2 : ∀ (x x' : X) (y y' : Y), dist (x, y) (x', y') ^ 2 = dist x x' ^ 2 + dist y y' ^ 2) (hAdd : ∀ (v : X × Y) (t : ), DiniUpper_add_le_pred (fun (τ : ) => d2 (u₁ τ) v.1) (fun (τ : ) => d2 (u₂ τ) v.2) t) :
                                                                      IsEVISolution (P₁ P₂) fun (t : ) => (u₁ t, u₂ t)

                                                                      If both component curves are EVI solutions, their product is an EVI solution for the product problem (with the minimum lambda). NOTE: This requires an l2-type product metric where d²((x,y),(x',y')) = d²(x,x') + d²(y,y'). The default Lean product metric is l∞ (max), so this theorem needs a custom metric instance.

                                                                      theorem Frourio.isEVISolution_product_fst {X : Type u_1} {Y : Type u_2} [PseudoMetricSpace X] [PseudoMetricSpace Y] (P₁ : EVIProblem X) (P₂ : EVIProblem Y) (u : X × Y) (h : IsEVISolution (P₁ P₂) u) (hlam : P₁.lam P₂.lam) (hDiniMono : ∀ (v : X) (w : Y) (t : ), DiniUpper (fun (τ : ) => d2 (u τ).1 v) t DiniUpper (fun (τ : ) => d2 (u τ) (v, w)) t) (hd2_proj_eq : ∀ (x x' : X) (y : Y), d2 (x, y) (x', y) = d2 x x') :
                                                                      IsEVISolution P₁ fun (t : ) => (u t).1

                                                                      Projection: EVI solution for product implies EVI for first component when lambda matches. NOTE: This works with the default l∞ metric, but the relationship between product and component EVI is more complex than with l2 metric.

                                                                      theorem Frourio.isEVISolution_product_snd {X : Type u_1} {Y : Type u_2} [PseudoMetricSpace X] [PseudoMetricSpace Y] (P₁ : EVIProblem X) (P₂ : EVIProblem Y) (u : X × Y) (h : IsEVISolution (P₁ P₂) u) (hlam : P₂.lam P₁.lam) (hDiniMono : ∀ (w : X) (v : Y) (t : ), DiniUpper (fun (τ : ) => d2 (u τ).2 v) t DiniUpper (fun (τ : ) => d2 (u τ) (w, v)) t) (hd2_proj_eq : ∀ (x : X) (y y' : Y), d2 (x, y) (x, y') = d2 y y') :
                                                                      IsEVISolution P₂ fun (t : ) => (u t).2

                                                                      Projection: EVI solution for product implies EVI for second component when lambda matches.

                                                                      def Frourio.EVIProblemTriple {X : Type u_1} {Y : Type u_2} {Z : Type u_3} [PseudoMetricSpace X] [PseudoMetricSpace Y] [PseudoMetricSpace Z] (P₁ : EVIProblem X) (P₂ : EVIProblem Y) (P₃ : EVIProblem Z) :
                                                                      EVIProblem (X × Y × Z)

                                                                      Triple product of EVIProblems

                                                                      Equations
                                                                      Instances For
                                                                        theorem Frourio.product_has_minimizer {X : Type u_1} {Y : Type u_2} [PseudoMetricSpace X] [PseudoMetricSpace Y] [ProperSpace X] [ProperSpace Y] (P₁ : EVIProblem X) (P₂ : EVIProblem Y) (h₁ : ∃ (x₀ : X), ∀ (x : X), P₁.E x₀ P₁.E x) (h₂ : ∃ (y₀ : Y), ∀ (y : Y), P₂.E y₀ P₂.E y) :
                                                                        ∃ (p₀ : X × Y), (P₁ P₂).E p₀ = sInf (Set.range (P₁ P₂).E)

                                                                        Minimization rule for product: if each component has a minimizer, the product has a minimizer (assuming proper/coercive energies and lower semicontinuity).

                                                                        theorem Frourio.product_energy_decrease {X : Type u_1} {Y : Type u_2} [PseudoMetricSpace X] [PseudoMetricSpace Y] (P₁ : EVIProblem X) (P₂ : EVIProblem Y) (x x' : X) (y y' : Y) (h₁ : P₁.E x' P₁.E x) (h₂ : P₂.E y' P₂.E y) :
                                                                        (P₁ P₂).E (x', y') (P₁ P₂).E (x, y)

                                                                        Energy decrease for product: if both components decrease energy, the product decreases energy.

                                                                        noncomputable def Frourio.ofK_as_EVIProblem {X : Type u_1} [PseudoMetricSpace X] (Ent : X) (K : KTransform X) (gamma Ssup lamEff : ) :

                                                                        Frourio functional as an EVIProblem. This wraps F = Ent + γ·Dσm as a single EVIProblem with effective lambda. NOTE: Despite the name, this is not actually a product structure.

                                                                        Equations
                                                                        Instances For
                                                                          noncomputable def Frourio.ofK_decomposed_pair {X : Type u_1} [PseudoMetricSpace X] (Ent : X) (K : KTransform X) (gamma Ssup lamEnt lamD : ) :

                                                                          Decomposed representation: separate EVIProblems for Ent and Dσm components. This returns a pair of problems, not a product EVIProblem on X×X.

                                                                          Equations
                                                                          Instances For
                                                                            theorem Frourio.ofK_EVIProblem_equivalence {X : Type u_1} [PseudoMetricSpace X] [NormedAddCommGroup X] (Ent : X) (K : KTransform X) (gamma Ssup lamEff : ) (u : X) (h : ofK_IsEVISolution Ent K gamma Ssup lamEff u) :
                                                                            IsEVISolution (ofK_as_EVIProblem Ent K gamma Ssup lamEff) u

                                                                            When F satisfies EVI with λ_eff, it satisfies the EVIProblem formulation.

                                                                            def Frourio.EVIProblemPower {X : Type u_1} [PseudoMetricSpace X] (P : EVIProblem X) (n : ) :
                                                                            EVIProblem (Fin nX)

                                                                            N-fold product for homogeneous systems

                                                                            Equations
                                                                            Instances For
                                                                              theorem Frourio.isEVISolution_power_l2 {X : Type u_1} [PseudoMetricSpace X] (P : EVIProblem X) (n : ) (u : Fin nX) (h : ∀ (i : Fin n), IsEVISolution P (u i)) (hl2 : ∀ (f g : Fin nX), dist f g ^ 2 = i : Fin n, dist (f i) (g i) ^ 2) (hAdd : ∀ (v : Fin nX) (t : ), DiniUpper (fun (τ : ) => d2 (fun (i : Fin n) => u i τ) v) t i : Fin n, DiniUpper (fun (τ : ) => d2 (u i τ) (v i)) t) :
                                                                              IsEVISolution (EVIProblemPower P n) fun (t : ) (i : Fin n) => u i t

                                                                              Homogeneous product: N identical EVI solutions yield product solution. NOTE: This assumes an l2-type metric on Fin n → X where distances decompose additively. The default product metric is l∞, which requires different treatment.

                                                                              theorem Frourio.isEVISolution_synchronized_l2 {X : Type u_1} [PseudoMetricSpace X] (P : EVIProblem X) (n : ) (u : X) (h : IsEVISolution P u) (hl2 : ∀ (f g : Fin nX), dist f g ^ 2 = i : Fin n, dist (f i) (g i) ^ 2) (hAdd : ∀ (v : Fin nX) (t : ), DiniUpper (fun (τ : ) => d2 (fun (_i : Fin n) => u τ) v) t i : Fin n, DiniUpper (fun (τ : ) => d2 (u τ) (v i)) t) :
                                                                              IsEVISolution (EVIProblemPower P n) fun (t : ) (x : Fin n) => u t

                                                                              Synchronized product: when all components evolve with the same curve. NOTE: This requires the same l2-type metric assumption as isEVISolution_power_l2.

                                                                              Multi-scale Exponential Laws #

                                                                              This section provides wrappers for λ_eff under multi-scale transformations following the scaling laws from FG (Frourio Geometry) framework as described.

                                                                              The effective lambda under scaling transformation is: λ_eff = Λ^((κ - 2α)k) · λ where:

                                                                              Scaling parameters for multi-scale analysis

                                                                              Instances For
                                                                                noncomputable def Frourio.lambdaEffScaled (params : ScalingParams) (lam : ) (k : ) :

                                                                                Compute the effective lambda at scale level k under scaling transformation. Formula: λ_eff = Λ^((κ - 2α)k) · λ

                                                                                Equations
                                                                                Instances For
                                                                                  noncomputable def Frourio.lambdaScalingFactor (params : ScalingParams) (k : ) :

                                                                                  The exponential scaling factor for lambda

                                                                                  Equations
                                                                                  Instances For
                                                                                    theorem Frourio.lambdaEffScaled_monotone_increasing {params : ScalingParams} (k : ) (lam : ) (hlam : 0 < lam) (hscale_gt : 1 < params.Lambda.rpow ((params.kappa - 2 * params.alpha) * k)) :
                                                                                    lam < lambdaEffScaled params lam k

                                                                                    Monotonicity of scaled lambda: if κ > 2α and k > 0, then λ_eff > λ

                                                                                    theorem Frourio.lambdaEffScaled_invariant {params : ScalingParams} (hbalance : params.kappa = 2 * params.alpha) (lam : ) (k : ) :
                                                                                    lambdaEffScaled params lam k = lam

                                                                                    When κ = 2α (critical balance), the effective lambda is scale-invariant

                                                                                    theorem Frourio.lambdaEffScaled_monotone_decreasing {params : ScalingParams} (k : ) (lam : ) (hlam : 0 < lam) (hscale_lt : params.Lambda.rpow ((params.kappa - 2 * params.alpha) * k) < 1) :
                                                                                    lambdaEffScaled params lam k < lam

                                                                                    When κ < 2α and k > 0, the effective lambda decreases

                                                                                    def Frourio.isometricScalingParams (Lambda kappa : ) (hLambda : 1 < Lambda) (hkappa : 0 < kappa) :

                                                                                    Special case: isometric scaling (α = 0)

                                                                                    Equations
                                                                                    • One or more equations did not get rendered due to their size.
                                                                                    Instances For
                                                                                      theorem Frourio.lambdaEffScaled_isometric (Lambda kappa : ) (hLambda : 1 < Lambda) (hkappa : 0 < kappa) (lam : ) (k : ) :
                                                                                      lambdaEffScaled (isometricScalingParams Lambda kappa hLambda hkappa) lam k = Lambda ^ (kappa * k) * lam

                                                                                      For isometric scaling, λ_eff = Λ^(κk) · λ

                                                                                      def Frourio.euclideanScalingParams (Lambda kappa : ) (hLambda : 1 < Lambda) (hkappa : 0 < kappa) :

                                                                                      Special case: Euclidean similarity (α = 1)

                                                                                      Equations
                                                                                      Instances For
                                                                                        theorem Frourio.lambdaEffScaled_euclidean (Lambda kappa : ) (hLambda : 1 < Lambda) (hkappa : 0 < kappa) (lam : ) (k : ) :
                                                                                        lambdaEffScaled (euclideanScalingParams Lambda kappa hLambda hkappa) lam k = Lambda ^ ((kappa - 2) * k) * lam

                                                                                        For Euclidean similarity, λ_eff = Λ^((κ-2)k) · λ

                                                                                        noncomputable def Frourio.goldenRatio :

                                                                                        Golden ratio as a special metal ratio

                                                                                        Equations
                                                                                        Instances For

                                                                                          The golden ratio is greater than 1

                                                                                          noncomputable def Frourio.goldenScalingParams (kappa alpha : ) (hkappa : 0 < kappa) (halpha : 0 alpha) :

                                                                                          Scaling parameters with golden ratio

                                                                                          Equations
                                                                                          • One or more equations did not get rendered due to their size.
                                                                                          Instances For
                                                                                            def Frourio.ofK_IsEVISolution_scaled {X : Type u_1} [PseudoMetricSpace X] [NormedAddCommGroup X] (Ent : X) (K : KTransform X) (gamma Ssup lam : ) (params : ScalingParams) (k : ) (u : X) :

                                                                                            Multi-scale EVI predicate for Frourio functional under scaling

                                                                                            Equations
                                                                                            Instances For
                                                                                              theorem Frourio.exists_scaled_solution {X : Type u_1} [PseudoMetricSpace X] [NormedAddCommGroup X] (Ent : X) (K : KTransform X) (gamma Ssup lam : ) (params : ScalingParams) (k : ) (hscale : ∃ (v : X), ofK_IsEVISolution Ent K gamma Ssup (lambdaEffScaled params lam k) v) :
                                                                                              ∃ (v : X), ofK_IsEVISolution_scaled Ent K gamma Ssup lam params k v

                                                                                              Existence of scaled solution with adjusted lambda

                                                                                              theorem Frourio.lambdaEffScaled_composition (params : ScalingParams) (lam : ) (k₁ k₂ : ) (hrpow_add : ∀ (x y : ), params.Lambda.rpow (x + y) = params.Lambda.rpow x * params.Lambda.rpow y) :
                                                                                              lambdaEffScaled params (lambdaEffScaled params lam k₁) k₂ = lambdaEffScaled params lam (k₁ + k₂)

                                                                                              Composition of scaling at different levels

                                                                                              theorem Frourio.lambdaEffScaled_inverse (params : ScalingParams) (lam : ) (k : ) (hrpow_add : ∀ (x y : ), params.Lambda.rpow (x + y) = params.Lambda.rpow x * params.Lambda.rpow y) :
                                                                                              lambdaEffScaled params (lambdaEffScaled params lam k) (-k) = lam

                                                                                              Inverse scaling