Documentation

Aristotle.Landau.main.Defs

Core Definitions for the Vlasov-Maxwell-Landau System #

Defines the Landau collision operator, velocity decay conditions, the VMLSteadyState structure, and the FlatTorus3 typeclass. Also provides @[simp] unfolding lemmas and small auxiliary lemmas about the definitions. Derived FlatTorus3 lemmas are in FlatTorus3Lemmas.lean.

def VML.normSq (z : Fin 3) :

Squared Euclidean norm: ‖z‖² = z · z = ∑ᵢ zᵢ²

Equations
Instances For
    @[simp]
    theorem VML.normSq_zero :
    normSq 0 = 0
    theorem VML.normSq_nonneg (z : Fin 3) :
    theorem VML.normSq_eq_zero {z : Fin 3} :
    normSq z = 0 z = 0
    theorem VML.normSq_pos {z : Fin 3} (hz : z 0) :
    0 < normSq z
    theorem VML.normSq_neg (z : Fin 3) :
    def VML.eucNorm (z : Fin 3) :

    Euclidean norm: |z| = √(z · z)

    Equations
    Instances For
      theorem VML.eucNorm_nonneg (z : Fin 3) :
      theorem VML.eucNorm_neg (z : Fin 3) :
      theorem VML.eucNorm_sq (z : Fin 3) :
      def VML.innerLandauMatrix (z : Fin 3) :
      Matrix (Fin 3) (Fin 3)

      The inner part of the Landau matrix: B(z) = |z|² I₃ - z zᵀ. This is the matrix that appears inside the scalar factor Ψ(|z|).

      Equations
      Instances For
        def VML.landauMatrix (Ψ : ) (z : Fin 3) :
        Matrix (Fin 3) (Fin 3)

        The Landau collision matrix: A(z) = Ψ(|z|) · (|z|² I₃ - z zᵀ). Reference: Definition 2 (def:landau_matrix)

        Equations
        Instances For
          theorem VML.innerLandauMatrix_apply (z : Fin 3) (i j : Fin 3) :
          innerLandauMatrix z i j = (if i = j then normSq z else 0) - z i * z j
          def VML.IsMaxwellian (f : (Fin 3)) :

          A Maxwellian distribution: log-quadratic with c₀ < 0 (ensuring integrability). Specifically: ∃ a₀ b c₀, c₀ < 0 ∧ f(v) = exp(a₀ + b · v + c₀ |v|²)

          Equations
          Instances For
            theorem VML.IsMaxwellian_params_injective (a₀ a₀' : ) (b b' : Fin 3) (c₀ c₀' : ) (h : ∀ (v : Fin 3), a₀ + b ⬝ᵥ v + c₀ * normSq v = a₀' + b' ⬝ᵥ v + c₀' * normSq v) :
            a₀ = a₀' b = b' c₀ = c₀'

            The Maxwellian parameters (a₀, b, c₀) are injective: if exp(a₀ + b·v + c₀|v|²) = exp(a₀' + b'·v + c₀'|v|²) for all v, then a₀ = a₀', b = b', c₀ = c₀'.

            theorem VML.IsMaxwellian.pos {f : (Fin 3)} (hM : IsMaxwellian f) (v : Fin 3) :
            0 < f v

            A Maxwellian distribution is strictly positive everywhere.

            theorem VML.IsMaxwellian.contDiff {f : (Fin 3)} (hM : IsMaxwellian f) :

            A Maxwellian distribution is smooth (C^∞).

            def VML.equilibriumMaxwellian (ρ_ion T : ) (v : Fin 3) :

            The equilibrium Maxwellian (zero drift, density = ρ_ion): f∞(v) = ρ_ion/(2πT∞)^(3/2) · exp(-|v|²/(2T∞))

            Equations
            Instances For
              theorem VML.equilibriumMaxwellian_isMaxwellian (ρ T : ) ( : 0 < ρ) (hT : 0 < T) :

              The equilibrium Maxwellian is a Maxwellian (i.e., satisfies IsMaxwellian). Rewrites ρ/(2πT)^{3/2} · exp(-|v|²/(2T)) = exp(log(ρ/(2πT)^{3/2}) + 0·v + (-1/(2T))|v|²).

              theorem VML.equilibriumMaxwellian_T_injective (ρ T₁ T₂ : ) ( : 0 < ρ) (hT₁ : 0 < T₁) (hT₂ : 0 < T₂) (h : ∀ (v : Fin 3), equilibriumMaxwellian ρ T₁ v = equilibriumMaxwellian ρ T₂ v) :
              T₁ = T₂

              The equilibrium temperature T is an injective parameter: if two Maxwellians with the same density agree as functions, their temperatures must be equal.

              theorem VML.equilibriumMaxwellian_pos (ρ T : ) ( : 0 < ρ) (hT : 0 < T) (v : Fin 3) :

              The equilibrium Maxwellian is strictly positive for ρ > 0, T > 0.

              def VML.vGrad (f : (Fin 3)) (v : Fin 3) :
              Fin 3

              Velocity gradient: ∇ᵥf(v), the vector of partial derivatives of f at v. Uses Fréchet derivative from Mathlib.

              Equations
              Instances For
                def VML.vDiv (F : (Fin 3)Fin 3) (v : Fin 3) :

                Velocity divergence: ∇ᵥ · F(v) = ∑ᵢ ∂Fᵢ/∂vᵢ

                Equations
                Instances For
                  def VML.cross (a b : Fin 3) :
                  Fin 3

                  Cross product in ℝ³: a × b

                  Equations
                  Instances For
                    theorem VML.velocity_ibp (F : (Fin 3)Fin 3) (g : (Fin 3)) (hF_diff : ∀ (i : Fin 3), Differentiable fun (v : Fin 3) => F v i) (hg_diff : Differentiable g) (h_int_df_g : ∀ (i : Fin 3), MeasureTheory.Integrable (fun (v : Fin 3) => (fderiv (fun (w : Fin 3) => F w i) v) (Pi.single i 1) * g v) MeasureTheory.volume) (h_int_f_dg : ∀ (i : Fin 3), MeasureTheory.Integrable (fun (v : Fin 3) => F v i * (fderiv g v) (Pi.single i 1)) MeasureTheory.volume) (h_int_fg : ∀ (i : Fin 3), MeasureTheory.Integrable (fun (v : Fin 3) => F v i * g v) MeasureTheory.volume) :
                    (v : Fin 3), vDiv F v * g v = - (v : Fin 3), F v ⬝ᵥ vGrad g v

                    Velocity-space integration by parts on ℝ³. ∫ (∇ᵥ · F)(v) · g(v) dv = -∫ F(v) · (∇ᵥg)(v) dv.

                    Uses Mathlib's integral_mul_fderiv_eq_neg_fderiv_mul_of_integrable (n-dimensional IBP for Fréchet derivatives) applied per component.

                    The three per-component integrability hypotheses (derivative·g, f·derivative, and f·g) are the natural conditions for Bochner-integral IBP.

                    def VML.LandauOperator (Ψ : ) (f : (Fin 3)) (v : Fin 3) :

                    The Landau collision operator Q(f,f)(v). Reference: Definition 3 (def:landau_operator)

                    Q(f,f)(v) = ∇ᵥ · ∫_{ℝ³} A(v-w) [f(w)∇ᵥf(v) - f(v)∇_wf(w)] dw

                    Equations
                    Instances For
                      def VML.entropyDissipation (Ψ : ) (f : (Fin 3)) :

                      The entropy dissipation functional: D(f) = ∫ Q(f,f)(v) log f(v) dv. Reference: Definition in Lemma 5 (lem:entropy_dissipation)

                      Equations
                      Instances For
                        theorem VML.landau_ibp (Ψ : ) (g : (Fin 3)) (hg_pos : ∀ (v : Fin 3), 0 < g v) (hg_smooth : ContDiff 3 g) (_hg_int : MeasureTheory.Integrable g MeasureTheory.volume) (hFlux_diff : ∀ (i : Fin 3), Differentiable fun (v : Fin 3) => ( (w : Fin 3), (landauMatrix Ψ (v - w)).mulVec (g w vGrad g v - g v vGrad g w)) i) (h_int_df_g : ∀ (i : Fin 3), MeasureTheory.Integrable (fun (v : Fin 3) => (fderiv (fun (v' : Fin 3) => ( (w : Fin 3), (landauMatrix Ψ (v' - w)).mulVec (g w vGrad g v' - g v' vGrad g w)) i) v) (Pi.single i 1) * (Real.log g) v) MeasureTheory.volume) (h_int_f_dg : ∀ (i : Fin 3), MeasureTheory.Integrable (fun (v : Fin 3) => ( (w : Fin 3), (landauMatrix Ψ (v - w)).mulVec (g w vGrad g v - g v vGrad g w)) i * (fderiv (Real.log g) v) (Pi.single i 1)) MeasureTheory.volume) (h_int_fg : ∀ (i : Fin 3), MeasureTheory.Integrable (fun (v : Fin 3) => ( (w : Fin 3), (landauMatrix Ψ (v - w)).mulVec (g w vGrad g v - g v vGrad g w)) i * (Real.log g) v) MeasureTheory.volume) (hFlux_int : ∀ (v : Fin 3), MeasureTheory.Integrable (fun (w : Fin 3) => (landauMatrix Ψ (v - w)).mulVec (g w vGrad g v - g v vGrad g w)) MeasureTheory.volume) :
                        (v : Fin 3), LandauOperator Ψ g v * (Real.log g) v = - (v : Fin 3) (w : Fin 3), vGrad (Real.log g) v ⬝ᵥ (landauMatrix Ψ (v - w)).mulVec (g w vGrad g v - g v vGrad g w)

                        IBP for the Landau collision operator: ∫ Q(g,g)(v) · log g(v) dv equals the symmetrized weak form. Combines velocity-space IBP (∫ div F · g = -∫ F · ∇g) with dotProduct_integral_comm (pulling the w-integral through the dot product).

                        The integrability hypotheses on the Landau flux are the natural conditions for Bochner-integral IBP. They require the flux F(v) = ∫_w A(v-w)[...] dw and its derivatives to be integrable against log g — this holds for distributions with sufficient velocity-space decay (e.g., sub-Gaussian tails).

                        def VML.PSDIntegrand (Ψ : ) (f : (Fin 3)) (v w : Fin 3) :

                        The PSD integrand: g(v,w) = f(v)·f(w)·⟨Δ(v,w), A(v-w) Δ(v,w)⟩ where Δ(v,w) = ∇log f(v) - ∇log f(w). This appears in the entropy dissipation formula (Lemma 5).

                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For
                          theorem VML.neg_cross (a b : Fin 3) :
                          -cross a b = cross b a

                          Cross product antisymmetry: -cross a b = cross b a.

                          theorem VML.cross_smul_left (c : ) (a b : Fin 3) :
                          cross (c a) b = c cross a b
                          theorem VML.cross_zero_left (b : Fin 3) :
                          cross 0 b = 0

                          Helper: cross product with zero first argument

                          theorem VML.vecMulVec_self_mulVec (z w : Fin 3) :

                          Helper: (vecMulVec z z) *ᵥ w = (z · w) • z

                          Abstract characterization of a flat 3-torus with differential operators.

                          The spatial domain X is a compact nonempty space equipped with a MeasureSpace instance (providing a canonical measure for integration via Mathlib's ) and abstract differential operators (grad, div, curl).

                          These axioms are satisfied by any flat compact Riemannian 3-manifold without boundary (e.g. T³ = ℝ³/ℤ³) equipped with its standard differential operators and Riemannian volume form. See TorusInstance.lean for a concrete instance on Fin 3 → AddCircle 1.

                          Axiom design note: The linear operator axioms (hGradAdd, hGradScalarMul, hDivLinear) are stated universally (for all functions X → ℝ) because linearity of fderiv genuinely holds for all functions: fderiv(c * f) = c * fderiv(f) is true even for non-differentiable f (both sides are 0 by definition).

                          The chain rule axiom (hGradChainExp) requires IsSpatiallySmooth ⊤ φ: without it, on the concrete torus both sides collapse to 0 via fderiv's junk value, making the axiom vacuously true rather than expressing a genuine chain rule.

                          hSpatialVelocityFubini requires joint integrability of uncurried F; the concrete instance (TorusInstance) provides it via Mathlib's integral_integral_swap. hSpatialAdd requires integrability of both summands (honest: Mathlib's integral_add). hGradIntegrable provides integrability of gradient components for spatially differentiable functions (on torus: C¹ → continuous → integrable on compact).

                          Integration uses Mathlib's ∫ x, f x (Bochner integral over volume).

                          Property fields (23):

                          • Operator properties (5): hDivLinear, hGradConst, hGradAdd, hGradScalarMul, hGradChainExp
                          • Closed manifold integration (2): hCurlIntZero, hIBP_spatial
                          • Analysis on compact manifold (4): hHarmonic_const, hLaplacianMaxNonpos, hSpatialPos, hSpatialNonnegZero
                          • Flat geometry (2): hKillingToHarmonic, hCurlZeroDivZeroHarmonic
                          • Abstract measure (3): hSpatialVelocityFubini, hSpatialAdd, hGradIntegrable
                          • Differentiability predicate + closure (7): IsSpatiallySmooth ⊤, hDiff_const ⊤, hDiff_add ⊤, hDiff_smul ⊤, hDiff_log ⊤, hDiff_continuous ⊤, hDiff_grad ⊤

                          Derived lemmas (in FlatTorus3Lemmas.lean):

                          • hGradChainLog, hGradIntZero, hLaplacianMinNonneg, hSpatialMul, etc.
                          Instances
                            @[instance 100]
                            @[instance 100]
                            @[reducible, inline]
                            noncomputable abbrev VML.FlatTorus3.spatialIntegral {X : Type u_1} [FlatTorus3 X] (g : X) :

                            Compatibility wrapper: spatial integral as Mathlib's Bochner integral. Defined as abbrev so it unfolds transparently in rewrites.

                            Equations
                            Instances For