Imports
/- Copyright (c) 2026 Juan Jose Fernandez Morales. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Juan Jose Fernandez Morales -/ module public import PhyslibAlpha.ClassicalFieldTheory.Local.FirstVariation.Support

First variation regularity

i. Overview

This module contains regularity consequences used in the local Euler-Lagrange criterion: continuity of the Euler-Lagrange operator from coefficient regularity, and the bridge from coordinate regularity of the local Lagrangian to the packaged smooth-regularity statement.

ii. Key results

    ClassicalFieldTheory.Local.continuous_eulerLagrangeOp_of_regular

    ClassicalFieldTheory.Local.hasSmoothEulerLagrangeRegularity_of_contDiffCoordDerivInCoordinates

iii. Table of contents

    A. Continuity of the Euler-Lagrange operator

    B. Smooth regularity in coordinates

iv. References

    J. Cortés and A. Haupt, Lecture Notes on Mathematical Methods of Classical Physics, Chapter 5, Theorem 5.2.

@[expose] public section

A. Continuity of the Euler-Lagrange operator

The combined regularity package currently needed to derive the local Euler-Lagrange criterion for a field f: smooth coefficient functions along f, and continuity of the corresponding coefficient families along every admissible varied-field family based at f.

def HasEulerLagrangeRegularityAt (L : Lagrangian d m k) (f : Space d → EuclideanSpace ℝ (Fin m)) : Prop := Lagrangian.ContDiffCoordDerivAlongField L f ∧ ∀ η : AdmissibleVariation d (EuclideanSpace ℝ (Fin m)), Lagrangian.ContinuousCoordDerivAlongFamily L (fun s : ℝ => variedField f η s)

A local Lagrangian has smooth Euler-Lagrange regularity if every smooth field satisfies the regularity package currently needed by the local first-variation proof.

def HasSmoothEulerLagrangeRegularity (L : Lagrangian d m k) : Prop := ∀ f : Space d → EuclideanSpace ℝ (Fin m), ContDiff ℝ ∞ f → HasEulerLagrangeRegularityAt L f
d:ℕm:ℕk:ℕL:Lagrangian d m kf:Space d → EuclideanSpace ℝ (Fin m)hcoeff:L.ContDiffCoordDerivAlongField fI:DerivativeIndex d ka:Fin mhtd:ContDiff ℝ ∞ (iteratedTotalDerivative k (↑I) (L.coordDeriv I a) f)hsign:ContDiff ℝ ∞ fun x => (-1) ^ (↑I).order⊢ Continuous (eulerLagrangeTerm L I a f) All goals completed! 🐙lemma continuous_eulerLagrangeComponent_of_regular (L : Lagrangian d m k) (f : Space d → EuclideanSpace ℝ (Fin m)) (hcoeff : Lagrangian.ContDiffCoordDerivAlongField L f) (a : Fin m) : Continuous (eulerLagrangeComponent L a f) := d:ℕm:ℕk:ℕL:Lagrangian d m kf:Space d → EuclideanSpace ℝ (Fin m)hcoeff:L.ContDiffCoordDerivAlongField fa:Fin m⊢ Continuous (eulerLagrangeComponent L a f) d:ℕm:ℕk:ℕL:Lagrangian d m kf:Space d → EuclideanSpace ℝ (Fin m)hcoeff:L.ContDiffCoordDerivAlongField fa:Fin m⊢ ∀ i ∈ Finset.univ, Continuous (eulerLagrangeTerm L i a f) d:ℕm:ℕk:ℕL:Lagrangian d m kf:Space d → EuclideanSpace ℝ (Fin m)hcoeff:L.ContDiffCoordDerivAlongField fa:Fin mI:DerivativeIndex d ka✝:I ∈ Finset.univ⊢ Continuous (eulerLagrangeTerm L I a f) All goals completed! 🐙lemma continuous_eulerLagrangeOp_of_regular (L : Lagrangian d m k) (f : Space d → EuclideanSpace ℝ (Fin m)) (hcoeff : Lagrangian.ContDiffCoordDerivAlongField L f) : Continuous (eulerLagrangeOp L f) := d:ℕm:ℕk:ℕL:Lagrangian d m kf:Space d → EuclideanSpace ℝ (Fin m)hcoeff:L.ContDiffCoordDerivAlongField f⊢ Continuous (eulerLagrangeOp L f) d:ℕm:ℕk:ℕL:Lagrangian d m kf:Space d → EuclideanSpace ℝ (Fin m)hcoeff:L.ContDiffCoordDerivAlongField fg:Space d → Fin m → ℝ := fun x a => eulerLagrangeComponent L a f x⊢ Continuous (eulerLagrangeOp L f) d:ℕm:ℕk:ℕL:Lagrangian d m kf:Space d → EuclideanSpace ℝ (Fin m)hcoeff:L.ContDiffCoordDerivAlongField fg:Space d → Fin m → ℝ := fun x a => eulerLagrangeComponent L a f xhg:Continuous g⊢ Continuous (eulerLagrangeOp L f) d:ℕm:ℕk:ℕL:Lagrangian d m kf:Space d → EuclideanSpace ℝ (Fin m)hcoeff:L.ContDiffCoordDerivAlongField fg:Space d → Fin m → ℝ := fun x a => eulerLagrangeComponent L a f xhg:Continuous g⊢ Continuous fun x => WithLp.toLp 2 (g x) All goals completed! 🐙

B. Smooth regularity in coordinates

theorem hasSmoothEulerLagrangeRegularity_of_contDiffCoordDerivInCoordinates (L : Lagrangian d m k) (hcoord : Lagrangian.ContDiffCoordDerivInCoordinates L) : HasSmoothEulerLagrangeRegularity L := d:ℕm:ℕk:ℕL:Lagrangian d m khcoord:L.ContDiffCoordDerivInCoordinates⊢ HasSmoothEulerLagrangeRegularity L d:ℕm:ℕk:ℕL:Lagrangian d m khcoord:L.ContDiffCoordDerivInCoordinatesf:Space d → EuclideanSpace ℝ (Fin m)hf:ContDiff ℝ ∞ f⊢ HasEulerLagrangeRegularityAt L f d:ℕm:ℕk:ℕL:Lagrangian d m khcoord:L.ContDiffCoordDerivInCoordinatesf:Space d → EuclideanSpace ℝ (Fin m)hf:ContDiff ℝ ∞ f⊢ ∀ (η : AdmissibleVariation d (EuclideanSpace ℝ (Fin m))), L.ContinuousCoordDerivAlongFamily fun s => variedField f η s d:ℕm:ℕk:ℕL:Lagrangian d m khcoord:L.ContDiffCoordDerivInCoordinatesf:Space d → EuclideanSpace ℝ (Fin m)hf:ContDiff ℝ ∞ fη:AdmissibleVariation d (EuclideanSpace ℝ (Fin m))⊢ L.ContinuousCoordDerivAlongFamily fun s => variedField f η s All goals completed! 🐙