Imports
/-
Copyright (c) 2025 Joseph Tooby-Smith. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Joseph Tooby-Smith
-/
module
public import Physlib.Electromagnetism.Distributional.Dynamics.LagrangianExtrema of the Lagrangian density
i. Overview
In this module we define what it means for an electromagnetic potential to be an extremum of the Lagrangian density in presence of a Lorentz current density.
This is equivalent to the electromagnetic potential satisfying Maxwell's equations with sources, i.e. Gauss's law and Ampère's law.
ii. Key results
IsExtrema : The condition on an electromagnetic potential to be an extrema of the lagrangian.
iii. Table of contents
A. Is Extema condition in the distributional case
A.1. IsExtrema and Gauss's law and Ampère's law
A.2. IsExtrema in terms of Vector Potentials
A.3. The exterma condition in terms of tensors
A.4. The invariance of the exterma condition under Lorentz transformations
iv. References
@[expose] public sectionA. Is Extema condition in the distributional case
The above results looked at the extrema condition for electromagnetic potentials that are functions. We now look at the case where the electromagnetic potential is a distribution.
The proposition on an electromagnetic potential, corresponding to the statement that it is an extrema of the lagrangian.
def IsExtrema {d} (𝓕 : FreeSpace)
(A : DistElectromagneticPotential d)
(J : DistLorentzCurrentDensity d) : Prop := A.gradLagrangian 𝓕 J = 0lemma isExtrema_iff_gradLagrangian {𝓕 : FreeSpace}
(A : DistElectromagneticPotential d)
(J : DistLorentzCurrentDensity d) :
IsExtrema 𝓕 A J ↔ A.gradLagrangian 𝓕 J = 0 := d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity d⊢ IsExtrema 𝓕 A J ↔ gradLagrangian 𝓕 A J = 0 All goals completed! 🐙d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity d⊢ gradLagrangian 𝓕 A J = 0 ↔
(∀ (ε : SchwartzMap (SpaceTime d) ℝ), (gradLagrangian 𝓕 A J) ε (Sum.inl 0) = 0) ∧
∀ (ε : SchwartzMap (SpaceTime d) ℝ) (i : Fin d), (gradLagrangian 𝓕 A J) ε (Sum.inr i) = 0
refine ⟨fun h => by d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dh:gradLagrangian 𝓕 A J = 0⊢ (∀ (ε : SchwartzMap (SpaceTime d) ℝ), (gradLagrangian 𝓕 A J) ε (Sum.inl 0) = 0) ∧
∀ (ε : SchwartzMap (SpaceTime d) ℝ) (i : Fin d), (gradLagrangian 𝓕 A J) ε (Sum.inr i) = 0 simp [h] All goals completed! 🐙, fun h => ?_⟩
ext1 ε d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dh:(∀ (ε : SchwartzMap (SpaceTime d) ℝ), (gradLagrangian 𝓕 A J) ε (Sum.inl 0) = 0) ∧
∀ (ε : SchwartzMap (SpaceTime d) ℝ) (i : Fin d), (gradLagrangian 𝓕 A J) ε (Sum.inr i) = 0ε:SchwartzMap (SpaceTime d) ℝ⊢ (gradLagrangian 𝓕 A J) ε = 0 ε
funext i d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dh:(∀ (ε : SchwartzMap (SpaceTime d) ℝ), (gradLagrangian 𝓕 A J) ε (Sum.inl 0) = 0) ∧
∀ (ε : SchwartzMap (SpaceTime d) ℝ) (i : Fin d), (gradLagrangian 𝓕 A J) ε (Sum.inr i) = 0ε:SchwartzMap (SpaceTime d) ℝi:Fin 1 ⊕ Fin d⊢ (gradLagrangian 𝓕 A J) ε i = 0 ε i
match i with
| Sum.inl 0 => d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dh:(∀ (ε : SchwartzMap (SpaceTime d) ℝ), (gradLagrangian 𝓕 A J) ε (Sum.inl 0) = 0) ∧
∀ (ε : SchwartzMap (SpaceTime d) ℝ) (i : Fin d), (gradLagrangian 𝓕 A J) ε (Sum.inr i) = 0ε:SchwartzMap (SpaceTime d) ℝi:Fin 1 ⊕ Fin d⊢ (gradLagrangian 𝓕 A J) ε (Sum.inl 0) = 0 ε (Sum.inl 0) exact h.1 ε All goals completed! 🐙
| Sum.inr j => d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dh:(∀ (ε : SchwartzMap (SpaceTime d) ℝ), (gradLagrangian 𝓕 A J) ε (Sum.inl 0) = 0) ∧
∀ (ε : SchwartzMap (SpaceTime d) ℝ) (i : Fin d), (gradLagrangian 𝓕 A J) ε (Sum.inr i) = 0ε:SchwartzMap (SpaceTime d) ℝi:Fin 1 ⊕ Fin dj:Fin d⊢ (gradLagrangian 𝓕 A J) ε (Sum.inr j) = 0 ε (Sum.inr j) exact h.2 ε j All goals completed! 🐙A.1. IsExtrema and Gauss's law and Ampère's law
We show that A is an extrema of the lagrangian if and only if Gauss's law and Ampère's law hold.
In other words,
$$\nabla \cdot \mathbf{E} = \frac{\rho}{\varepsilon_0}$$ and $$\mu_0 \varepsilon_0 \frac{\partial \mathbf{E}i}{\partial t} - \sum_j \partial_j \mathbf{B}{j i} + \mu_0 \mathbf{J}_i = 0.$$ Here $\mathbf{B}$ is the magnetic field matrix.
lemma isExtrema_iff_space_time {𝓕 : FreeSpace}
(A : DistElectromagneticPotential d)
(J : DistLorentzCurrentDensity d) :
IsExtrema 𝓕 A J ↔
(∀ ε, distSpaceDiv (A.electricField 𝓕.c) ε = (1/𝓕.ε₀) * (J.chargeDensity 𝓕.c) ε) ∧
(∀ ε i, 𝓕.μ₀ * 𝓕.ε₀ * (Space.distTimeDeriv (A.electricField 𝓕.c)) ε i -
∑ j, ((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
((Space.distSpaceDeriv j (A.magneticFieldMatrix 𝓕.c)) ε) (j, i) +
𝓕.μ₀ * J.currentDensity 𝓕.c ε i = 0) := by d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity d⊢ IsExtrema 𝓕 A J ↔
(∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0
rw [isExtrema_iff_components d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity d⊢ ((∀ (ε : SchwartzMap (SpaceTime d) ℝ), (gradLagrangian 𝓕 A J) ε (Sum.inl 0) = 0) ∧
∀ (ε : SchwartzMap (SpaceTime d) ℝ) (i : Fin d), (gradLagrangian 𝓕 A J) ε (Sum.inr i) = 0) ↔
(∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0 d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity d⊢ ((∀ (ε : SchwartzMap (SpaceTime d) ℝ), (gradLagrangian 𝓕 A J) ε (Sum.inl 0) = 0) ∧
∀ (ε : SchwartzMap (SpaceTime d) ℝ) (i : Fin d), (gradLagrangian 𝓕 A J) ε (Sum.inr i) = 0) ↔
(∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0] d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity d⊢ ((∀ (ε : SchwartzMap (SpaceTime d) ℝ), (gradLagrangian 𝓕 A J) ε (Sum.inl 0) = 0) ∧
∀ (ε : SchwartzMap (SpaceTime d) ℝ) (i : Fin d), (gradLagrangian 𝓕 A J) ε (Sum.inr i) = 0) ↔
(∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0
have hsurj : Function.Surjective (SchwartzMap.compCLMOfContinuousLinearEquiv (F := ℝ) ℝ
(SpaceTime.toTimeAndSpace 𝓕.c (d := d)).symm) := by d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity d⊢ IsExtrema 𝓕 A J ↔
(∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0 d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)⊢ ((∀ (ε : SchwartzMap (SpaceTime d) ℝ), (gradLagrangian 𝓕 A J) ε (Sum.inl 0) = 0) ∧
∀ (ε : SchwartzMap (SpaceTime d) ℝ) (i : Fin d), (gradLagrangian 𝓕 A J) ε (Sum.inr i) = 0) ↔
(∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0
intro f d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity df:SchwartzMap (Time × Space d) ℝ⊢ ∃ a, (SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm) a = f d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)⊢ ((∀ (ε : SchwartzMap (SpaceTime d) ℝ), (gradLagrangian 𝓕 A J) ε (Sum.inl 0) = 0) ∧
∀ (ε : SchwartzMap (SpaceTime d) ℝ) (i : Fin d), (gradLagrangian 𝓕 A J) ε (Sum.inr i) = 0) ↔
(∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0
refine ⟨SchwartzMap.compCLMOfContinuousLinearEquiv ℝ
(SpaceTime.toTimeAndSpace 𝓕.c (d := d)).symm.symm f, ?_⟩ d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity df:SchwartzMap (Time × Space d) ℝ⊢ (SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)
((SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm.symm) f) =
f d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)⊢ ((∀ (ε : SchwartzMap (SpaceTime d) ℝ), (gradLagrangian 𝓕 A J) ε (Sum.inl 0) = 0) ∧
∀ (ε : SchwartzMap (SpaceTime d) ℝ) (i : Fin d), (gradLagrangian 𝓕 A J) ε (Sum.inr i) = 0) ↔
(∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0
ext x d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity df:SchwartzMap (Time × Space d) ℝx:Time × Space d⊢ ((SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)
((SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm.symm) f))
x =
f x d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)⊢ ((∀ (ε : SchwartzMap (SpaceTime d) ℝ), (gradLagrangian 𝓕 A J) ε (Sum.inl 0) = 0) ∧
∀ (ε : SchwartzMap (SpaceTime d) ℝ) (i : Fin d), (gradLagrangian 𝓕 A J) ε (Sum.inr i) = 0) ↔
(∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0
simp d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)⊢ ((∀ (ε : SchwartzMap (SpaceTime d) ℝ), (gradLagrangian 𝓕 A J) ε (Sum.inl 0) = 0) ∧
∀ (ε : SchwartzMap (SpaceTime d) ℝ) (i : Fin d), (gradLagrangian 𝓕 A J) ε (Sum.inr i) = 0) ↔
(∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0 d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)⊢ ((∀ (ε : SchwartzMap (SpaceTime d) ℝ), (gradLagrangian 𝓕 A J) ε (Sum.inl 0) = 0) ∧
∀ (ε : SchwartzMap (SpaceTime d) ℝ) (i : Fin d), (gradLagrangian 𝓕 A J) ε (Sum.inr i) = 0) ↔
(∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0
have hgauss : ∀ a b : ℝ,
1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * b := by d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity d⊢ IsExtrema 𝓕 A J ↔
(∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0 d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * b⊢ ((∀ (ε : SchwartzMap (SpaceTime d) ℝ), (gradLagrangian 𝓕 A J) ε (Sum.inl 0) = 0) ∧
∀ (ε : SchwartzMap (SpaceTime d) ℝ) (i : Fin d), (gradLagrangian 𝓕 A J) ε (Sum.inr i) = 0) ↔
(∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0
intro a b d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)a:ℝb:ℝ⊢ 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * b d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * b⊢ ((∀ (ε : SchwartzMap (SpaceTime d) ℝ), (gradLagrangian 𝓕 A J) ε (Sum.inl 0) = 0) ∧
∀ (ε : SchwartzMap (SpaceTime d) ℝ) (i : Fin d), (gradLagrangian 𝓕 A J) ε (Sum.inr i) = 0) ↔
(∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0
have c_sq_mul_eq : 𝓕.c.val * b * (𝓕.μ₀ * 𝓕.c.val) = 1 / 𝓕.ε₀ * b := by d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity d⊢ IsExtrema 𝓕 A J ↔
(∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0 d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)a:ℝb:ℝc_sq_mul_eq:𝓕.c.val * b * (𝓕.μ₀ * 𝓕.c.val) = 1 / 𝓕.ε₀ * b⊢ 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * b d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * b⊢ ((∀ (ε : SchwartzMap (SpaceTime d) ℝ), (gradLagrangian 𝓕 A J) ε (Sum.inl 0) = 0) ∧
∀ (ε : SchwartzMap (SpaceTime d) ℝ) (i : Fin d), (gradLagrangian 𝓕 A J) ε (Sum.inr i) = 0) ↔
(∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0
have hcb : 𝓕.c.val * b * (𝓕.μ₀ * 𝓕.c.val) = 𝓕.μ₀ * 𝓕.c.val ^ 2 * b := by d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity d⊢ IsExtrema 𝓕 A J ↔
(∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0 d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)a:ℝb:ℝhcb:𝓕.c.val * b * (𝓕.μ₀ * 𝓕.c.val) = 𝓕.μ₀ * 𝓕.c.val ^ 2 * b⊢ 𝓕.c.val * b * (𝓕.μ₀ * 𝓕.c.val) = 1 / 𝓕.ε₀ * b d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)a:ℝb:ℝc_sq_mul_eq:𝓕.c.val * b * (𝓕.μ₀ * 𝓕.c.val) = 1 / 𝓕.ε₀ * b⊢ 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * b d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * b⊢ ((∀ (ε : SchwartzMap (SpaceTime d) ℝ), (gradLagrangian 𝓕 A J) ε (Sum.inl 0) = 0) ∧
∀ (ε : SchwartzMap (SpaceTime d) ℝ) (i : Fin d), (gradLagrangian 𝓕 A J) ε (Sum.inr i) = 0) ↔
(∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0 ring d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)a:ℝb:ℝhcb:𝓕.c.val * b * (𝓕.μ₀ * 𝓕.c.val) = 𝓕.μ₀ * 𝓕.c.val ^ 2 * b⊢ 𝓕.c.val * b * (𝓕.μ₀ * 𝓕.c.val) = 1 / 𝓕.ε₀ * b d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)a:ℝb:ℝc_sq_mul_eq:𝓕.c.val * b * (𝓕.μ₀ * 𝓕.c.val) = 1 / 𝓕.ε₀ * b⊢ 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * b d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * b⊢ ((∀ (ε : SchwartzMap (SpaceTime d) ℝ), (gradLagrangian 𝓕 A J) ε (Sum.inl 0) = 0) ∧
∀ (ε : SchwartzMap (SpaceTime d) ℝ) (i : Fin d), (gradLagrangian 𝓕 A J) ε (Sum.inr i) = 0) ↔
(∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0 d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)a:ℝb:ℝhcb:𝓕.c.val * b * (𝓕.μ₀ * 𝓕.c.val) = 𝓕.μ₀ * 𝓕.c.val ^ 2 * b⊢ 𝓕.c.val * b * (𝓕.μ₀ * 𝓕.c.val) = 1 / 𝓕.ε₀ * b d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)a:ℝb:ℝc_sq_mul_eq:𝓕.c.val * b * (𝓕.μ₀ * 𝓕.c.val) = 1 / 𝓕.ε₀ * b⊢ 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * b d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * b⊢ ((∀ (ε : SchwartzMap (SpaceTime d) ℝ), (gradLagrangian 𝓕 A J) ε (Sum.inl 0) = 0) ∧
∀ (ε : SchwartzMap (SpaceTime d) ℝ) (i : Fin d), (gradLagrangian 𝓕 A J) ε (Sum.inr i) = 0) ↔
(∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0
rw [hcb, d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)a:ℝb:ℝhcb:𝓕.c.val * b * (𝓕.μ₀ * 𝓕.c.val) = 𝓕.μ₀ * 𝓕.c.val ^ 2 * b⊢ 𝓕.μ₀ * 𝓕.c.val ^ 2 * b = 1 / 𝓕.ε₀ * b d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)a:ℝb:ℝhcb:𝓕.c.val * b * (𝓕.μ₀ * 𝓕.c.val) = 𝓕.μ₀ * 𝓕.c.val ^ 2 * b⊢ 𝓕.μ₀ * (1 / (𝓕.ε₀ * 𝓕.μ₀)) * b = 1 / 𝓕.ε₀ * b d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)a:ℝb:ℝc_sq_mul_eq:𝓕.c.val * b * (𝓕.μ₀ * 𝓕.c.val) = 1 / 𝓕.ε₀ * b⊢ 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * b d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * b⊢ ((∀ (ε : SchwartzMap (SpaceTime d) ℝ), (gradLagrangian 𝓕 A J) ε (Sum.inl 0) = 0) ∧
∀ (ε : SchwartzMap (SpaceTime d) ℝ) (i : Fin d), (gradLagrangian 𝓕 A J) ε (Sum.inr i) = 0) ↔
(∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0 𝓕.c_sq d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)a:ℝb:ℝhcb:𝓕.c.val * b * (𝓕.μ₀ * 𝓕.c.val) = 𝓕.μ₀ * 𝓕.c.val ^ 2 * b⊢ 𝓕.μ₀ * (1 / (𝓕.ε₀ * 𝓕.μ₀)) * b = 1 / 𝓕.ε₀ * b d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)a:ℝb:ℝhcb:𝓕.c.val * b * (𝓕.μ₀ * 𝓕.c.val) = 𝓕.μ₀ * 𝓕.c.val ^ 2 * b⊢ 𝓕.μ₀ * (1 / (𝓕.ε₀ * 𝓕.μ₀)) * b = 1 / 𝓕.ε₀ * b d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)a:ℝb:ℝc_sq_mul_eq:𝓕.c.val * b * (𝓕.μ₀ * 𝓕.c.val) = 1 / 𝓕.ε₀ * b⊢ 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * b d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * b⊢ ((∀ (ε : SchwartzMap (SpaceTime d) ℝ), (gradLagrangian 𝓕 A J) ε (Sum.inl 0) = 0) ∧
∀ (ε : SchwartzMap (SpaceTime d) ℝ) (i : Fin d), (gradLagrangian 𝓕 A J) ε (Sum.inr i) = 0) ↔
(∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0] d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)a:ℝb:ℝhcb:𝓕.c.val * b * (𝓕.μ₀ * 𝓕.c.val) = 𝓕.μ₀ * 𝓕.c.val ^ 2 * b⊢ 𝓕.μ₀ * (1 / (𝓕.ε₀ * 𝓕.μ₀)) * b = 1 / 𝓕.ε₀ * b d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)a:ℝb:ℝc_sq_mul_eq:𝓕.c.val * b * (𝓕.μ₀ * 𝓕.c.val) = 1 / 𝓕.ε₀ * b⊢ 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * b d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * b⊢ ((∀ (ε : SchwartzMap (SpaceTime d) ℝ), (gradLagrangian 𝓕 A J) ε (Sum.inl 0) = 0) ∧
∀ (ε : SchwartzMap (SpaceTime d) ℝ) (i : Fin d), (gradLagrangian 𝓕 A J) ε (Sum.inr i) = 0) ↔
(∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0
field_simp d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)a:ℝb:ℝc_sq_mul_eq:𝓕.c.val * b * (𝓕.μ₀ * 𝓕.c.val) = 1 / 𝓕.ε₀ * b⊢ 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * b d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * b⊢ ((∀ (ε : SchwartzMap (SpaceTime d) ℝ), (gradLagrangian 𝓕 A J) ε (Sum.inl 0) = 0) ∧
∀ (ε : SchwartzMap (SpaceTime d) ℝ) (i : Fin d), (gradLagrangian 𝓕 A J) ε (Sum.inr i) = 0) ↔
(∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0 d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)a:ℝb:ℝc_sq_mul_eq:𝓕.c.val * b * (𝓕.μ₀ * 𝓕.c.val) = 1 / 𝓕.ε₀ * b⊢ 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * b d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * b⊢ ((∀ (ε : SchwartzMap (SpaceTime d) ℝ), (gradLagrangian 𝓕 A J) ε (Sum.inl 0) = 0) ∧
∀ (ε : SchwartzMap (SpaceTime d) ℝ) (i : Fin d), (gradLagrangian 𝓕 A J) ε (Sum.inr i) = 0) ↔
(∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0
rw [sub_eq_zero, d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)a:ℝb:ℝc_sq_mul_eq:𝓕.c.val * b * (𝓕.μ₀ * 𝓕.c.val) = 1 / 𝓕.ε₀ * b⊢ 1 / (𝓕.μ₀ * 𝓕.c.val) * a = 𝓕.c.val * b ↔ a = 1 / 𝓕.ε₀ * b d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * b⊢ ((∀ (ε : SchwartzMap (SpaceTime d) ℝ), (gradLagrangian 𝓕 A J) ε (Sum.inl 0) = 0) ∧
∀ (ε : SchwartzMap (SpaceTime d) ℝ) (i : Fin d), (gradLagrangian 𝓕 A J) ε (Sum.inr i) = 0) ↔
(∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0 div_mul_eq_mul_div, d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)a:ℝb:ℝc_sq_mul_eq:𝓕.c.val * b * (𝓕.μ₀ * 𝓕.c.val) = 1 / 𝓕.ε₀ * b⊢ 1 * a / (𝓕.μ₀ * 𝓕.c.val) = 𝓕.c.val * b ↔ a = 1 / 𝓕.ε₀ * b d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * b⊢ ((∀ (ε : SchwartzMap (SpaceTime d) ℝ), (gradLagrangian 𝓕 A J) ε (Sum.inl 0) = 0) ∧
∀ (ε : SchwartzMap (SpaceTime d) ℝ) (i : Fin d), (gradLagrangian 𝓕 A J) ε (Sum.inr i) = 0) ↔
(∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0 one_mul, d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)a:ℝb:ℝc_sq_mul_eq:𝓕.c.val * b * (𝓕.μ₀ * 𝓕.c.val) = 1 / 𝓕.ε₀ * b⊢ a / (𝓕.μ₀ * 𝓕.c.val) = 𝓕.c.val * b ↔ a = 1 / 𝓕.ε₀ * b d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * b⊢ ((∀ (ε : SchwartzMap (SpaceTime d) ℝ), (gradLagrangian 𝓕 A J) ε (Sum.inl 0) = 0) ∧
∀ (ε : SchwartzMap (SpaceTime d) ℝ) (i : Fin d), (gradLagrangian 𝓕 A J) ε (Sum.inr i) = 0) ↔
(∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0
div_eq_iff (mul_ne_zero 𝓕.μ₀_ne_zero 𝓕.c.val_ne_zero), d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)a:ℝb:ℝc_sq_mul_eq:𝓕.c.val * b * (𝓕.μ₀ * 𝓕.c.val) = 1 / 𝓕.ε₀ * b⊢ a = 𝓕.c.val * b * (𝓕.μ₀ * 𝓕.c.val) ↔ a = 1 / 𝓕.ε₀ * b d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * b⊢ ((∀ (ε : SchwartzMap (SpaceTime d) ℝ), (gradLagrangian 𝓕 A J) ε (Sum.inl 0) = 0) ∧
∀ (ε : SchwartzMap (SpaceTime d) ℝ) (i : Fin d), (gradLagrangian 𝓕 A J) ε (Sum.inr i) = 0) ↔
(∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0 c_sq_mul_eq d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)a:ℝb:ℝc_sq_mul_eq:𝓕.c.val * b * (𝓕.μ₀ * 𝓕.c.val) = 1 / 𝓕.ε₀ * b⊢ a = 1 / 𝓕.ε₀ * b ↔ a = 1 / 𝓕.ε₀ * b d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * b⊢ ((∀ (ε : SchwartzMap (SpaceTime d) ℝ), (gradLagrangian 𝓕 A J) ε (Sum.inl 0) = 0) ∧
∀ (ε : SchwartzMap (SpaceTime d) ℝ) (i : Fin d), (gradLagrangian 𝓕 A J) ε (Sum.inr i) = 0) ↔
(∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0] d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * b⊢ ((∀ (ε : SchwartzMap (SpaceTime d) ℝ), (gradLagrangian 𝓕 A J) ε (Sum.inl 0) = 0) ∧
∀ (ε : SchwartzMap (SpaceTime d) ℝ) (i : Fin d), (gradLagrangian 𝓕 A J) ε (Sum.inr i) = 0) ↔
(∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0 d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * b⊢ ((∀ (ε : SchwartzMap (SpaceTime d) ℝ), (gradLagrangian 𝓕 A J) ε (Sum.inl 0) = 0) ∧
∀ (ε : SchwartzMap (SpaceTime d) ℝ) (i : Fin d), (gradLagrangian 𝓕 A J) ε (Sum.inr i) = 0) ↔
(∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0
have hampere : ∀ T S C : ℝ, 𝓕.μ₀⁻¹ * (1 / 𝓕.c.val ^ 2 * T - S) + C = 0 ↔
𝓕.μ₀ * 𝓕.ε₀ * T - S + 𝓕.μ₀ * C = 0 := by d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity d⊢ IsExtrema 𝓕 A J ↔
(∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0 d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * bhampere:∀ (T S C : ℝ), 𝓕.μ₀⁻¹ * (1 / 𝓕.c.val ^ 2 * T - S) + C = 0 ↔ 𝓕.μ₀ * 𝓕.ε₀ * T - S + 𝓕.μ₀ * C = 0⊢ ((∀ (ε : SchwartzMap (SpaceTime d) ℝ), (gradLagrangian 𝓕 A J) ε (Sum.inl 0) = 0) ∧
∀ (ε : SchwartzMap (SpaceTime d) ℝ) (i : Fin d), (gradLagrangian 𝓕 A J) ε (Sum.inr i) = 0) ↔
(∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0
intro T S C d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * bT:ℝS:ℝC:ℝ⊢ 𝓕.μ₀⁻¹ * (1 / 𝓕.c.val ^ 2 * T - S) + C = 0 ↔ 𝓕.μ₀ * 𝓕.ε₀ * T - S + 𝓕.μ₀ * C = 0 d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * bhampere:∀ (T S C : ℝ), 𝓕.μ₀⁻¹ * (1 / 𝓕.c.val ^ 2 * T - S) + C = 0 ↔ 𝓕.μ₀ * 𝓕.ε₀ * T - S + 𝓕.μ₀ * C = 0⊢ ((∀ (ε : SchwartzMap (SpaceTime d) ℝ), (gradLagrangian 𝓕 A J) ε (Sum.inl 0) = 0) ∧
∀ (ε : SchwartzMap (SpaceTime d) ℝ) (i : Fin d), (gradLagrangian 𝓕 A J) ε (Sum.inr i) = 0) ↔
(∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0
have mu0_factor_eq : 𝓕.μ₀ * 𝓕.ε₀ * T - S + 𝓕.μ₀ * C
= 𝓕.μ₀ * (𝓕.μ₀⁻¹ * (1 / 𝓕.c.val ^ 2 * T - S) + C) := by d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity d⊢ IsExtrema 𝓕 A J ↔
(∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0 d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * bT:ℝS:ℝC:ℝmu0_factor_eq:𝓕.μ₀ * 𝓕.ε₀ * T - S + 𝓕.μ₀ * C = 𝓕.μ₀ * (𝓕.μ₀⁻¹ * (1 / 𝓕.c.val ^ 2 * T - S) + C)⊢ 𝓕.μ₀⁻¹ * (1 / 𝓕.c.val ^ 2 * T - S) + C = 0 ↔ 𝓕.μ₀ * 𝓕.ε₀ * T - S + 𝓕.μ₀ * C = 0 d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * bhampere:∀ (T S C : ℝ), 𝓕.μ₀⁻¹ * (1 / 𝓕.c.val ^ 2 * T - S) + C = 0 ↔ 𝓕.μ₀ * 𝓕.ε₀ * T - S + 𝓕.μ₀ * C = 0⊢ ((∀ (ε : SchwartzMap (SpaceTime d) ℝ), (gradLagrangian 𝓕 A J) ε (Sum.inl 0) = 0) ∧
∀ (ε : SchwartzMap (SpaceTime d) ℝ) (i : Fin d), (gradLagrangian 𝓕 A J) ε (Sum.inr i) = 0) ↔
(∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0
rw [𝓕.c_sq d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * bT:ℝS:ℝC:ℝ⊢ 𝓕.μ₀ * 𝓕.ε₀ * T - S + 𝓕.μ₀ * C = 𝓕.μ₀ * (𝓕.μ₀⁻¹ * (1 / (1 / (𝓕.ε₀ * 𝓕.μ₀)) * T - S) + C) d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * bT:ℝS:ℝC:ℝ⊢ 𝓕.μ₀ * 𝓕.ε₀ * T - S + 𝓕.μ₀ * C = 𝓕.μ₀ * (𝓕.μ₀⁻¹ * (1 / (1 / (𝓕.ε₀ * 𝓕.μ₀)) * T - S) + C) d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * bT:ℝS:ℝC:ℝmu0_factor_eq:𝓕.μ₀ * 𝓕.ε₀ * T - S + 𝓕.μ₀ * C = 𝓕.μ₀ * (𝓕.μ₀⁻¹ * (1 / 𝓕.c.val ^ 2 * T - S) + C)⊢ 𝓕.μ₀⁻¹ * (1 / 𝓕.c.val ^ 2 * T - S) + C = 0 ↔ 𝓕.μ₀ * 𝓕.ε₀ * T - S + 𝓕.μ₀ * C = 0 d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * bhampere:∀ (T S C : ℝ), 𝓕.μ₀⁻¹ * (1 / 𝓕.c.val ^ 2 * T - S) + C = 0 ↔ 𝓕.μ₀ * 𝓕.ε₀ * T - S + 𝓕.μ₀ * C = 0⊢ ((∀ (ε : SchwartzMap (SpaceTime d) ℝ), (gradLagrangian 𝓕 A J) ε (Sum.inl 0) = 0) ∧
∀ (ε : SchwartzMap (SpaceTime d) ℝ) (i : Fin d), (gradLagrangian 𝓕 A J) ε (Sum.inr i) = 0) ↔
(∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0] d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * bT:ℝS:ℝC:ℝ⊢ 𝓕.μ₀ * 𝓕.ε₀ * T - S + 𝓕.μ₀ * C = 𝓕.μ₀ * (𝓕.μ₀⁻¹ * (1 / (1 / (𝓕.ε₀ * 𝓕.μ₀)) * T - S) + C) d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * bT:ℝS:ℝC:ℝmu0_factor_eq:𝓕.μ₀ * 𝓕.ε₀ * T - S + 𝓕.μ₀ * C = 𝓕.μ₀ * (𝓕.μ₀⁻¹ * (1 / 𝓕.c.val ^ 2 * T - S) + C)⊢ 𝓕.μ₀⁻¹ * (1 / 𝓕.c.val ^ 2 * T - S) + C = 0 ↔ 𝓕.μ₀ * 𝓕.ε₀ * T - S + 𝓕.μ₀ * C = 0 d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * bhampere:∀ (T S C : ℝ), 𝓕.μ₀⁻¹ * (1 / 𝓕.c.val ^ 2 * T - S) + C = 0 ↔ 𝓕.μ₀ * 𝓕.ε₀ * T - S + 𝓕.μ₀ * C = 0⊢ ((∀ (ε : SchwartzMap (SpaceTime d) ℝ), (gradLagrangian 𝓕 A J) ε (Sum.inl 0) = 0) ∧
∀ (ε : SchwartzMap (SpaceTime d) ℝ) (i : Fin d), (gradLagrangian 𝓕 A J) ε (Sum.inr i) = 0) ↔
(∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0
field_simp d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * bT:ℝS:ℝC:ℝmu0_factor_eq:𝓕.μ₀ * 𝓕.ε₀ * T - S + 𝓕.μ₀ * C = 𝓕.μ₀ * (𝓕.μ₀⁻¹ * (1 / 𝓕.c.val ^ 2 * T - S) + C)⊢ 𝓕.μ₀⁻¹ * (1 / 𝓕.c.val ^ 2 * T - S) + C = 0 ↔ 𝓕.μ₀ * 𝓕.ε₀ * T - S + 𝓕.μ₀ * C = 0 d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * bhampere:∀ (T S C : ℝ), 𝓕.μ₀⁻¹ * (1 / 𝓕.c.val ^ 2 * T - S) + C = 0 ↔ 𝓕.μ₀ * 𝓕.ε₀ * T - S + 𝓕.μ₀ * C = 0⊢ ((∀ (ε : SchwartzMap (SpaceTime d) ℝ), (gradLagrangian 𝓕 A J) ε (Sum.inl 0) = 0) ∧
∀ (ε : SchwartzMap (SpaceTime d) ℝ) (i : Fin d), (gradLagrangian 𝓕 A J) ε (Sum.inr i) = 0) ↔
(∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0 d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * bT:ℝS:ℝC:ℝmu0_factor_eq:𝓕.μ₀ * 𝓕.ε₀ * T - S + 𝓕.μ₀ * C = 𝓕.μ₀ * (𝓕.μ₀⁻¹ * (1 / 𝓕.c.val ^ 2 * T - S) + C)⊢ 𝓕.μ₀⁻¹ * (1 / 𝓕.c.val ^ 2 * T - S) + C = 0 ↔ 𝓕.μ₀ * 𝓕.ε₀ * T - S + 𝓕.μ₀ * C = 0 d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * bhampere:∀ (T S C : ℝ), 𝓕.μ₀⁻¹ * (1 / 𝓕.c.val ^ 2 * T - S) + C = 0 ↔ 𝓕.μ₀ * 𝓕.ε₀ * T - S + 𝓕.μ₀ * C = 0⊢ ((∀ (ε : SchwartzMap (SpaceTime d) ℝ), (gradLagrangian 𝓕 A J) ε (Sum.inl 0) = 0) ∧
∀ (ε : SchwartzMap (SpaceTime d) ℝ) (i : Fin d), (gradLagrangian 𝓕 A J) ε (Sum.inr i) = 0) ↔
(∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0
rw [mu0_factor_eq, d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * bT:ℝS:ℝC:ℝmu0_factor_eq:𝓕.μ₀ * 𝓕.ε₀ * T - S + 𝓕.μ₀ * C = 𝓕.μ₀ * (𝓕.μ₀⁻¹ * (1 / 𝓕.c.val ^ 2 * T - S) + C)⊢ 𝓕.μ₀⁻¹ * (1 / 𝓕.c.val ^ 2 * T - S) + C = 0 ↔ 𝓕.μ₀ * (𝓕.μ₀⁻¹ * (1 / 𝓕.c.val ^ 2 * T - S) + C) = 0 d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * bhampere:∀ (T S C : ℝ), 𝓕.μ₀⁻¹ * (1 / 𝓕.c.val ^ 2 * T - S) + C = 0 ↔ 𝓕.μ₀ * 𝓕.ε₀ * T - S + 𝓕.μ₀ * C = 0⊢ ((∀ (ε : SchwartzMap (SpaceTime d) ℝ), (gradLagrangian 𝓕 A J) ε (Sum.inl 0) = 0) ∧
∀ (ε : SchwartzMap (SpaceTime d) ℝ) (i : Fin d), (gradLagrangian 𝓕 A J) ε (Sum.inr i) = 0) ↔
(∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0 mul_eq_zero, d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * bT:ℝS:ℝC:ℝmu0_factor_eq:𝓕.μ₀ * 𝓕.ε₀ * T - S + 𝓕.μ₀ * C = 𝓕.μ₀ * (𝓕.μ₀⁻¹ * (1 / 𝓕.c.val ^ 2 * T - S) + C)⊢ 𝓕.μ₀⁻¹ * (1 / 𝓕.c.val ^ 2 * T - S) + C = 0 ↔ 𝓕.μ₀ = 0 ∨ 𝓕.μ₀⁻¹ * (1 / 𝓕.c.val ^ 2 * T - S) + C = 0 d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * bhampere:∀ (T S C : ℝ), 𝓕.μ₀⁻¹ * (1 / 𝓕.c.val ^ 2 * T - S) + C = 0 ↔ 𝓕.μ₀ * 𝓕.ε₀ * T - S + 𝓕.μ₀ * C = 0⊢ ((∀ (ε : SchwartzMap (SpaceTime d) ℝ), (gradLagrangian 𝓕 A J) ε (Sum.inl 0) = 0) ∧
∀ (ε : SchwartzMap (SpaceTime d) ℝ) (i : Fin d), (gradLagrangian 𝓕 A J) ε (Sum.inr i) = 0) ↔
(∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0 or_iff_right 𝓕.μ₀_ne_zero d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * bT:ℝS:ℝC:ℝmu0_factor_eq:𝓕.μ₀ * 𝓕.ε₀ * T - S + 𝓕.μ₀ * C = 𝓕.μ₀ * (𝓕.μ₀⁻¹ * (1 / 𝓕.c.val ^ 2 * T - S) + C)⊢ 𝓕.μ₀⁻¹ * (1 / 𝓕.c.val ^ 2 * T - S) + C = 0 ↔ 𝓕.μ₀⁻¹ * (1 / 𝓕.c.val ^ 2 * T - S) + C = 0 d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * bhampere:∀ (T S C : ℝ), 𝓕.μ₀⁻¹ * (1 / 𝓕.c.val ^ 2 * T - S) + C = 0 ↔ 𝓕.μ₀ * 𝓕.ε₀ * T - S + 𝓕.μ₀ * C = 0⊢ ((∀ (ε : SchwartzMap (SpaceTime d) ℝ), (gradLagrangian 𝓕 A J) ε (Sum.inl 0) = 0) ∧
∀ (ε : SchwartzMap (SpaceTime d) ℝ) (i : Fin d), (gradLagrangian 𝓕 A J) ε (Sum.inr i) = 0) ↔
(∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0] d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * bhampere:∀ (T S C : ℝ), 𝓕.μ₀⁻¹ * (1 / 𝓕.c.val ^ 2 * T - S) + C = 0 ↔ 𝓕.μ₀ * 𝓕.ε₀ * T - S + 𝓕.μ₀ * C = 0⊢ ((∀ (ε : SchwartzMap (SpaceTime d) ℝ), (gradLagrangian 𝓕 A J) ε (Sum.inl 0) = 0) ∧
∀ (ε : SchwartzMap (SpaceTime d) ℝ) (i : Fin d), (gradLagrangian 𝓕 A J) ε (Sum.inr i) = 0) ↔
(∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0 d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * bhampere:∀ (T S C : ℝ), 𝓕.μ₀⁻¹ * (1 / 𝓕.c.val ^ 2 * T - S) + C = 0 ↔ 𝓕.μ₀ * 𝓕.ε₀ * T - S + 𝓕.μ₀ * C = 0⊢ ((∀ (ε : SchwartzMap (SpaceTime d) ℝ), (gradLagrangian 𝓕 A J) ε (Sum.inl 0) = 0) ∧
∀ (ε : SchwartzMap (SpaceTime d) ℝ) (i : Fin d), (gradLagrangian 𝓕 A J) ε (Sum.inr i) = 0) ↔
(∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0
refine and_congr ?_ ?_ refine_1 d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * bhampere:∀ (T S C : ℝ), 𝓕.μ₀⁻¹ * (1 / 𝓕.c.val ^ 2 * T - S) + C = 0 ↔ 𝓕.μ₀ * 𝓕.ε₀ * T - S + 𝓕.μ₀ * C = 0⊢ (∀ (ε : SchwartzMap (SpaceTime d) ℝ), (gradLagrangian 𝓕 A J) ε (Sum.inl 0) = 0) ↔
∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) εrefine_2 d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * bhampere:∀ (T S C : ℝ), 𝓕.μ₀⁻¹ * (1 / 𝓕.c.val ^ 2 * T - S) + C = 0 ↔ 𝓕.μ₀ * 𝓕.ε₀ * T - S + 𝓕.μ₀ * C = 0⊢ (∀ (ε : SchwartzMap (SpaceTime d) ℝ) (i : Fin d), (gradLagrangian 𝓕 A J) ε (Sum.inr i) = 0) ↔
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0
· refine_1 d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * bhampere:∀ (T S C : ℝ), 𝓕.μ₀⁻¹ * (1 / 𝓕.c.val ^ 2 * T - S) + C = 0 ↔ 𝓕.μ₀ * 𝓕.ε₀ * T - S + 𝓕.μ₀ * C = 0⊢ (∀ (ε : SchwartzMap (SpaceTime d) ℝ), (gradLagrangian 𝓕 A J) ε (Sum.inl 0) = 0) ↔
∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε simp only [gradLagrangian_sum_inl_0, SpaceTime.distTimeSlice_symm_apply] refine_1 d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * bhampere:∀ (T S C : ℝ), 𝓕.μ₀⁻¹ * (1 / 𝓕.c.val ^ 2 * T - S) + C = 0 ↔ 𝓕.μ₀ * 𝓕.ε₀ * T - S + 𝓕.μ₀ * C = 0⊢ (∀ (ε : SchwartzMap (SpaceTime d) ℝ),
1 / (𝓕.μ₀ * 𝓕.c.val) *
(distSpaceDiv ((electricField 𝓕.c) A))
((SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm) ε) -
𝓕.c.val *
((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J)
((SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm) ε) =
0) ↔
∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε
rw [hsurj.forall refine_1 d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * bhampere:∀ (T S C : ℝ), 𝓕.μ₀⁻¹ * (1 / 𝓕.c.val ^ 2 * T - S) + C = 0 ↔ 𝓕.μ₀ * 𝓕.ε₀ * T - S + 𝓕.μ₀ * C = 0⊢ (∀ (ε : SchwartzMap (SpaceTime d) ℝ),
1 / (𝓕.μ₀ * 𝓕.c.val) *
(distSpaceDiv ((electricField 𝓕.c) A))
((SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm) ε) -
𝓕.c.val *
((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J)
((SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm) ε) =
0) ↔
∀ (x : SchwartzMap (SpaceTime d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A))
((SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm) x) =
1 / 𝓕.ε₀ *
((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J)
((SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm) x) refine_1 d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * bhampere:∀ (T S C : ℝ), 𝓕.μ₀⁻¹ * (1 / 𝓕.c.val ^ 2 * T - S) + C = 0 ↔ 𝓕.μ₀ * 𝓕.ε₀ * T - S + 𝓕.μ₀ * C = 0⊢ (∀ (ε : SchwartzMap (SpaceTime d) ℝ),
1 / (𝓕.μ₀ * 𝓕.c.val) *
(distSpaceDiv ((electricField 𝓕.c) A))
((SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm) ε) -
𝓕.c.val *
((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J)
((SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm) ε) =
0) ↔
∀ (x : SchwartzMap (SpaceTime d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A))
((SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm) x) =
1 / 𝓕.ε₀ *
((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J)
((SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm) x)]refine_1 d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * bhampere:∀ (T S C : ℝ), 𝓕.μ₀⁻¹ * (1 / 𝓕.c.val ^ 2 * T - S) + C = 0 ↔ 𝓕.μ₀ * 𝓕.ε₀ * T - S + 𝓕.μ₀ * C = 0⊢ (∀ (ε : SchwartzMap (SpaceTime d) ℝ),
1 / (𝓕.μ₀ * 𝓕.c.val) *
(distSpaceDiv ((electricField 𝓕.c) A))
((SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm) ε) -
𝓕.c.val *
((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J)
((SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm) ε) =
0) ↔
∀ (x : SchwartzMap (SpaceTime d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A))
((SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm) x) =
1 / 𝓕.ε₀ *
((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J)
((SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm) x)
exact forall_congr' fun ε => hgauss _ _ All goals completed! 🐙
· refine_2 d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * bhampere:∀ (T S C : ℝ), 𝓕.μ₀⁻¹ * (1 / 𝓕.c.val ^ 2 * T - S) + C = 0 ↔ 𝓕.μ₀ * 𝓕.ε₀ * T - S + 𝓕.μ₀ * C = 0⊢ (∀ (ε : SchwartzMap (SpaceTime d) ℝ) (i : Fin d), (gradLagrangian 𝓕 A J) ε (Sum.inr i) = 0) ↔
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0 simp only [gradLagrangian_sum_inr_i, SpaceTime.distTimeSlice_symm_apply] refine_2 d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * bhampere:∀ (T S C : ℝ), 𝓕.μ₀⁻¹ * (1 / 𝓕.c.val ^ 2 * T - S) + C = 0 ↔ 𝓕.μ₀ * 𝓕.ε₀ * T - S + 𝓕.μ₀ * C = 0⊢ (∀ (ε : SchwartzMap (SpaceTime d) ℝ) (i : Fin d),
𝓕.μ₀⁻¹ *
(1 / 𝓕.c.val ^ 2 *
((distTimeDeriv ((electricField 𝓕.c) A))
((SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm) ε)).ofLp
i -
∑ x,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv x) ((magneticFieldMatrix 𝓕.c) A))
((SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm) ε)))
(x, i)) +
(((DistLorentzCurrentDensity.currentDensity 𝓕.c) J)
((SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm) ε)).ofLp
i =
0) ↔
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0
rw [hsurj.forall refine_2 d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * bhampere:∀ (T S C : ℝ), 𝓕.μ₀⁻¹ * (1 / 𝓕.c.val ^ 2 * T - S) + C = 0 ↔ 𝓕.μ₀ * 𝓕.ε₀ * T - S + 𝓕.μ₀ * C = 0⊢ (∀ (ε : SchwartzMap (SpaceTime d) ℝ) (i : Fin d),
𝓕.μ₀⁻¹ *
(1 / 𝓕.c.val ^ 2 *
((distTimeDeriv ((electricField 𝓕.c) A))
((SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm) ε)).ofLp
i -
∑ x,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv x) ((magneticFieldMatrix 𝓕.c) A))
((SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm) ε)))
(x, i)) +
(((DistLorentzCurrentDensity.currentDensity 𝓕.c) J)
((SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm) ε)).ofLp
i =
0) ↔
∀ (x : SchwartzMap (SpaceTime d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ *
((distTimeDeriv ((electricField 𝓕.c) A))
((SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm) x)).ofLp
i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A))
((SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm) x)))
(j, i) +
𝓕.μ₀ *
(((DistLorentzCurrentDensity.currentDensity 𝓕.c) J)
((SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm) x)).ofLp
i =
0 refine_2 d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * bhampere:∀ (T S C : ℝ), 𝓕.μ₀⁻¹ * (1 / 𝓕.c.val ^ 2 * T - S) + C = 0 ↔ 𝓕.μ₀ * 𝓕.ε₀ * T - S + 𝓕.μ₀ * C = 0⊢ (∀ (ε : SchwartzMap (SpaceTime d) ℝ) (i : Fin d),
𝓕.μ₀⁻¹ *
(1 / 𝓕.c.val ^ 2 *
((distTimeDeriv ((electricField 𝓕.c) A))
((SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm) ε)).ofLp
i -
∑ x,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv x) ((magneticFieldMatrix 𝓕.c) A))
((SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm) ε)))
(x, i)) +
(((DistLorentzCurrentDensity.currentDensity 𝓕.c) J)
((SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm) ε)).ofLp
i =
0) ↔
∀ (x : SchwartzMap (SpaceTime d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ *
((distTimeDeriv ((electricField 𝓕.c) A))
((SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm) x)).ofLp
i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A))
((SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm) x)))
(j, i) +
𝓕.μ₀ *
(((DistLorentzCurrentDensity.currentDensity 𝓕.c) J)
((SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm) x)).ofLp
i =
0]refine_2 d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dhsurj:Function.Surjective ⇑(SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm)hgauss:∀ (a b : ℝ), 1 / (𝓕.μ₀ * 𝓕.c.val) * a - 𝓕.c.val * b = 0 ↔ a = 1 / 𝓕.ε₀ * bhampere:∀ (T S C : ℝ), 𝓕.μ₀⁻¹ * (1 / 𝓕.c.val ^ 2 * T - S) + C = 0 ↔ 𝓕.μ₀ * 𝓕.ε₀ * T - S + 𝓕.μ₀ * C = 0⊢ (∀ (ε : SchwartzMap (SpaceTime d) ℝ) (i : Fin d),
𝓕.μ₀⁻¹ *
(1 / 𝓕.c.val ^ 2 *
((distTimeDeriv ((electricField 𝓕.c) A))
((SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm) ε)).ofLp
i -
∑ x,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv x) ((magneticFieldMatrix 𝓕.c) A))
((SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm) ε)))
(x, i)) +
(((DistLorentzCurrentDensity.currentDensity 𝓕.c) J)
((SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm) ε)).ofLp
i =
0) ↔
∀ (x : SchwartzMap (SpaceTime d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ *
((distTimeDeriv ((electricField 𝓕.c) A))
((SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm) x)).ofLp
i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A))
((SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm) x)))
(j, i) +
𝓕.μ₀ *
(((DistLorentzCurrentDensity.currentDensity 𝓕.c) J)
((SchwartzMap.compCLMOfContinuousLinearEquiv ℝ (SpaceTime.toTimeAndSpace 𝓕.c).symm) x)).ofLp
i =
0
exact forall_congr' fun ε => forall_congr' fun i => hampere _ _ _ All goals completed! 🐙A.2. IsExtrema in terms of Vector Potentials
We show that A is an extrema of the lagrangian if and only if Gauss's law and Ampère's law hold.
In other words,
$$\nabla \cdot \mathbf{E} = \frac{\rho}{\varepsilon_0}$$ and $$\mu_0 \varepsilon_0 \frac{\partial \mathbf{E}_i}{\partial t} - \sum_j -(\partial_j \partial_j \vec A_i - \partial_j \partial_i \vec A_j) + \mu_0 \mathbf{J}_i = 0.$$
lemma isExtrema_iff_vectorPotential {𝓕 : FreeSpace}
(A : DistElectromagneticPotential d)
(J : DistLorentzCurrentDensity d) :
IsExtrema 𝓕 A J ↔
(∀ ε, distSpaceDiv (A.electricField 𝓕.c) ε = (1/𝓕.ε₀) * (J.chargeDensity 𝓕.c) ε) ∧
(∀ ε i, 𝓕.μ₀ * 𝓕.ε₀ * distTimeDeriv (A.electricField 𝓕.c) ε i -
(∑ x, -(distSpaceDeriv x (distSpaceDeriv x (A.vectorPotential 𝓕.c)) ε i
- distSpaceDeriv x (distSpaceDeriv i (A.vectorPotential 𝓕.c)) ε x)) +
𝓕.μ₀ * J.currentDensity 𝓕.c ε i = 0) := by d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity d⊢ IsExtrema 𝓕 A J ↔
(∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ x,
-((((distSpaceDeriv x) ((distSpaceDeriv x) ((vectorPotential 𝓕.c) A))) ε).ofLp i -
(((distSpaceDeriv x) ((distSpaceDeriv i) ((vectorPotential 𝓕.c) A))) ε).ofLp x) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0
rw [isExtrema_iff_space_time d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity d⊢ ((∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0) ↔
(∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ x,
-((((distSpaceDeriv x) ((distSpaceDeriv x) ((vectorPotential 𝓕.c) A))) ε).ofLp i -
(((distSpaceDeriv x) ((distSpaceDeriv i) ((vectorPotential 𝓕.c) A))) ε).ofLp x) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0 d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity d⊢ ((∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0) ↔
(∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ x,
-((((distSpaceDeriv x) ((distSpaceDeriv x) ((vectorPotential 𝓕.c) A))) ε).ofLp i -
(((distSpaceDeriv x) ((distSpaceDeriv i) ((vectorPotential 𝓕.c) A))) ε).ofLp x) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0] d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity d⊢ ((∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0) ↔
(∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ∧
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ x,
-((((distSpaceDeriv x) ((distSpaceDeriv x) ((vectorPotential 𝓕.c) A))) ε).ofLp i -
(((distSpaceDeriv x) ((distSpaceDeriv i) ((vectorPotential 𝓕.c) A))) ε).ofLp x) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0
refine and_congr (by d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity d⊢ (∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε) ↔
∀ (ε : SchwartzMap (Time × Space d) ℝ),
(distSpaceDiv ((electricField 𝓕.c) A)) ε = 1 / 𝓕.ε₀ * ((DistLorentzCurrentDensity.chargeDensity 𝓕.c) J) ε rfl All goals completed! 🐙) ?_
suffices ∀ ε i, ∑ x, -(distSpaceDeriv x (distSpaceDeriv x (A.vectorPotential 𝓕.c)) ε i
- distSpaceDeriv x (distSpaceDeriv i (A.vectorPotential 𝓕.c)) ε x) =
∑ j, ((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
((Space.distSpaceDeriv j (A.magneticFieldMatrix 𝓕.c)) ε) (j, i) by d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dthis:∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
∑ x,
-((((distSpaceDeriv x) ((distSpaceDeriv x) ((vectorPotential 𝓕.c) A))) ε).ofLp i -
(((distSpaceDeriv x) ((distSpaceDeriv i) ((vectorPotential 𝓕.c) A))) ε).ofLp x) =
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i)⊢ (∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0) ↔
∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε).ofLp i -
∑ x,
-((((distSpaceDeriv x) ((distSpaceDeriv x) ((vectorPotential 𝓕.c) A))) ε).ofLp i -
(((distSpaceDeriv x) ((distSpaceDeriv i) ((vectorPotential 𝓕.c) A))) ε).ofLp x) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε).ofLp i =
0 d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity d⊢ ∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
∑ x,
-((((distSpaceDeriv x) ((distSpaceDeriv x) ((vectorPotential 𝓕.c) A))) ε).ofLp i -
(((distSpaceDeriv x) ((distSpaceDeriv i) ((vectorPotential 𝓕.c) A))) ε).ofLp x) =
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i)
conv_lhs => enter [2, 2] d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dthis:∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
∑ x,
-((((distSpaceDeriv x) ((distSpaceDeriv x) ((vectorPotential 𝓕.c) A))) ε).ofLp i -
(((distSpaceDeriv x) ((distSpaceDeriv i) ((vectorPotential 𝓕.c) A))) ε).ofLp x) =
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i)ε✝:SchwartzMap (Time × Space d) ℝi✝:Fin d| 𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε✝).ofLp i✝ -
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε✝))
(j, i✝) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε✝).ofLp i✝ =
0 d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity d⊢ ∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
∑ x,
-((((distSpaceDeriv x) ((distSpaceDeriv x) ((vectorPotential 𝓕.c) A))) ε).ofLp i -
(((distSpaceDeriv x) ((distSpaceDeriv i) ((vectorPotential 𝓕.c) A))) ε).ofLp x) =
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i); rw [← this] d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dthis:∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
∑ x,
-((((distSpaceDeriv x) ((distSpaceDeriv x) ((vectorPotential 𝓕.c) A))) ε).ofLp i -
(((distSpaceDeriv x) ((distSpaceDeriv i) ((vectorPotential 𝓕.c) A))) ε).ofLp x) =
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i)ε✝:SchwartzMap (Time × Space d) ℝi✝:Fin d| 𝓕.μ₀ * 𝓕.ε₀ * ((distTimeDeriv ((electricField 𝓕.c) A)) ε✝).ofLp i✝ -
∑ x,
-((((distSpaceDeriv x) ((distSpaceDeriv x) ((vectorPotential 𝓕.c) A))) ε✝).ofLp i✝ -
(((distSpaceDeriv x) ((distSpaceDeriv i✝) ((vectorPotential 𝓕.c) A))) ε✝).ofLp x) +
𝓕.μ₀ * (((DistLorentzCurrentDensity.currentDensity 𝓕.c) J) ε✝).ofLp i✝ =
0 d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity d⊢ ∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
∑ x,
-((((distSpaceDeriv x) ((distSpaceDeriv x) ((vectorPotential 𝓕.c) A))) ε).ofLp i -
(((distSpaceDeriv x) ((distSpaceDeriv i) ((vectorPotential 𝓕.c) A))) ε).ofLp x) =
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i) d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity d⊢ ∀ (ε : SchwartzMap (Time × Space d) ℝ) (i : Fin d),
∑ x,
-((((distSpaceDeriv x) ((distSpaceDeriv x) ((vectorPotential 𝓕.c) A))) ε).ofLp i -
(((distSpaceDeriv x) ((distSpaceDeriv i) ((vectorPotential 𝓕.c) A))) ε).ofLp x) =
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i)
intro ε i d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dε:SchwartzMap (Time × Space d) ℝi:Fin d⊢ ∑ x,
-((((distSpaceDeriv x) ((distSpaceDeriv x) ((vectorPotential 𝓕.c) A))) ε).ofLp i -
(((distSpaceDeriv x) ((distSpaceDeriv i) ((vectorPotential 𝓕.c) A))) ε).ofLp x) =
∑ j,
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i)
congr e_f d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dε:SchwartzMap (Time × Space d) ℝi:Fin d⊢ (fun x =>
-((((distSpaceDeriv x) ((distSpaceDeriv x) ((vectorPotential 𝓕.c) A))) ε).ofLp i -
(((distSpaceDeriv x) ((distSpaceDeriv i) ((vectorPotential 𝓕.c) A))) ε).ofLp x)) =
fun j =>
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i)
funext j e_f d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dε:SchwartzMap (Time × Space d) ℝi:Fin dj:Fin d⊢ -((((distSpaceDeriv j) ((distSpaceDeriv j) ((vectorPotential 𝓕.c) A))) ε).ofLp i -
(((distSpaceDeriv j) ((distSpaceDeriv i) ((vectorPotential 𝓕.c) A))) ε).ofLp j) =
(((PiLp.basisFun 2 ℝ (Fin d)).tensorProduct (PiLp.basisFun 2 ℝ (Fin d))).repr
(((distSpaceDeriv j) ((magneticFieldMatrix 𝓕.c) A)) ε))
(j, i)
rw [magneticFieldMatrix_distSpaceDeriv_basis_repr_eq_vector_potential e_f d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dε:SchwartzMap (Time × Space d) ℝi:Fin dj:Fin d⊢ -((((distSpaceDeriv j) ((distSpaceDeriv j) ((vectorPotential 𝓕.c) A))) ε).ofLp i -
(((distSpaceDeriv j) ((distSpaceDeriv i) ((vectorPotential 𝓕.c) A))) ε).ofLp j) =
(((distSpaceDeriv j) ((distSpaceDeriv i) ((vectorPotential 𝓕.c) A))) ε).ofLp j -
(((distSpaceDeriv j) ((distSpaceDeriv j) ((vectorPotential 𝓕.c) A))) ε).ofLp i e_f d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dε:SchwartzMap (Time × Space d) ℝi:Fin dj:Fin d⊢ -((((distSpaceDeriv j) ((distSpaceDeriv j) ((vectorPotential 𝓕.c) A))) ε).ofLp i -
(((distSpaceDeriv j) ((distSpaceDeriv i) ((vectorPotential 𝓕.c) A))) ε).ofLp j) =
(((distSpaceDeriv j) ((distSpaceDeriv i) ((vectorPotential 𝓕.c) A))) ε).ofLp j -
(((distSpaceDeriv j) ((distSpaceDeriv j) ((vectorPotential 𝓕.c) A))) ε).ofLp i]e_f d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dε:SchwartzMap (Time × Space d) ℝi:Fin dj:Fin d⊢ -((((distSpaceDeriv j) ((distSpaceDeriv j) ((vectorPotential 𝓕.c) A))) ε).ofLp i -
(((distSpaceDeriv j) ((distSpaceDeriv i) ((vectorPotential 𝓕.c) A))) ε).ofLp j) =
(((distSpaceDeriv j) ((distSpaceDeriv i) ((vectorPotential 𝓕.c) A))) ε).ofLp j -
(((distSpaceDeriv j) ((distSpaceDeriv j) ((vectorPotential 𝓕.c) A))) ε).ofLp i
ring All goals completed! 🐙A.3. The exterma condition in terms of tensors
We show that A is an extrema of the lagrangian if and only if the equation
$$\frac{1}{\mu_0} \partial_\kappa F^{\kappa \nu'} - J^{\nu'} = 0,$$
holds.
set_option maxHeartbeats 600000 in
lemma isExterma_iff_tensor {𝓕 : FreeSpace}
(A : DistElectromagneticPotential d)
(J : DistLorentzCurrentDensity d) :
IsExtrema 𝓕 A J ↔ ∀ ε,
{((1/ 𝓕.μ₀ : ℝ) • distTensorDeriv A.fieldStrength ε | κ κ ν') + - (J ε | ν')}ᵀ = 0 := by d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity d⊢ IsExtrema 𝓕 A J ↔
∀ (ε : SchwartzMap (SpaceTime d) ℝ),
(contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) ε)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J ε)) =
0
apply Iff.intro mp d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity d⊢ IsExtrema 𝓕 A J →
∀ (ε : SchwartzMap (SpaceTime d) ℝ),
(contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) ε)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J ε)) =
0mpr d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity d⊢ (∀ (ε : SchwartzMap (SpaceTime d) ℝ),
(contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) ε)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J ε)) =
0) →
IsExtrema 𝓕 A J
· mp d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity d⊢ IsExtrema 𝓕 A J →
∀ (ε : SchwartzMap (SpaceTime d) ℝ),
(contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) ε)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J ε)) =
0 intro h mp d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dh:IsExtrema 𝓕 A J⊢ ∀ (ε : SchwartzMap (SpaceTime d) ℝ),
(contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) ε)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J ε)) =
0
simp only [IsExtrema] at h mp d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dh:gradLagrangian 𝓕 A J = 0⊢ ∀ (ε : SchwartzMap (SpaceTime d) ℝ),
(contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) ε)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J ε)) =
0
intro x mp d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dh:gradLagrangian 𝓕 A J = 0x:SchwartzMap (SpaceTime d) ℝ⊢ (contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) x)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J x)) =
0
have h1 : ((Tensorial.toTensor (M := Lorentz.Vector d)).symm
(permT id (IsReindexing.auto) {((1/ 𝓕.μ₀ : ℝ) •
distTensorDeriv A.fieldStrength x | κ κ ν') + - (J x | ν')}ᵀ)) = 0 := by d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity d⊢ IsExtrema 𝓕 A J ↔
∀ (ε : SchwartzMap (SpaceTime d) ℝ),
(contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) ε)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J ε)) =
0 mp d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dh:gradLagrangian 𝓕 A J = 0x:SchwartzMap (SpaceTime d) ℝh1:Tensorial.toTensor.symm
((permT id ⋯)
((contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) x)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J x)))) =
0⊢ (contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) x)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J x)) =
0
funext ν d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dh:gradLagrangian 𝓕 A J = 0x:SchwartzMap (SpaceTime d) ℝν:Fin 1 ⊕ Fin d⊢ Tensorial.toTensor.symm
((permT id ⋯)
((contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) x)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J x))))
ν =
0 ν mp d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dh:gradLagrangian 𝓕 A J = 0x:SchwartzMap (SpaceTime d) ℝh1:Tensorial.toTensor.symm
((permT id ⋯)
((contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) x)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J x)))) =
0⊢ (contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) x)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J x)) =
0
have h2 : gradLagrangian 𝓕 A J x ν = 0 := by d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity d⊢ IsExtrema 𝓕 A J ↔
∀ (ε : SchwartzMap (SpaceTime d) ℝ),
(contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) ε)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J ε)) =
0 d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dh:gradLagrangian 𝓕 A J = 0x:SchwartzMap (SpaceTime d) ℝν:Fin 1 ⊕ Fin dh2:(gradLagrangian 𝓕 A J) x ν = 0⊢ Tensorial.toTensor.symm
((permT id ⋯)
((contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) x)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J x))))
ν =
0 νmp d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dh:gradLagrangian 𝓕 A J = 0x:SchwartzMap (SpaceTime d) ℝh1:Tensorial.toTensor.symm
((permT id ⋯)
((contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) x)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J x)))) =
0⊢ (contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) x)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J x)) =
0 simp [h] d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dh:gradLagrangian 𝓕 A J = 0x:SchwartzMap (SpaceTime d) ℝν:Fin 1 ⊕ Fin dh2:(gradLagrangian 𝓕 A J) x ν = 0⊢ Tensorial.toTensor.symm
((permT id ⋯)
((contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) x)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J x))))
ν =
0 νmp d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dh:gradLagrangian 𝓕 A J = 0x:SchwartzMap (SpaceTime d) ℝh1:Tensorial.toTensor.symm
((permT id ⋯)
((contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) x)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J x)))) =
0⊢ (contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) x)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J x)) =
0 d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dh:gradLagrangian 𝓕 A J = 0x:SchwartzMap (SpaceTime d) ℝν:Fin 1 ⊕ Fin dh2:(gradLagrangian 𝓕 A J) x ν = 0⊢ Tensorial.toTensor.symm
((permT id ⋯)
((contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) x)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J x))))
ν =
0 νmp d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dh:gradLagrangian 𝓕 A J = 0x:SchwartzMap (SpaceTime d) ℝh1:Tensorial.toTensor.symm
((permT id ⋯)
((contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) x)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J x)))) =
0⊢ (contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) x)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J x)) =
0
rw [gradLagrangian_eq_tensor A J d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dh:gradLagrangian 𝓕 A J = 0x:SchwartzMap (SpaceTime d) ℝν:Fin 1 ⊕ Fin dh2:η ν ν *
Tensorial.toTensor.symm
((permT id ⋯)
((contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) x)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J x))))
ν =
0⊢ Tensorial.toTensor.symm
((permT id ⋯)
((contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) x)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J x))))
ν =
0 ν d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dh:gradLagrangian 𝓕 A J = 0x:SchwartzMap (SpaceTime d) ℝν:Fin 1 ⊕ Fin dh2:η ν ν *
Tensorial.toTensor.symm
((permT id ⋯)
((contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) x)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J x))))
ν =
0⊢ Tensorial.toTensor.symm
((permT id ⋯)
((contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) x)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J x))))
ν =
0 νmp d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dh:gradLagrangian 𝓕 A J = 0x:SchwartzMap (SpaceTime d) ℝh1:Tensorial.toTensor.symm
((permT id ⋯)
((contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) x)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J x)))) =
0⊢ (contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) x)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J x)) =
0] at h2 d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dh:gradLagrangian 𝓕 A J = 0x:SchwartzMap (SpaceTime d) ℝν:Fin 1 ⊕ Fin dh2:η ν ν *
Tensorial.toTensor.symm
((permT id ⋯)
((contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) x)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J x))))
ν =
0⊢ Tensorial.toTensor.symm
((permT id ⋯)
((contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) x)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J x))))
ν =
0 νmp d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dh:gradLagrangian 𝓕 A J = 0x:SchwartzMap (SpaceTime d) ℝh1:Tensorial.toTensor.symm
((permT id ⋯)
((contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) x)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J x)))) =
0⊢ (contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) x)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J x)) =
0
simp at h2 d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dh:gradLagrangian 𝓕 A J = 0x:SchwartzMap (SpaceTime d) ℝν:Fin 1 ⊕ Fin dh2:η ν ν = 0 ∨
𝓕.μ₀⁻¹ *
Tensorial.toTensor.symm
((permT id ⋯) ((contrT 1 0 1 ⋯) (Tensorial.toTensor ((distTensorDeriv (fieldStrength A)) x)))) ν +
-Tensorial.toTensor.symm ((permT ![0] ⋯) (Tensorial.toTensor (J x))) ν =
0⊢ Tensorial.toTensor.symm
((permT id ⋯)
((contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) x)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J x))))
ν =
0 νmp d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dh:gradLagrangian 𝓕 A J = 0x:SchwartzMap (SpaceTime d) ℝh1:Tensorial.toTensor.symm
((permT id ⋯)
((contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) x)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J x)))) =
0⊢ (contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) x)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J x)) =
0
have hn : minkowskiMatrix ν ν ≠ 0 := minkowskiMatrix.η_diag_ne_zero d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dh:gradLagrangian 𝓕 A J = 0x:SchwartzMap (SpaceTime d) ℝν:Fin 1 ⊕ Fin dh2:η ν ν = 0 ∨
𝓕.μ₀⁻¹ *
Tensorial.toTensor.symm
((permT id ⋯) ((contrT 1 0 1 ⋯) (Tensorial.toTensor ((distTensorDeriv (fieldStrength A)) x)))) ν +
-Tensorial.toTensor.symm ((permT ![0] ⋯) (Tensorial.toTensor (J x))) ν =
0hn:η ν ν ≠ 0⊢ Tensorial.toTensor.symm
((permT id ⋯)
((contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) x)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J x))))
ν =
0 νmp d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dh:gradLagrangian 𝓕 A J = 0x:SchwartzMap (SpaceTime d) ℝh1:Tensorial.toTensor.symm
((permT id ⋯)
((contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) x)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J x)))) =
0⊢ (contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) x)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J x)) =
0
simp_allmp d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dh:gradLagrangian 𝓕 A J = 0x:SchwartzMap (SpaceTime d) ℝh1:Tensorial.toTensor.symm
((permT id ⋯)
((contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) x)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J x)))) =
0⊢ (contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) x)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J x)) =
0mp d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dh:gradLagrangian 𝓕 A J = 0x:SchwartzMap (SpaceTime d) ℝh1:Tensorial.toTensor.symm
((permT id ⋯)
((contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) x)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J x)))) =
0⊢ (contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) x)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J x)) =
0
rw [EmbeddingLike.map_eq_zero_iff, mp d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dh:gradLagrangian 𝓕 A J = 0x:SchwartzMap (SpaceTime d) ℝh1:(permT id ⋯)
((contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) x)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J x))) =
0⊢ (contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) x)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J x)) =
0 mp d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dh:gradLagrangian 𝓕 A J = 0x:SchwartzMap (SpaceTime d) ℝh1:(contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) x)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J x)) =
0⊢ (contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) x)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J x)) =
0 permT_eq_zero_iff mp d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dh:gradLagrangian 𝓕 A J = 0x:SchwartzMap (SpaceTime d) ℝh1:(contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) x)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J x)) =
0⊢ (contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) x)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J x)) =
0mp d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dh:gradLagrangian 𝓕 A J = 0x:SchwartzMap (SpaceTime d) ℝh1:(contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) x)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J x)) =
0⊢ (contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) x)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J x)) =
0] at h1mp d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dh:gradLagrangian 𝓕 A J = 0x:SchwartzMap (SpaceTime d) ℝh1:(contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) x)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J x)) =
0⊢ (contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) x)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J x)) =
0
exact h1 All goals completed! 🐙
· mpr d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity d⊢ (∀ (ε : SchwartzMap (SpaceTime d) ℝ),
(contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) ε)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J ε)) =
0) →
IsExtrema 𝓕 A J intro h mpr d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dh:∀ (ε : SchwartzMap (SpaceTime d) ℝ),
(contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) ε)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J ε)) =
0⊢ IsExtrema 𝓕 A J
simp only [IsExtrema] mpr d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dh:∀ (ε : SchwartzMap (SpaceTime d) ℝ),
(contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) ε)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J ε)) =
0⊢ gradLagrangian 𝓕 A J = 0
ext1 x mpr d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dh:∀ (ε : SchwartzMap (SpaceTime d) ℝ),
(contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) ε)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J ε)) =
0x:SchwartzMap (SpaceTime d) ℝ⊢ (gradLagrangian 𝓕 A J) x = 0 x
funext ν mpr d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dh:∀ (ε : SchwartzMap (SpaceTime d) ℝ),
(contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) ε)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J ε)) =
0x:SchwartzMap (SpaceTime d) ℝν:Fin 1 ⊕ Fin d⊢ (gradLagrangian 𝓕 A J) x ν = 0 x ν
rw [gradLagrangian_eq_tensor A J, mpr d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dh:∀ (ε : SchwartzMap (SpaceTime d) ℝ),
(contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) ε)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J ε)) =
0x:SchwartzMap (SpaceTime d) ℝν:Fin 1 ⊕ Fin d⊢ η ν ν *
Tensorial.toTensor.symm
((permT id ⋯)
((contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) x)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J x))))
ν =
0 x ν mpr d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dh:∀ (ε : SchwartzMap (SpaceTime d) ℝ),
(contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) ε)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J ε)) =
0x:SchwartzMap (SpaceTime d) ℝν:Fin 1 ⊕ Fin d⊢ η ν ν * Tensorial.toTensor.symm ((permT id ⋯) 0) ν = 0 x ν h mpr d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dh:∀ (ε : SchwartzMap (SpaceTime d) ℝ),
(contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) ε)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J ε)) =
0x:SchwartzMap (SpaceTime d) ℝν:Fin 1 ⊕ Fin d⊢ η ν ν * Tensorial.toTensor.symm ((permT id ⋯) 0) ν = 0 x νmpr d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dh:∀ (ε : SchwartzMap (SpaceTime d) ℝ),
(contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) ε)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J ε)) =
0x:SchwartzMap (SpaceTime d) ℝν:Fin 1 ⊕ Fin d⊢ η ν ν * Tensorial.toTensor.symm ((permT id ⋯) 0) ν = 0 x ν]mpr d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dh:∀ (ε : SchwartzMap (SpaceTime d) ℝ),
(contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) ε)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J ε)) =
0x:SchwartzMap (SpaceTime d) ℝν:Fin 1 ⊕ Fin d⊢ η ν ν * Tensorial.toTensor.symm ((permT id ⋯) 0) ν = 0 x ν
simp All goals completed! 🐙A.4. The invariance of the exterma condition under Lorentz transformations
We show that the Exterma condition is invariant under Lorentz transformations. This implies that if an electromagnetic potential is an extrema in one inertial frame, it is also an extrema in any other inertial frame. In otherwords that the Maxwell's equations are Lorentz invariant. A natural consequence of this is that the speed of light is the same in all inertial frames.
set_option backward.isDefEq.respectTransparency false in
lemma isExterma_equivariant {𝓕 : FreeSpace}
(A : DistElectromagneticPotential d)
(J : DistLorentzCurrentDensity d) (Λ : LorentzGroup d) :
IsExtrema 𝓕 (Λ • A) (Λ • J) ↔ IsExtrema 𝓕 A J := by d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dΛ:↑(LorentzGroup d)⊢ IsExtrema 𝓕 (Λ • A) (Λ • J) ↔ IsExtrema 𝓕 A J
rw [isExterma_iff_tensor d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dΛ:↑(LorentzGroup d)⊢ (∀ (ε : SchwartzMap (SpaceTime d) ℝ),
(contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength (Λ • A))) ε)) +
(permT ![0] ⋯) (-Tensorial.toTensor ((Λ • J) ε)) =
0) ↔
IsExtrema 𝓕 A J d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dΛ:↑(LorentzGroup d)⊢ (∀ (ε : SchwartzMap (SpaceTime d) ℝ),
(contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength (Λ • A))) ε)) +
(permT ![0] ⋯) (-Tensorial.toTensor ((Λ • J) ε)) =
0) ↔
IsExtrema 𝓕 A J] d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dΛ:↑(LorentzGroup d)⊢ (∀ (ε : SchwartzMap (SpaceTime d) ℝ),
(contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength (Λ • A))) ε)) +
(permT ![0] ⋯) (-Tensorial.toTensor ((Λ • J) ε)) =
0) ↔
IsExtrema 𝓕 A J
conv_lhs =>
enter [x, 1, 1, 2, 2, 2] d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dΛ:↑(LorentzGroup d)x:SchwartzMap (SpaceTime d) ℝ| (distTensorDeriv (fieldStrength (Λ • A))) x
rw [fieldStrength_equivariant, distTensorDeriv_equivariant] d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dΛ:↑(LorentzGroup d)x:SchwartzMap (SpaceTime d) ℝ| (Λ • distTensorDeriv (fieldStrength A)) x
rw [lorentzGroup_smul_dist_apply] d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dΛ:↑(LorentzGroup d)x:SchwartzMap (SpaceTime d) ℝ| Λ • (distTensorDeriv (fieldStrength A)) ((schwartzAction Λ⁻¹) x)
conv_lhs =>
enter [x] d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dΛ:↑(LorentzGroup d)x:SchwartzMap (SpaceTime d) ℝ| (contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • Λ • (distTensorDeriv (fieldStrength A)) ((schwartzAction Λ⁻¹) x))) +
(permT ![0] ⋯) (-Tensorial.toTensor ((Λ • J) x)) =
0
rw [smul_comm] d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dΛ:↑(LorentzGroup d)x:SchwartzMap (SpaceTime d) ℝ| (contrT 1 0 1 ⋯) (Tensorial.toTensor (Λ • (1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) ((schwartzAction Λ⁻¹) x))) +
(permT ![0] ⋯) (-Tensorial.toTensor ((Λ • J) x)) =
0
rw [Tensorial.toTensor_smul, lorentzGroup_smul_dist_apply, Tensorial.toTensor_smul] d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dΛ:↑(LorentzGroup d)x:SchwartzMap (SpaceTime d) ℝ| (contrT 1 0 1 ⋯) (Λ • Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) ((schwartzAction Λ⁻¹) x))) +
(permT ![0] ⋯) (-(Λ • Tensorial.toTensor (J ((schwartzAction Λ⁻¹) x)))) =
0
simp only [one_div, map_smul, actionT_smul,
contrT_equivariant, map_neg, permT_equivariant] d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dΛ:↑(LorentzGroup d)x:SchwartzMap (SpaceTime d) ℝ| 𝓕.μ₀⁻¹ • Λ • (contrT 1 0 1 ⋯) (Tensorial.toTensor ((distTensorDeriv (fieldStrength A)) ((schwartzAction Λ⁻¹) x))) +
-(Λ • (permT ![0] ⋯) (Tensorial.toTensor (J ((schwartzAction Λ⁻¹) x)))) =
0
rw [smul_comm, ← Tensor.actionT_neg, ← Tensor.actionT_add] d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dΛ:↑(LorentzGroup d)x:SchwartzMap (SpaceTime d) ℝ| Λ •
(𝓕.μ₀⁻¹ • (contrT 1 0 1 ⋯) (Tensorial.toTensor ((distTensorDeriv (fieldStrength A)) ((schwartzAction Λ⁻¹) x))) +
-(permT ![0] ⋯) (Tensorial.toTensor (J ((schwartzAction Λ⁻¹) x)))) =
0
apply Iff.intro mp d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dΛ:↑(LorentzGroup d)⊢ (∀ (x : SchwartzMap (SpaceTime d) ℝ),
Λ •
(𝓕.μ₀⁻¹ • (contrT 1 0 1 ⋯) (Tensorial.toTensor ((distTensorDeriv (fieldStrength A)) ((schwartzAction Λ⁻¹) x))) +
-(permT ![0] ⋯) (Tensorial.toTensor (J ((schwartzAction Λ⁻¹) x)))) =
0) →
IsExtrema 𝓕 A Jmpr d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dΛ:↑(LorentzGroup d)⊢ IsExtrema 𝓕 A J →
∀ (x : SchwartzMap (SpaceTime d) ℝ),
Λ •
(𝓕.μ₀⁻¹ • (contrT 1 0 1 ⋯) (Tensorial.toTensor ((distTensorDeriv (fieldStrength A)) ((schwartzAction Λ⁻¹) x))) +
-(permT ![0] ⋯) (Tensorial.toTensor (J ((schwartzAction Λ⁻¹) x)))) =
0
· mp d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dΛ:↑(LorentzGroup d)⊢ (∀ (x : SchwartzMap (SpaceTime d) ℝ),
Λ •
(𝓕.μ₀⁻¹ • (contrT 1 0 1 ⋯) (Tensorial.toTensor ((distTensorDeriv (fieldStrength A)) ((schwartzAction Λ⁻¹) x))) +
-(permT ![0] ⋯) (Tensorial.toTensor (J ((schwartzAction Λ⁻¹) x)))) =
0) →
IsExtrema 𝓕 A J intro h mp d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dΛ:↑(LorentzGroup d)h:∀ (x : SchwartzMap (SpaceTime d) ℝ),
Λ •
(𝓕.μ₀⁻¹ • (contrT 1 0 1 ⋯) (Tensorial.toTensor ((distTensorDeriv (fieldStrength A)) ((schwartzAction Λ⁻¹) x))) +
-(permT ![0] ⋯) (Tensorial.toTensor (J ((schwartzAction Λ⁻¹) x)))) =
0⊢ IsExtrema 𝓕 A J
rw [isExterma_iff_tensor A J mp d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dΛ:↑(LorentzGroup d)h:∀ (x : SchwartzMap (SpaceTime d) ℝ),
Λ •
(𝓕.μ₀⁻¹ • (contrT 1 0 1 ⋯) (Tensorial.toTensor ((distTensorDeriv (fieldStrength A)) ((schwartzAction Λ⁻¹) x))) +
-(permT ![0] ⋯) (Tensorial.toTensor (J ((schwartzAction Λ⁻¹) x)))) =
0⊢ ∀ (ε : SchwartzMap (SpaceTime d) ℝ),
(contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) ε)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J ε)) =
0 mp d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dΛ:↑(LorentzGroup d)h:∀ (x : SchwartzMap (SpaceTime d) ℝ),
Λ •
(𝓕.μ₀⁻¹ • (contrT 1 0 1 ⋯) (Tensorial.toTensor ((distTensorDeriv (fieldStrength A)) ((schwartzAction Λ⁻¹) x))) +
-(permT ![0] ⋯) (Tensorial.toTensor (J ((schwartzAction Λ⁻¹) x)))) =
0⊢ ∀ (ε : SchwartzMap (SpaceTime d) ℝ),
(contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) ε)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J ε)) =
0]mp d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dΛ:↑(LorentzGroup d)h:∀ (x : SchwartzMap (SpaceTime d) ℝ),
Λ •
(𝓕.μ₀⁻¹ • (contrT 1 0 1 ⋯) (Tensorial.toTensor ((distTensorDeriv (fieldStrength A)) ((schwartzAction Λ⁻¹) x))) +
-(permT ![0] ⋯) (Tensorial.toTensor (J ((schwartzAction Λ⁻¹) x)))) =
0⊢ ∀ (ε : SchwartzMap (SpaceTime d) ℝ),
(contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) ε)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J ε)) =
0
intro x mp d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dΛ:↑(LorentzGroup d)h:∀ (x : SchwartzMap (SpaceTime d) ℝ),
Λ •
(𝓕.μ₀⁻¹ • (contrT 1 0 1 ⋯) (Tensorial.toTensor ((distTensorDeriv (fieldStrength A)) ((schwartzAction Λ⁻¹) x))) +
-(permT ![0] ⋯) (Tensorial.toTensor (J ((schwartzAction Λ⁻¹) x)))) =
0x:SchwartzMap (SpaceTime d) ℝ⊢ (contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) x)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J x)) =
0
apply MulAction.injective Λ mp d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dΛ:↑(LorentzGroup d)h:∀ (x : SchwartzMap (SpaceTime d) ℝ),
Λ •
(𝓕.μ₀⁻¹ • (contrT 1 0 1 ⋯) (Tensorial.toTensor ((distTensorDeriv (fieldStrength A)) ((schwartzAction Λ⁻¹) x))) +
-(permT ![0] ⋯) (Tensorial.toTensor (J ((schwartzAction Λ⁻¹) x)))) =
0x:SchwartzMap (SpaceTime d) ℝ⊢ (fun x => Λ • x)
((contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) x)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J x))) =
(fun x => Λ • x) 0
simp only [one_div, map_smul, map_neg,
_root_.smul_add, actionT_smul, _root_.smul_neg, _root_.smul_zero] mp d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dΛ:↑(LorentzGroup d)h:∀ (x : SchwartzMap (SpaceTime d) ℝ),
Λ •
(𝓕.μ₀⁻¹ • (contrT 1 0 1 ⋯) (Tensorial.toTensor ((distTensorDeriv (fieldStrength A)) ((schwartzAction Λ⁻¹) x))) +
-(permT ![0] ⋯) (Tensorial.toTensor (J ((schwartzAction Λ⁻¹) x)))) =
0x:SchwartzMap (SpaceTime d) ℝ⊢ 𝓕.μ₀⁻¹ • Λ • (contrT 1 0 1 ⋯) (Tensorial.toTensor ((distTensorDeriv (fieldStrength A)) x)) +
-(Λ • (permT ![0] ⋯) (Tensorial.toTensor (J x))) =
0
simpa only [Fin.isValue, schwartzAction_mul_apply, inv_mul_cancel, map_one,
one_apply_eq_self, smul_add, actionT_smul, smul_neg] using h (schwartzAction Λ x) All goals completed! 🐙
· mpr d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dΛ:↑(LorentzGroup d)⊢ IsExtrema 𝓕 A J →
∀ (x : SchwartzMap (SpaceTime d) ℝ),
Λ •
(𝓕.μ₀⁻¹ • (contrT 1 0 1 ⋯) (Tensorial.toTensor ((distTensorDeriv (fieldStrength A)) ((schwartzAction Λ⁻¹) x))) +
-(permT ![0] ⋯) (Tensorial.toTensor (J ((schwartzAction Λ⁻¹) x)))) =
0 intro h x mpr d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dΛ:↑(LorentzGroup d)h:IsExtrema 𝓕 A Jx:SchwartzMap (SpaceTime d) ℝ⊢ Λ •
(𝓕.μ₀⁻¹ • (contrT 1 0 1 ⋯) (Tensorial.toTensor ((distTensorDeriv (fieldStrength A)) ((schwartzAction Λ⁻¹) x))) +
-(permT ![0] ⋯) (Tensorial.toTensor (J ((schwartzAction Λ⁻¹) x)))) =
0
rw [isExterma_iff_tensor A J mpr d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dΛ:↑(LorentzGroup d)h:∀ (ε : SchwartzMap (SpaceTime d) ℝ),
(contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) ε)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J ε)) =
0x:SchwartzMap (SpaceTime d) ℝ⊢ Λ •
(𝓕.μ₀⁻¹ • (contrT 1 0 1 ⋯) (Tensorial.toTensor ((distTensorDeriv (fieldStrength A)) ((schwartzAction Λ⁻¹) x))) +
-(permT ![0] ⋯) (Tensorial.toTensor (J ((schwartzAction Λ⁻¹) x)))) =
0 mpr d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dΛ:↑(LorentzGroup d)h:∀ (ε : SchwartzMap (SpaceTime d) ℝ),
(contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) ε)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J ε)) =
0x:SchwartzMap (SpaceTime d) ℝ⊢ Λ •
(𝓕.μ₀⁻¹ • (contrT 1 0 1 ⋯) (Tensorial.toTensor ((distTensorDeriv (fieldStrength A)) ((schwartzAction Λ⁻¹) x))) +
-(permT ![0] ⋯) (Tensorial.toTensor (J ((schwartzAction Λ⁻¹) x)))) =
0] at hmpr d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dΛ:↑(LorentzGroup d)h:∀ (ε : SchwartzMap (SpaceTime d) ℝ),
(contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) ε)) +
(permT ![0] ⋯) (-Tensorial.toTensor (J ε)) =
0x:SchwartzMap (SpaceTime d) ℝ⊢ Λ •
(𝓕.μ₀⁻¹ • (contrT 1 0 1 ⋯) (Tensorial.toTensor ((distTensorDeriv (fieldStrength A)) ((schwartzAction Λ⁻¹) x))) +
-(permT ![0] ⋯) (Tensorial.toTensor (J ((schwartzAction Λ⁻¹) x)))) =
0
specialize h (schwartzAction Λ⁻¹ x) mpr d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dΛ:↑(LorentzGroup d)x:SchwartzMap (SpaceTime d) ℝh:(contrT 1 0 1 ⋯) (Tensorial.toTensor ((1 / 𝓕.μ₀) • (distTensorDeriv (fieldStrength A)) ((schwartzAction Λ⁻¹) x))) +
(permT ![0] ⋯) (-Tensorial.toTensor (J ((schwartzAction Λ⁻¹) x))) =
0⊢ Λ •
(𝓕.μ₀⁻¹ • (contrT 1 0 1 ⋯) (Tensorial.toTensor ((distTensorDeriv (fieldStrength A)) ((schwartzAction Λ⁻¹) x))) +
-(permT ![0] ⋯) (Tensorial.toTensor (J ((schwartzAction Λ⁻¹) x)))) =
0
simp only [Nat.reduceAdd, Nat.succ_eq_add_one, Fin.isValue, one_div, map_smul, map_neg] at h mpr d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dΛ:↑(LorentzGroup d)x:SchwartzMap (SpaceTime d) ℝh:𝓕.μ₀⁻¹ • (contrT 1 0 1 ⋯) (Tensorial.toTensor ((distTensorDeriv (fieldStrength A)) ((schwartzAction Λ⁻¹) x))) +
-(permT ![0] ⋯) (Tensorial.toTensor (J ((schwartzAction Λ⁻¹) x))) =
0⊢ Λ •
(𝓕.μ₀⁻¹ • (contrT 1 0 1 ⋯) (Tensorial.toTensor ((distTensorDeriv (fieldStrength A)) ((schwartzAction Λ⁻¹) x))) +
-(permT ![0] ⋯) (Tensorial.toTensor (J ((schwartzAction Λ⁻¹) x)))) =
0
rw [h mpr d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dΛ:↑(LorentzGroup d)x:SchwartzMap (SpaceTime d) ℝh:𝓕.μ₀⁻¹ • (contrT 1 0 1 ⋯) (Tensorial.toTensor ((distTensorDeriv (fieldStrength A)) ((schwartzAction Λ⁻¹) x))) +
-(permT ![0] ⋯) (Tensorial.toTensor (J ((schwartzAction Λ⁻¹) x))) =
0⊢ Λ • 0 = 0 mpr d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dΛ:↑(LorentzGroup d)x:SchwartzMap (SpaceTime d) ℝh:𝓕.μ₀⁻¹ • (contrT 1 0 1 ⋯) (Tensorial.toTensor ((distTensorDeriv (fieldStrength A)) ((schwartzAction Λ⁻¹) x))) +
-(permT ![0] ⋯) (Tensorial.toTensor (J ((schwartzAction Λ⁻¹) x))) =
0⊢ Λ • 0 = 0]mpr d:ℕ𝓕:FreeSpaceA:DistElectromagneticPotential dJ:DistLorentzCurrentDensity dΛ:↑(LorentzGroup d)x:SchwartzMap (SpaceTime d) ℝh:𝓕.μ₀⁻¹ • (contrT 1 0 1 ⋯) (Tensorial.toTensor ((distTensorDeriv (fieldStrength A)) ((schwartzAction Λ⁻¹) x))) +
-(permT ![0] ⋯) (Tensorial.toTensor (J ((schwartzAction Λ⁻¹) x))) =
0⊢ Λ • 0 = 0
simp All goals completed! 🐙