Documentation

LeanPool.AnomalousDiffusion.Homogenization.Sobolev.L2Ambient

This file introduces the actual L² ambient types used later to package the potential and solenoidal spaces as subspaces of a Hilbert space.

The current Sobolev layer still uses predicate-level MemLp witnesses in many places. This file provides the first typed Lp layer on bounded domains so the closed-subspace and minimization arguments can be formulated cleanly.

@[reducible, inline]
noncomputable abbrev Homogenization.volumeMeasureOn {d : ℕ} (U : Set (Vec d)) :

The restricted Lebesgue measure on a domain U ⊆ \R^d.

Equations
Instances For
    @[reducible, inline]
    noncomputable abbrev Homogenization.ScalarL2 {d : ℕ} (U : Set (Vec d)) :

    Scalar-valued L²(U) with respect to restricted Lebesgue measure.

    Equations
    Instances For
      @[reducible, inline]
      noncomputable abbrev Homogenization.VectorL2 {d : ℕ} (U : Set (Vec d)) :

      Vector-valued L²(U; \R^d).

      Equations
      Instances For
        @[reducible, inline]
        noncomputable abbrev Homogenization.BlockL2 {d : ℕ} (U : Set (Vec d)) :

        Block-valued L²(U; \R^{2d}).

        Equations
        Instances For
          @[reducible, inline]

          Hilbert-valued L²(U; \R^d) built from the custom Euclidean carrier HilbertVec d. This is the intended ambient space for Hilbert-space arguments.

          Equations
          Instances For
            @[reducible, inline]

            Hilbert-valued L²(U; \R^{2d}) built from the custom Euclidean carrier HilbertBlockVec d. This is the intended ambient space for the doubled \mu-problem.

            Equations
            Instances For
              @[reducible, inline]
              noncomputable abbrev Homogenization.MemScalarL2 {d : ℕ} (U : Set (Vec d)) (u : Vec d → ℝ) :

              Predicate-level scalar L² membership on U.

              Equations
              Instances For
                @[reducible, inline]
                noncomputable abbrev Homogenization.MemVectorL2 {d : ℕ} (U : Set (Vec d)) (f : Vec d → Vec d) :

                Predicate-level vector L² membership on U.

                Equations
                Instances For
                  @[reducible, inline]
                  noncomputable abbrev Homogenization.MemBlockL2 {d : ℕ} (U : Set (Vec d)) (F : Vec d → BlockVec d) :

                  Predicate-level block L² membership on U.

                  Equations
                  Instances For
                    @[reducible, inline]
                    noncomputable abbrev Homogenization.MemHilbertVectorL2 {d : ℕ} (U : Set (Vec d)) (f : Vec d → HilbertVec d) :

                    Predicate-level Hilbert-vector L² membership on U.

                    Equations
                    Instances For
                      @[reducible, inline]
                      noncomputable abbrev Homogenization.MemHilbertBlockL2 {d : ℕ} (U : Set (Vec d)) (F : Vec d → HilbertBlockVec d) :

                      Predicate-level Hilbert-block L² membership on U.

                      Equations
                      Instances For
                        def Homogenization.hilbertifyVecField {d : ℕ} (f : Vec d → Vec d) :
                        Vec d → HilbertVec d

                        Reinterpret a plain vector field as a field valued in the Euclidean Hilbert carrier.

                        Equations
                        Instances For

                          Reinterpret a plain doubled field as a field valued in the Euclidean Hilbert carrier.

                          Equations
                          Instances For
                            noncomputable def Homogenization.toScalarL2 {d : ℕ} {U : Set (Vec d)} {u : Vec d → ℝ} (hu : MemScalarL2 U u) :
                            ↥(ScalarL2 U)

                            Promote a scalar MemLp witness to the ambient ScalarL2 type.

                            Equations
                            Instances For
                              noncomputable def Homogenization.toVectorL2 {d : ℕ} {U : Set (Vec d)} {f : Vec d → Vec d} (hf : MemVectorL2 U f) :
                              ↥(VectorL2 U)

                              Promote a vector MemLp witness to the ambient VectorL2 type.

                              Equations
                              Instances For
                                noncomputable def Homogenization.toBlockL2 {d : ℕ} {U : Set (Vec d)} {F : Vec d → BlockVec d} (hF : MemBlockL2 U F) :
                                ↥(BlockL2 U)

                                Promote a block MemLp witness to the ambient BlockL2 type.

                                Equations
                                Instances For
                                  theorem Homogenization.memVectorL2_fst_of_memBlockL2 {d : ℕ} {U : Set (Vec d)} {F : Vec d → BlockVec d} (hF : MemBlockL2 U F) :
                                  MemVectorL2 U fun (x : Vec d) => (F x).1

                                  Extract L² control of the first block component from block L² control.

                                  theorem Homogenization.memVectorL2_snd_of_memBlockL2 {d : ℕ} {U : Set (Vec d)} {F : Vec d → BlockVec d} (hF : MemBlockL2 U F) :
                                  MemVectorL2 U fun (x : Vec d) => (F x).2

                                  Extract L² control of the second block component from block L² control.

                                  Reinterpret a plain block L² witness as a Hilbert-block L² witness.

                                  Reinterpret a plain vector L² witness as a Hilbert-vector L² witness.

                                  noncomputable def Homogenization.toHilbertVectorL2 {d : ℕ} {U : Set (Vec d)} {f : Vec d → HilbertVec d} (hf : MemHilbertVectorL2 U f) :

                                  Promote a Hilbert-vector MemLp witness to the ambient HilbertVectorL2 type.

                                  Equations
                                  Instances For
                                    noncomputable def Homogenization.toHilbertVectorL2OfVecField {d : ℕ} {U : Set (Vec d)} {f : Vec d → Vec d} (hf : MemVectorL2 U f) :

                                    Promote a plain vector MemLp witness directly to the Hilbert-vector ambient type.

                                    Equations
                                    Instances For
                                      noncomputable def Homogenization.toHilbertBlockL2 {d : ℕ} {U : Set (Vec d)} {F : Vec d → HilbertBlockVec d} (hF : MemHilbertBlockL2 U F) :

                                      Promote a Hilbert-block MemLp witness to the ambient HilbertBlockL2 type.

                                      Equations
                                      Instances For
                                        noncomputable def Homogenization.toHilbertBlockL2OfBlockField {d : ℕ} {U : Set (Vec d)} {F : Vec d → BlockVec d} (hF : MemBlockL2 U F) :

                                        Promote a plain block MemLp witness directly to the Hilbert-block ambient type.

                                        Equations
                                        Instances For
                                          theorem Homogenization.coeFn_toScalarL2 {d : ℕ} {U : Set (Vec d)} {u : Vec d → ℝ} (hu : MemScalarL2 U u) :
                                          ↑↑(toScalarL2 hu) =ᵐ[volumeMeasureOn U] u
                                          theorem Homogenization.coeFn_toVectorL2 {d : ℕ} {U : Set (Vec d)} {f : Vec d → Vec d} (hf : MemVectorL2 U f) :
                                          ↑↑(toVectorL2 hf) =ᵐ[volumeMeasureOn U] f
                                          theorem Homogenization.coeFn_toBlockL2 {d : ℕ} {U : Set (Vec d)} {F : Vec d → BlockVec d} (hF : MemBlockL2 U F) :
                                          ↑↑(toBlockL2 hF) =ᵐ[volumeMeasureOn U] F
                                          theorem Homogenization.coeFn_toHilbertVectorL2 {d : ℕ} {U : Set (Vec d)} {f : Vec d → HilbertVec d} (hf : MemHilbertVectorL2 U f) :
                                          ↑↑(toHilbertVectorL2 hf) =ᵐ[volumeMeasureOn U] f
                                          theorem Homogenization.coeFn_toHilbertBlockL2 {d : ℕ} {U : Set (Vec d)} {F : Vec d → HilbertBlockVec d} (hF : MemHilbertBlockL2 U F) :
                                          ↑↑(toHilbertBlockL2 hF) =ᵐ[volumeMeasureOn U] F
                                          theorem Homogenization.toScalarL2_eq_toScalarL2_iff {d : ℕ} {U : Set (Vec d)} {u v : Vec d → ℝ} (hu : MemScalarL2 U u) (hv : MemScalarL2 U v) :
                                          theorem Homogenization.toVectorL2_eq_toVectorL2_iff {d : ℕ} {U : Set (Vec d)} {f g : Vec d → Vec d} (hf : MemVectorL2 U f) (hg : MemVectorL2 U g) :
                                          theorem Homogenization.toBlockL2_eq_toBlockL2_iff {d : ℕ} {U : Set (Vec d)} {F G : Vec d → BlockVec d} (hF : MemBlockL2 U F) (hG : MemBlockL2 U G) :

                                          Continuous linear integration over a measurable subset, acting on scalar L²(U) classes.

                                          Equations
                                          Instances For

                                            Continuous linear coordinate integration over a measurable subset, acting on Hilbert-vector L²(U) classes.

                                            Equations
                                            • One or more equations did not get rendered due to their size.
                                            Instances For
                                              noncomputable def Homogenization.vectorL2ToHilbertVectorL2 {d : ℕ} {U : Set (Vec d)} :

                                              Transport plain vector L² fields into the Hilbert-vector carrier by applying Vec -> HilbertVec pointwise.

                                              Equations
                                              Instances For
                                                noncomputable def Homogenization.hilbertVectorL2ToVectorL2 {d : ℕ} {U : Set (Vec d)} :

                                                Transport Hilbert-vector L² fields back to the plain vector carrier by applying HilbertVec -> Vec pointwise.

                                                Equations
                                                Instances For
                                                  theorem Homogenization.coeFn_vectorL2ToHilbertVectorL2 {d : ℕ} {U : Set (Vec d)} (f : ↥(VectorL2 U)) :
                                                  ↑↑(vectorL2ToHilbertVectorL2 f) =ᵐ[volumeMeasureOn U] fun (x : Vec d) => HilbertVec.ofVec (↑↑f x)
                                                  theorem Homogenization.coeFn_hilbertVectorL2ToVectorL2 {d : ℕ} {U : Set (Vec d)} (f : ↥(HilbertVectorL2 U)) :
                                                  ↑↑(hilbertVectorL2ToVectorL2 f) =ᵐ[volumeMeasureOn U] fun (x : Vec d) => (↑↑f x).toVec

                                                  Continuous linear identification between the plain vector carrier VectorL2 U and the Hilbert-vector carrier HilbertVectorL2 U.

                                                  Equations
                                                  • One or more equations did not get rendered due to their size.
                                                  Instances For
                                                    noncomputable def Homogenization.blockL2ToHilbertBlockL2 {d : ℕ} {U : Set (Vec d)} :

                                                    Transport plain block L² fields into the Hilbert-block carrier by applying BlockVec -> HilbertBlockVec pointwise.

                                                    Equations
                                                    Instances For
                                                      noncomputable def Homogenization.hilbertBlockL2ToBlockL2 {d : ℕ} {U : Set (Vec d)} :

                                                      Transport Hilbert-block L² fields back to the plain block carrier by applying HilbertBlockVec -> BlockVec pointwise.

                                                      Equations
                                                      Instances For
                                                        theorem Homogenization.coeFn_blockL2ToHilbertBlockL2 {d : ℕ} {U : Set (Vec d)} (F : ↥(BlockL2 U)) :
                                                        ↑↑(blockL2ToHilbertBlockL2 F) =ᵐ[volumeMeasureOn U] fun (x : Vec d) => HilbertBlockVec.ofBlockVec (↑↑F x)
                                                        theorem Homogenization.coeFn_hilbertBlockL2ToBlockL2 {d : ℕ} {U : Set (Vec d)} (F : ↥(HilbertBlockL2 U)) :
                                                        ↑↑(hilbertBlockL2ToBlockL2 F) =ᵐ[volumeMeasureOn U] fun (x : Vec d) => (↑↑F x).toBlockVec
                                                        noncomputable def Homogenization.continuousLinearEquivBlockL2 {d : ℕ} {U : Set (Vec d)} :

                                                        Continuous linear identification between the plain block carrier BlockL2 U and the Hilbert-block carrier HilbertBlockL2 U.

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

                                                          Continuous linear projection from a Hilbert block L² field to its potential component.

                                                          Equations
                                                          Instances For

                                                            Continuous linear projection from a Hilbert block vector to its flux component.

                                                            Equations
                                                            Instances For

                                                              Continuous linear projection from a Hilbert block L² field to its potential component.

                                                              Equations
                                                              Instances For

                                                                Continuous linear projection from a Hilbert block L² field to its flux component.

                                                                Equations
                                                                Instances For
                                                                  theorem Homogenization.coeFn_hilbertBlockL2PotentialCLM {d : ℕ} {U : Set (Vec d)} (F : ↥(HilbertBlockL2 U)) :
                                                                  ↑↑(hilbertBlockL2PotentialCLM F) =ᵐ[volumeMeasureOn U] fun (x : Vec d) => (↑↑F x).potential
                                                                  theorem Homogenization.coeFn_hilbertBlockL2FluxCLM {d : ℕ} {U : Set (Vec d)} (F : ↥(HilbertBlockL2 U)) :
                                                                  ↑↑(hilbertBlockL2FluxCLM F) =ᵐ[volumeMeasureOn U] fun (x : Vec d) => (↑↑F x).flux

                                                                  Constant Hilbert block fields as elements of the ambient space L²(U; \R^{2d}).

                                                                  Equations
                                                                  Instances For

                                                                    Constant algebraic block vectors embedded into the Hilbert-valued ambient space L²(U; \R^{2d}).

                                                                    Equations
                                                                    Instances For

                                                                      A fixed block matrix acts continuously on the ambient Hilbert space L²(U; \R^{2d}) by pointwise application.

                                                                      Equations
                                                                      Instances For