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.IsExtrema
public import Physlib.SpaceAndTime.Space.Norm.Basic
public import Physlib.SpaceAndTime.Space.TranslationsThe electrostatics of a stationary point particle in 1d
i. Overview
In this module we give the electromagnetic properties of a point particle sitting at the origin in 1d space.
ii. Key results
oneDimPointParticle : The electromagnetic potential of a point particle
stationary at the origin of 1d space.
oneDimPointParticle_isExterma : The electric field of a point
particle stationary at the origin of 1d space satisfies Maxwell's equations
iii. Table of contents
A. The current density
B. The Potentials
B.1. The electromagnetic potential
B.2. The vector potential is zero
B.3. The scalar potential
C. The electric field
C.1. The time derivative of the electric field
D. The magnetic field
E. Maxwell's equations
iv. References
@[expose] public sectionA. The current density
c:SpeedOfLightq:โrโ:Space 1โข (SpaceTime.distTimeSlice c).symm (constantTime ((c.val * q) โข diracDelta' โ rโ (Lorentz.Vector.basis (Sum.inl 0)))) =
(SpaceTime.distTimeSlice c).symm
(constantTime ((distTranslate (basis.repr rโ)) ((c.val * q) โข diracDelta' โ 0 (Lorentz.Vector.basis (Sum.inl 0)))))
congr e_6.e_6 c:SpeedOfLightq:โrโ:Space 1โข (c.val * q) โข diracDelta' โ rโ (Lorentz.Vector.basis (Sum.inl 0)) =
(distTranslate (basis.repr rโ)) ((c.val * q) โข diracDelta' โ 0 (Lorentz.Vector.basis (Sum.inl 0)))
ext ฮท e_6.e_6 c:SpeedOfLightq:โrโ:Space 1ฮท:๐ข(Space 1, โ)iโ:Fin 1 โ Fin 1โข ((c.val * q) โข diracDelta' โ rโ (Lorentz.Vector.basis (Sum.inl 0))) ฮท iโ =
((distTranslate (basis.repr rโ)) ((c.val * q) โข diracDelta' โ 0 (Lorentz.Vector.basis (Sum.inl 0)))) ฮท iโ
simp [distTranslate_apply] All goals completed! ๐@[simp]
lemma oneDimPointParticleCurrentDensity_currentDensity (c : SpeedOfLight) (q : โ) (rโ : Space 1) :
(oneDimPointParticleCurrentDensity c q rโ).currentDensity c = 0 := by c:SpeedOfLightq:โrโ:Space 1โข (DistLorentzCurrentDensity.currentDensity c) (oneDimPointParticleCurrentDensity c q rโ) = 0
ext ฮต i c:SpeedOfLightq:โrโ:Space 1ฮต:๐ข(Time ร Space 1, โ)i:Fin 1โข (((DistLorentzCurrentDensity.currentDensity c) (oneDimPointParticleCurrentDensity c q rโ)) ฮต).ofLp i = (0 ฮต).ofLp i
simp [oneDimPointParticleCurrentDensity, DistLorentzCurrentDensity.currentDensity,
Lorentz.Vector.spatialCLM, constantTime_apply] All goals completed! ๐@[simp]
lemma oneDimPointParticleCurrentDensity_chargeDensity (c : SpeedOfLight) (q : โ) (rโ : Space 1) :
(oneDimPointParticleCurrentDensity c q rโ).chargeDensity c =
constantTime (q โข diracDelta โ rโ) := by c:SpeedOfLightq:โrโ:Space 1โข (DistLorentzCurrentDensity.chargeDensity c) (oneDimPointParticleCurrentDensity c q rโ) =
constantTime (q โข diracDelta โ rโ)
ext ฮต c:SpeedOfLightq:โrโ:Space 1ฮต:๐ข(Time ร Space 1, โ)โข ((DistLorentzCurrentDensity.chargeDensity c) (oneDimPointParticleCurrentDensity c q rโ)) ฮต =
(constantTime (q โข diracDelta โ rโ)) ฮต
simp only [DistLorentzCurrentDensity.chargeDensity, one_div, Lorentz.Vector.temporalCLM,
Fin.isValue, oneDimPointParticleCurrentDensity, map_smul, LinearMap.coe_mk, AddHom.coe_mk,
ContinuousLinearEquiv.apply_symm_apply, FunLike.coe_smul,
ContinuousLinearMap.coe_comp, LinearMap.coe_toContinuousLinearMap', Pi.smul_apply,
Function.comp_apply, constantTime_apply, diracDelta'_apply, Lorentz.Vector.apply_smul,
Lorentz.Vector.basis_apply, โreduceIte, mul_one, smul_eq_mul, diracDelta_apply] c:SpeedOfLightq:โrโ:Space 1ฮต:๐ข(Time ร Space 1, โ)โข c.val * q * (c.valโปยน * (timeIntegralSchwartz ฮต) rโ) = q * (timeIntegralSchwartz ฮต) rโ
field_simp All goals completed! ๐B. The Potentials
B.1. The electromagnetic potential
lemma oneDimPointParticle_eq_distTranslate (๐ : FreeSpace) (q : โ) (rโ : Space 1) :
oneDimPointParticle ๐ q rโ = ((SpaceTime.distTimeSlice ๐.c).symm <|
constantTime <|
distTranslate (basis.repr rโ) <|
distOfFunction (fun x => ((- (q * ๐.ฮผโ * ๐.c)/ 2) * โxโ) โข Lorentz.Vector.basis (Sum.inl 0))
(by ๐:FreeSpaceq:โrโ:Space 1โข IsDistBounded fun x => (-(q * ๐.ฮผโ * ๐.c.val) / 2 * โxโ) โข Lorentz.Vector.basis (Sum.inl 0) fun_prop All goals completed! ๐)) := by ๐:FreeSpaceq:โrโ:Space 1โข oneDimPointParticle ๐ q rโ =
(SpaceTime.distTimeSlice ๐.c).symm
(constantTime
((distTranslate (basis.repr rโ))
(distOfFunction (fun x => (-(q * ๐.ฮผโ * ๐.c.val) / 2 * โxโ) โข Lorentz.Vector.basis (Sum.inl 0)) โฏ)))
rw [oneDimPointParticle ๐:FreeSpaceq:โrโ:Space 1โข (SpaceTime.distTimeSlice ๐.c).symm
(constantTime
(distOfFunction (fun x => (-(q * ๐.ฮผโ * ๐.c.val) / 2 * โx - rโโ) โข Lorentz.Vector.basis (Sum.inl 0)) โฏ)) =
(SpaceTime.distTimeSlice ๐.c).symm
(constantTime
((distTranslate (basis.repr rโ))
(distOfFunction (fun x => (-(q * ๐.ฮผโ * ๐.c.val) / 2 * โxโ) โข Lorentz.Vector.basis (Sum.inl 0)) โฏ))) ๐:FreeSpaceq:โrโ:Space 1โข (SpaceTime.distTimeSlice ๐.c).symm
(constantTime
(distOfFunction (fun x => (-(q * ๐.ฮผโ * ๐.c.val) / 2 * โx - rโโ) โข Lorentz.Vector.basis (Sum.inl 0)) โฏ)) =
(SpaceTime.distTimeSlice ๐.c).symm
(constantTime
((distTranslate (basis.repr rโ))
(distOfFunction (fun x => (-(q * ๐.ฮผโ * ๐.c.val) / 2 * โxโ) โข Lorentz.Vector.basis (Sum.inl 0)) โฏ)))] ๐:FreeSpaceq:โrโ:Space 1โข (SpaceTime.distTimeSlice ๐.c).symm
(constantTime
(distOfFunction (fun x => (-(q * ๐.ฮผโ * ๐.c.val) / 2 * โx - rโโ) โข Lorentz.Vector.basis (Sum.inl 0)) โฏ)) =
(SpaceTime.distTimeSlice ๐.c).symm
(constantTime
((distTranslate (basis.repr rโ))
(distOfFunction (fun x => (-(q * ๐.ฮผโ * ๐.c.val) / 2 * โxโ) โข Lorentz.Vector.basis (Sum.inl 0)) โฏ)))
congr e_6.e_6 ๐:FreeSpaceq:โrโ:Space 1โข distOfFunction (fun x => (-(q * ๐.ฮผโ * ๐.c.val) / 2 * โx - rโโ) โข Lorentz.Vector.basis (Sum.inl 0)) โฏ =
(distTranslate (basis.repr rโ))
(distOfFunction (fun x => (-(q * ๐.ฮผโ * ๐.c.val) / 2 * โxโ) โข Lorentz.Vector.basis (Sum.inl 0)) โฏ)
ext ฮท e_6.e_6 ๐:FreeSpaceq:โrโ:Space 1ฮท:๐ข(Space 1, โ)iโ:Fin 1 โ Fin 1โข (distOfFunction (fun x => (-(q * ๐.ฮผโ * ๐.c.val) / 2 * โx - rโโ) โข Lorentz.Vector.basis (Sum.inl 0)) โฏ) ฮท iโ =
((distTranslate (basis.repr rโ))
(distOfFunction (fun x => (-(q * ๐.ฮผโ * ๐.c.val) / 2 * โxโ) โข Lorentz.Vector.basis (Sum.inl 0)) โฏ))
ฮท iโ
simp [distTranslate_ofFunction] All goals completed! ๐/-
### B.2. The vector potential is zero
-/
@[simp]
lemma oneDimPointParticle_vectorPotential (๐ : FreeSpace) (q : โ) (rโ : Space 1) :
(oneDimPointParticle ๐ q rโ).vectorPotential ๐.c = 0 := by ๐:FreeSpaceq:โrโ:Space 1โข (vectorPotential ๐.c) (oneDimPointParticle ๐ q rโ) = 0
ext ฮต i ๐:FreeSpaceq:โrโ:Space 1ฮต:๐ข(Time ร Space 1, โ)i:Fin 1โข (((vectorPotential ๐.c) (oneDimPointParticle ๐ q rโ)) ฮต).ofLp i = (0 ฮต).ofLp i
simp [vectorPotential, Lorentz.Vector.spatialCLM,
oneDimPointParticle, constantTime_apply, distOfFunction_vector_eval] All goals completed! ๐B.3. The scalar potential
lemma oneDimPointParticle_scalarPotential (๐ : FreeSpace) (q : โ) (rโ : Space 1) :
(oneDimPointParticle ๐ q rโ).scalarPotential ๐.c =
Space.constantTime (distOfFunction (fun x =>
- ((q * ๐.ฮผโ * ๐.c ^ 2)/(2)) โข โx-rโโ) (by ๐:FreeSpaceq:โrโ:Space 1โข IsDistBounded fun x => -(q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข โx - rโโ fun_prop All goals completed! ๐)) := by ๐:FreeSpaceq:โrโ:Space 1โข (scalarPotential ๐.c) (oneDimPointParticle ๐ q rโ) =
constantTime (distOfFunction (fun x => -(q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข โx - rโโ) โฏ)
ext ฮต ๐:FreeSpaceq:โrโ:Space 1ฮต:๐ข(Time ร Space 1, โ)โข ((scalarPotential ๐.c) (oneDimPointParticle ๐ q rโ)) ฮต =
(constantTime (distOfFunction (fun x => -(q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข โx - rโโ) โฏ)) ฮต
simp only [scalarPotential, Lorentz.Vector.temporalCLM, Fin.isValue, map_smul,
ContinuousLinearMap.comp_smulโโ, Real.ringHom_apply, oneDimPointParticle, LinearMap.coe_mk,
AddHom.coe_mk, ContinuousLinearEquiv.apply_symm_apply, FunLike.coe_smul,
ContinuousLinearMap.coe_comp, LinearMap.coe_toContinuousLinearMap', Pi.smul_apply,
Function.comp_apply, constantTime_apply, distOfFunction_vector_eval, Lorentz.Vector.apply_smul,
Lorentz.Vector.basis_apply, โreduceIte, mul_one, smul_eq_mul, neg_mul] ๐:FreeSpaceq:โrโ:Space 1ฮต:๐ข(Time ร Space 1, โ)โข ๐.c.val * (distOfFunction (fun x => -(q * ๐.ฮผโ * ๐.c.val) / 2 * โx - rโโ) โฏ) (timeIntegralSchwartz ฮต) =
(distOfFunction (fun x => -(q * ๐.ฮผโ * ๐.c.val ^ 2 / 2 * โx - rโโ)) โฏ) (timeIntegralSchwartz ฮต)
rw [distOfFunction_mul_fun _ (by ๐:FreeSpaceq:โrโ:Space 1ฮต:๐ข(Time ร Space 1, โ)โข IsDistBounded fun x => โx - rโโ ๐:FreeSpaceq:โrโ:Space 1ฮต:๐ข(Time ร Space 1, โ)โข ๐.c.val * ((-(q * ๐.ฮผโ * ๐.c.val) / 2) โข distOfFunction (fun x => โx - rโโ) โฏ) (timeIntegralSchwartz ฮต) =
(-((q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข distOfFunction (fun x => โx - rโโ) โฏ)) (timeIntegralSchwartz ฮต) fun_prop All goals completed! ๐ ๐:FreeSpaceq:โrโ:Space 1ฮต:๐ข(Time ร Space 1, โ)โข ๐.c.val * ((-(q * ๐.ฮผโ * ๐.c.val) / 2) โข distOfFunction (fun x => โx - rโโ) โฏ) (timeIntegralSchwartz ฮต) =
(-((q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข distOfFunction (fun x => โx - rโโ) โฏ)) (timeIntegralSchwartz ฮต)), distOfFunction_neg, ๐:FreeSpaceq:โrโ:Space 1ฮต:๐ข(Time ร Space 1, โ)โข ๐.c.val * ((-(q * ๐.ฮผโ * ๐.c.val) / 2) โข distOfFunction (fun x => โx - rโโ) โฏ) (timeIntegralSchwartz ฮต) =
(-distOfFunction (fun x => q * ๐.ฮผโ * ๐.c.val ^ 2 / 2 * โx - rโโ) โฏ) (timeIntegralSchwartz ฮต) ๐:FreeSpaceq:โrโ:Space 1ฮต:๐ข(Time ร Space 1, โ)โข ๐.c.val * ((-(q * ๐.ฮผโ * ๐.c.val) / 2) โข distOfFunction (fun x => โx - rโโ) โฏ) (timeIntegralSchwartz ฮต) =
(-((q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข distOfFunction (fun x => โx - rโโ) โฏ)) (timeIntegralSchwartz ฮต)
distOfFunction_mul_fun _ (by ๐:FreeSpaceq:โrโ:Space 1ฮต:๐ข(Time ร Space 1, โ)โข IsDistBounded fun x => โx - rโโ ๐:FreeSpaceq:โrโ:Space 1ฮต:๐ข(Time ร Space 1, โ)โข ๐.c.val * ((-(q * ๐.ฮผโ * ๐.c.val) / 2) โข distOfFunction (fun x => โx - rโโ) โฏ) (timeIntegralSchwartz ฮต) =
(-((q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข distOfFunction (fun x => โx - rโโ) โฏ)) (timeIntegralSchwartz ฮต) fun_prop All goals completed! ๐ ๐:FreeSpaceq:โrโ:Space 1ฮต:๐ข(Time ร Space 1, โ)โข ๐.c.val * ((-(q * ๐.ฮผโ * ๐.c.val) / 2) โข distOfFunction (fun x => โx - rโโ) โฏ) (timeIntegralSchwartz ฮต) =
(-((q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข distOfFunction (fun x => โx - rโโ) โฏ)) (timeIntegralSchwartz ฮต))] ๐:FreeSpaceq:โrโ:Space 1ฮต:๐ข(Time ร Space 1, โ)โข ๐.c.val * ((-(q * ๐.ฮผโ * ๐.c.val) / 2) โข distOfFunction (fun x => โx - rโโ) โฏ) (timeIntegralSchwartz ฮต) =
(-((q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข distOfFunction (fun x => โx - rโโ) โฏ)) (timeIntegralSchwartz ฮต)
simp only [FunLike.coe_smul, Pi.smul_apply, smul_eq_mul,
_root_.neg_apply] ๐:FreeSpaceq:โrโ:Space 1ฮต:๐ข(Time ร Space 1, โ)โข ๐.c.val * (-(q * ๐.ฮผโ * ๐.c.val) / 2 * (distOfFunction (fun x => โx - rโโ) โฏ) (timeIntegralSchwartz ฮต)) =
-(q * ๐.ฮผโ * ๐.c.val ^ 2 / 2 * (distOfFunction (fun x => โx - rโโ) โฏ) (timeIntegralSchwartz ฮต))
ring All goals completed! ๐C. The electric field
lemma oneDimPointParticle_electricField (๐ : FreeSpace) (q : โ) (rโ : Space 1) :
(oneDimPointParticle ๐ q rโ).electricField ๐.c =
((q * ๐.ฮผโ * ๐.c ^ 2) / 2) โข constantTime (distOfFunction (fun x : Space 1 =>
โx - rโโ ^ (- 1 : โค) โข basis.repr (x - rโ))
((IsDistBounded.zpow_smul_repr_self (- 1 : โค) (by ๐:FreeSpaceq:โrโ:Space 1โข -โ(1 - 1) - 1 โค -1 omega All goals completed! ๐)).comp_sub_right rโ)) := by ๐:FreeSpaceq:โrโ:Space 1โข (electricField ๐.c) (oneDimPointParticle ๐ q rโ) =
(q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข constantTime (distOfFunction (fun x => โx - rโโ ^ (-1) โข basis.repr (x - rโ)) โฏ)
have h1 := Space.distGrad_distOfFunction_norm_zpow (d := 1) 1 (by ๐:FreeSpaceq:โrโ:Space 1โข -โ(1 - 1) + 1 โค 1 ๐:FreeSpaceq:โrโ:Space 1h1:โแต (distOfFunction (fun x => โxโ ^ 1) โฏ) = distOfFunction (fun x => (โ1 * โxโ ^ (1 - 2)) โข basis.repr x) โฏโข (electricField ๐.c) (oneDimPointParticle ๐ q rโ) =
(q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข constantTime (distOfFunction (fun x => โx - rโโ ^ (-1) โข basis.repr (x - rโ)) โฏ) grind All goals completed! ๐ ๐:FreeSpaceq:โrโ:Space 1h1:โแต (distOfFunction (fun x => โxโ ^ 1) โฏ) = distOfFunction (fun x => (โ1 * โxโ ^ (1 - 2)) โข basis.repr x) โฏโข (electricField ๐.c) (oneDimPointParticle ๐ q rโ) =
(q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข constantTime (distOfFunction (fun x => โx - rโโ ^ (-1) โข basis.repr (x - rโ)) โฏ)) ๐:FreeSpaceq:โrโ:Space 1h1:โแต (distOfFunction (fun x => โxโ ^ 1) โฏ) = distOfFunction (fun x => (โ1 * โxโ ^ (1 - 2)) โข basis.repr x) โฏโข (electricField ๐.c) (oneDimPointParticle ๐ q rโ) =
(q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข constantTime (distOfFunction (fun x => โx - rโโ ^ (-1) โข basis.repr (x - rโ)) โฏ)
simp at h1 ๐:FreeSpaceq:โrโ:Space 1h1:โแต (distOfFunction (fun x => โxโ) โฏ) = distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏโข (electricField ๐.c) (oneDimPointParticle ๐ q rโ) =
(q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข constantTime (distOfFunction (fun x => โx - rโโ ^ (-1) โข basis.repr (x - rโ)) โฏ)
simp only [electricField, LinearMap.coe_mk, AddHom.coe_mk, oneDimPointParticle_scalarPotential,
smul_eq_mul, neg_mul, oneDimPointParticle_vectorPotential, map_zero, sub_zero, Int.reduceNeg,
zpow_neg, zpow_one] ๐:FreeSpaceq:โrโ:Space 1h1:โแต (distOfFunction (fun x => โxโ) โฏ) = distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏโข -distSpaceGrad (constantTime (distOfFunction (fun x => -(q * ๐.ฮผโ * ๐.c.val ^ 2 / 2 * โx - rโโ)) โฏ)) =
(q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข constantTime (distOfFunction (fun x => โx - rโโโปยน โข basis.repr (x - rโ)) โฏ)
rw [constantTime_distSpaceGrad, ๐:FreeSpaceq:โrโ:Space 1h1:โแต (distOfFunction (fun x => โxโ) โฏ) = distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏโข -constantTime (โแต (distOfFunction (fun x => -(q * ๐.ฮผโ * ๐.c.val ^ 2 / 2 * โx - rโโ)) โฏ)) =
(q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข constantTime (distOfFunction (fun x => โx - rโโโปยน โข basis.repr (x - rโ)) โฏ) ๐:FreeSpaceq:โrโ:Space 1h1:โแต (distOfFunction (fun x => โxโ) โฏ) = distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏโข -constantTime (โแต (-((q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข distOfFunction (fun x => โx - rโโ) โฏ))) =
(q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข constantTime (distOfFunction (fun x => โx - rโโโปยน โข basis.repr (x - rโ)) โฏ) distOfFunction_neg, ๐:FreeSpaceq:โrโ:Space 1h1:โแต (distOfFunction (fun x => โxโ) โฏ) = distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏโข -constantTime (โแต (-distOfFunction (fun x => q * ๐.ฮผโ * ๐.c.val ^ 2 / 2 * โx - rโโ) โฏ)) =
(q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข constantTime (distOfFunction (fun x => โx - rโโโปยน โข basis.repr (x - rโ)) โฏ) ๐:FreeSpaceq:โrโ:Space 1h1:โแต (distOfFunction (fun x => โxโ) โฏ) = distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏโข -constantTime (โแต (-((q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข distOfFunction (fun x => โx - rโโ) โฏ))) =
(q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข constantTime (distOfFunction (fun x => โx - rโโโปยน โข basis.repr (x - rโ)) โฏ) distOfFunction_mul_fun _ (by ๐:FreeSpaceq:โrโ:Space 1h1:โแต (distOfFunction (fun x => โxโ) โฏ) = distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏโข IsDistBounded fun x => โx - rโโ ๐:FreeSpaceq:โrโ:Space 1h1:โแต (distOfFunction (fun x => โxโ) โฏ) = distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏโข -constantTime (โแต (-((q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข distOfFunction (fun x => โx - rโโ) โฏ))) =
(q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข constantTime (distOfFunction (fun x => โx - rโโโปยน โข basis.repr (x - rโ)) โฏ) fun_prop All goals completed! ๐ ๐:FreeSpaceq:โrโ:Space 1h1:โแต (distOfFunction (fun x => โxโ) โฏ) = distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏโข -constantTime (โแต (-((q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข distOfFunction (fun x => โx - rโโ) โฏ))) =
(q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข constantTime (distOfFunction (fun x => โx - rโโโปยน โข basis.repr (x - rโ)) โฏ))] ๐:FreeSpaceq:โrโ:Space 1h1:โแต (distOfFunction (fun x => โxโ) โฏ) = distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏโข -constantTime (โแต (-((q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข distOfFunction (fun x => โx - rโโ) โฏ))) =
(q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข constantTime (distOfFunction (fun x => โx - rโโโปยน โข basis.repr (x - rโ)) โฏ)
simp only [map_neg, map_smul, neg_neg] ๐:FreeSpaceq:โrโ:Space 1h1:โแต (distOfFunction (fun x => โxโ) โฏ) = distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏโข (q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข constantTime (โแต (distOfFunction (fun x => โx - rโโ) โฏ)) =
(q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข constantTime (distOfFunction (fun x => โx - rโโโปยน โข basis.repr (x - rโ)) โฏ)
congr e_a.e_6 ๐:FreeSpaceq:โrโ:Space 1h1:โแต (distOfFunction (fun x => โxโ) โฏ) = distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏโข โแต (distOfFunction (fun x => โx - rโโ) โฏ) = distOfFunction (fun x => โx - rโโโปยน โข basis.repr (x - rโ)) โฏ
trans distGrad <| distTranslate (basis.repr rโ) <| (distOfFunction (fun x => โxโ) (by ๐:FreeSpaceq:โrโ:Space 1h1:โแต (distOfFunction (fun x => โxโ) โฏ) = distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏโข IsDistBounded fun x => โxโ fun_prop All goals completed! ๐))
ยท ๐:FreeSpaceq:โrโ:Space 1h1:โแต (distOfFunction (fun x => โxโ) โฏ) = distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏโข โแต (distOfFunction (fun x => โx - rโโ) โฏ) = โแต ((distTranslate (basis.repr rโ)) (distOfFunction (fun x => โxโ) โฏ)) ext1 ฮท ๐:FreeSpaceq:โrโ:Space 1h1:โแต (distOfFunction (fun x => โxโ) โฏ) = distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏฮท:๐ข(Space 1, โ)โข (โแต (distOfFunction (fun x => โx - rโโ) โฏ)) ฮท =
(โแต ((distTranslate (basis.repr rโ)) (distOfFunction (fun x => โxโ) โฏ))) ฮท
simp [distTranslate_ofFunction] All goals completed! ๐
rw [Space.distTranslate_distGrad ๐:FreeSpaceq:โrโ:Space 1h1:โแต (distOfFunction (fun x => โxโ) โฏ) = distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏโข (distTranslate (basis.repr rโ)) (โแต (distOfFunction (fun x => โxโ) โฏ)) =
distOfFunction (fun x => โx - rโโโปยน โข basis.repr (x - rโ)) โฏ ๐:FreeSpaceq:โrโ:Space 1h1:โแต (distOfFunction (fun x => โxโ) โฏ) = distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏโข (distTranslate (basis.repr rโ)) (โแต (distOfFunction (fun x => โxโ) โฏ)) =
distOfFunction (fun x => โx - rโโโปยน โข basis.repr (x - rโ)) โฏ] ๐:FreeSpaceq:โrโ:Space 1h1:โแต (distOfFunction (fun x => โxโ) โฏ) = distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏโข (distTranslate (basis.repr rโ)) (โแต (distOfFunction (fun x => โxโ) โฏ)) =
distOfFunction (fun x => โx - rโโโปยน โข basis.repr (x - rโ)) โฏ
simp [h1, distTranslate_ofFunction] All goals completed! ๐C.1. The time derivative of the electric field
@[simp]
lemma oneDimPointParticle_electricField_timeDeriv (๐ : FreeSpace) (q : โ) (rโ : Space 1) :
Space.distTimeDeriv ((oneDimPointParticle ๐ q rโ).electricField ๐.c) = 0 := by ๐:FreeSpaceq:โrโ:Space 1โข distTimeDeriv ((electricField ๐.c) (oneDimPointParticle ๐ q rโ)) = 0
rw [oneDimPointParticle_electricField, ๐:FreeSpaceq:โrโ:Space 1โข distTimeDeriv
((q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข constantTime (distOfFunction (fun x => โx - rโโ ^ (-1) โข basis.repr (x - rโ)) โฏ)) =
0 ๐:FreeSpaceq:โrโ:Space 1โข (q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข 0 = 0 map_smul, ๐:FreeSpaceq:โrโ:Space 1โข (q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข
distTimeDeriv (constantTime (distOfFunction (fun x => โx - rโโ ^ (-1) โข basis.repr (x - rโ)) โฏ)) =
0 ๐:FreeSpaceq:โrโ:Space 1โข (q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข 0 = 0 constantTime_distTimeDeriv ๐:FreeSpaceq:โrโ:Space 1โข (q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข 0 = 0 ๐:FreeSpaceq:โrโ:Space 1โข (q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข 0 = 0] ๐:FreeSpaceq:โrโ:Space 1โข (q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข 0 = 0
module All goals completed! ๐D. The magnetic field
lemma oneDimPointParticle_magneticFieldMatrix (q : โ) (rโ : Space 1) :
(oneDimPointParticle ๐ q rโ).magneticFieldMatrix ๐.c = 0 := by ๐:FreeSpaceq:โrโ:Space 1โข (magneticFieldMatrix ๐.c) (oneDimPointParticle ๐ q rโ) = 0
simp All goals completed! ๐E. Maxwell's equations
lemma oneDimPointParticle_div_electricField {๐} (q : โ) (rโ : Space 1) :
distSpaceDiv ((oneDimPointParticle ๐ q rโ).electricField ๐.c) =
(๐.ฮผโ * ๐.c ^ 2) โข constantTime (q โข diracDelta โ rโ) := by ๐:FreeSpaceq:โrโ:Space 1โข distSpaceDiv ((electricField ๐.c) (oneDimPointParticle ๐ q rโ)) =
(๐.ฮผโ * ๐.c.val ^ 2) โข constantTime (q โข diracDelta โ rโ)
rw [oneDimPointParticle_electricField ๐:FreeSpaceq:โrโ:Space 1โข distSpaceDiv
((q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข constantTime (distOfFunction (fun x => โx - rโโ ^ (-1) โข basis.repr (x - rโ)) โฏ)) =
(๐.ฮผโ * ๐.c.val ^ 2) โข constantTime (q โข diracDelta โ rโ) ๐:FreeSpaceq:โrโ:Space 1โข distSpaceDiv
((q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข constantTime (distOfFunction (fun x => โx - rโโ ^ (-1) โข basis.repr (x - rโ)) โฏ)) =
(๐.ฮผโ * ๐.c.val ^ 2) โข constantTime (q โข diracDelta โ rโ)] ๐:FreeSpaceq:โrโ:Space 1โข distSpaceDiv
((q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข constantTime (distOfFunction (fun x => โx - rโโ ^ (-1) โข basis.repr (x - rโ)) โฏ)) =
(๐.ฮผโ * ๐.c.val ^ 2) โข constantTime (q โข diracDelta โ rโ)
simp only [Int.reduceNeg, zpow_neg, zpow_one, map_smul, smul_smul] ๐:FreeSpaceq:โrโ:Space 1โข (q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข
distSpaceDiv (constantTime (distOfFunction (fun x => โx - rโโโปยน โข basis.repr (x - rโ)) โฏ)) =
(๐.ฮผโ * ๐.c.val ^ 2 * q) โข constantTime (diracDelta โ rโ)
have h1 := Space.distDiv_inv_pow_eq_dim (d := 1) ๐:FreeSpaceq:โrโ:Space 1h1:distDiv (distOfFunction (fun x => โxโ ^ (-โ1) โข basis.repr x) โฏ) = (โ1 * volume.real (Metric.ball 0 1)) โข diracDelta โ 0โข (q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข
distSpaceDiv (constantTime (distOfFunction (fun x => โx - rโโโปยน โข basis.repr (x - rโ)) โฏ)) =
(๐.ฮผโ * ๐.c.val ^ 2 * q) โข constantTime (diracDelta โ rโ)
simp at h1 ๐:FreeSpaceq:โrโ:Space 1h1:distDiv (distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏ) = volume.real (Metric.ball 0 1) โข diracDelta โ 0โข (q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข
distSpaceDiv (constantTime (distOfFunction (fun x => โx - rโโโปยน โข basis.repr (x - rโ)) โฏ)) =
(๐.ฮผโ * ๐.c.val ^ 2 * q) โข constantTime (diracDelta โ rโ)
trans (q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข
distSpaceDiv (constantTime <|
distTranslate (basis.repr rโ) <|
(distOfFunction (fun x => โxโ ^ (-1 : โค) โข basis.repr x)
(IsDistBounded.zpow_smul_repr_self (- 1 : โค) (by ๐:FreeSpaceq:โrโ:Space 1h1:distDiv (distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏ) = volume.real (Metric.ball 0 1) โข diracDelta โ 0โข -โ(1 - 1) - 1 โค -1 omega All goals completed! ๐))))
ยท ๐:FreeSpaceq:โrโ:Space 1h1:distDiv (distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏ) = volume.real (Metric.ball 0 1) โข diracDelta โ 0โข (q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข
distSpaceDiv (constantTime (distOfFunction (fun x => โx - rโโโปยน โข basis.repr (x - rโ)) โฏ)) =
(q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข
distSpaceDiv
(constantTime ((distTranslate (basis.repr rโ)) (distOfFunction (fun x => โxโ ^ (-1) โข basis.repr x) โฏ))) ext ฮท ๐:FreeSpaceq:โrโ:Space 1h1:distDiv (distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏ) = volume.real (Metric.ball 0 1) โข diracDelta โ 0ฮท:๐ข(Time ร Space 1, โ)โข ((q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข
distSpaceDiv (constantTime (distOfFunction (fun x => โx - rโโโปยน โข basis.repr (x - rโ)) โฏ)))
ฮท =
((q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข
distSpaceDiv
(constantTime ((distTranslate (basis.repr rโ)) (distOfFunction (fun x => โxโ ^ (-1) โข basis.repr x) โฏ))))
ฮท
simp [distTranslate_ofFunction] All goals completed! ๐
simp only [Int.reduceNeg, zpow_neg, zpow_one] ๐:FreeSpaceq:โrโ:Space 1h1:distDiv (distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏ) = volume.real (Metric.ball 0 1) โข diracDelta โ 0โข (q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข
distSpaceDiv (constantTime ((distTranslate (basis.repr rโ)) (distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏ))) =
(๐.ฮผโ * ๐.c.val ^ 2 * q) โข constantTime (diracDelta โ rโ)
rw [constantTime_distSpaceDiv, ๐:FreeSpaceq:โrโ:Space 1h1:distDiv (distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏ) = volume.real (Metric.ball 0 1) โข diracDelta โ 0โข (q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข
constantTime (distDiv ((distTranslate (basis.repr rโ)) (distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏ))) =
(๐.ฮผโ * ๐.c.val ^ 2 * q) โข constantTime (diracDelta โ rโ) ๐:FreeSpaceq:โrโ:Space 1h1:distDiv (distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏ) = volume.real (Metric.ball 0 1) โข diracDelta โ 0โข (q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข
constantTime ((distTranslate (basis.repr rโ)) (volume.real (Metric.ball 0 1) โข diracDelta โ 0)) =
(๐.ฮผโ * ๐.c.val ^ 2 * q) โข constantTime (diracDelta โ rโ) distDiv_distTranslate, ๐:FreeSpaceq:โrโ:Space 1h1:distDiv (distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏ) = volume.real (Metric.ball 0 1) โข diracDelta โ 0โข (q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข
constantTime ((distTranslate (basis.repr rโ)) (distDiv (distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏ))) =
(๐.ฮผโ * ๐.c.val ^ 2 * q) โข constantTime (diracDelta โ rโ) ๐:FreeSpaceq:โrโ:Space 1h1:distDiv (distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏ) = volume.real (Metric.ball 0 1) โข diracDelta โ 0โข (q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข
constantTime ((distTranslate (basis.repr rโ)) (volume.real (Metric.ball 0 1) โข diracDelta โ 0)) =
(๐.ฮผโ * ๐.c.val ^ 2 * q) โข constantTime (diracDelta โ rโ) h1 ๐:FreeSpaceq:โrโ:Space 1h1:distDiv (distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏ) = volume.real (Metric.ball 0 1) โข diracDelta โ 0โข (q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข
constantTime ((distTranslate (basis.repr rโ)) (volume.real (Metric.ball 0 1) โข diracDelta โ 0)) =
(๐.ฮผโ * ๐.c.val ^ 2 * q) โข constantTime (diracDelta โ rโ) ๐:FreeSpaceq:โrโ:Space 1h1:distDiv (distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏ) = volume.real (Metric.ball 0 1) โข diracDelta โ 0โข (q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข
constantTime ((distTranslate (basis.repr rโ)) (volume.real (Metric.ball 0 1) โข diracDelta โ 0)) =
(๐.ฮผโ * ๐.c.val ^ 2 * q) โข constantTime (diracDelta โ rโ)] ๐:FreeSpaceq:โrโ:Space 1h1:distDiv (distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏ) = volume.real (Metric.ball 0 1) โข diracDelta โ 0โข (q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข
constantTime ((distTranslate (basis.repr rโ)) (volume.real (Metric.ball 0 1) โข diracDelta โ 0)) =
(๐.ฮผโ * ๐.c.val ^ 2 * q) โข constantTime (diracDelta โ rโ)
simp only [map_smul] ๐:FreeSpaceq:โrโ:Space 1h1:distDiv (distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏ) = volume.real (Metric.ball 0 1) โข diracDelta โ 0โข (q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข
volume.real (Metric.ball 0 1) โข constantTime ((distTranslate (basis.repr rโ)) (diracDelta โ 0)) =
(๐.ฮผโ * ๐.c.val ^ 2 * q) โข constantTime (diracDelta โ rโ)
suffices h : volume.real (Metric.ball (0 : Space 1) 1) = 2 by ๐:FreeSpaceq:โrโ:Space 1h1:distDiv (distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏ) = volume.real (Metric.ball 0 1) โข diracDelta โ 0h:volume.real (Metric.ball 0 1) = 2โข (q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข
volume.real (Metric.ball 0 1) โข constantTime ((distTranslate (basis.repr rโ)) (diracDelta โ 0)) =
(๐.ฮผโ * ๐.c.val ^ 2 * q) โข constantTime (diracDelta โ rโ) ๐:FreeSpaceq:โrโ:Space 1h1:distDiv (distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏ) = volume.real (Metric.ball 0 1) โข diracDelta โ 0โข volume.real (Metric.ball 0 1) = 2
rw [h ๐:FreeSpaceq:โrโ:Space 1h1:distDiv (distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏ) = volume.real (Metric.ball 0 1) โข diracDelta โ 0h:volume.real (Metric.ball 0 1) = 2โข (q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข 2 โข constantTime ((distTranslate (basis.repr rโ)) (diracDelta โ 0)) =
(๐.ฮผโ * ๐.c.val ^ 2 * q) โข constantTime (diracDelta โ rโ) ๐:FreeSpaceq:โrโ:Space 1h1:distDiv (distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏ) = volume.real (Metric.ball 0 1) โข diracDelta โ 0h:volume.real (Metric.ball 0 1) = 2โข (q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข 2 โข constantTime ((distTranslate (basis.repr rโ)) (diracDelta โ 0)) =
(๐.ฮผโ * ๐.c.val ^ 2 * q) โข constantTime (diracDelta โ rโ) ๐:FreeSpaceq:โrโ:Space 1h1:distDiv (distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏ) = volume.real (Metric.ball 0 1) โข diracDelta โ 0โข volume.real (Metric.ball 0 1) = 2] ๐:FreeSpaceq:โrโ:Space 1h1:distDiv (distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏ) = volume.real (Metric.ball 0 1) โข diracDelta โ 0h:volume.real (Metric.ball 0 1) = 2โข (q * ๐.ฮผโ * ๐.c.val ^ 2 / 2) โข 2 โข constantTime ((distTranslate (basis.repr rโ)) (diracDelta โ 0)) =
(๐.ฮผโ * ๐.c.val ^ 2 * q) โข constantTime (diracDelta โ rโ) ๐:FreeSpaceq:โrโ:Space 1h1:distDiv (distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏ) = volume.real (Metric.ball 0 1) โข diracDelta โ 0โข volume.real (Metric.ball 0 1) = 2
simp [smul_smul] ๐:FreeSpaceq:โrโ:Space 1h1:distDiv (distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏ) = volume.real (Metric.ball 0 1) โข diracDelta โ 0h:volume.real (Metric.ball 0 1) = 2โข (q * ๐.ฮผโ * ๐.c.val ^ 2) โข constantTime ((distTranslate (basis.repr rโ)) (diracDelta โ 0)) =
(๐.ฮผโ * ๐.c.val ^ 2 * q) โข constantTime (diracDelta โ rโ) ๐:FreeSpaceq:โrโ:Space 1h1:distDiv (distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏ) = volume.real (Metric.ball 0 1) โข diracDelta โ 0โข volume.real (Metric.ball 0 1) = 2
ext ฮท ๐:FreeSpaceq:โrโ:Space 1h1:distDiv (distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏ) = volume.real (Metric.ball 0 1) โข diracDelta โ 0h:volume.real (Metric.ball 0 1) = 2ฮท:๐ข(Time ร Space 1, โ)โข ((q * ๐.ฮผโ * ๐.c.val ^ 2) โข constantTime ((distTranslate (basis.repr rโ)) (diracDelta โ 0))) ฮท =
((๐.ฮผโ * ๐.c.val ^ 2 * q) โข constantTime (diracDelta โ rโ)) ฮท ๐:FreeSpaceq:โrโ:Space 1h1:distDiv (distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏ) = volume.real (Metric.ball 0 1) โข diracDelta โ 0โข volume.real (Metric.ball 0 1) = 2
simp [constantTime_apply, diracDelta_apply, distTranslate_apply] ๐:FreeSpaceq:โrโ:Space 1h1:distDiv (distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏ) = volume.real (Metric.ball 0 1) โข diracDelta โ 0h:volume.real (Metric.ball 0 1) = 2ฮท:๐ข(Time ร Space 1, โ)โข q * ๐.ฮผโ * ๐.c.val ^ 2 = ๐.ฮผโ * ๐.c.val ^ 2 * q โจ (timeIntegralSchwartz ฮท) rโ = 0 ๐:FreeSpaceq:โrโ:Space 1h1:distDiv (distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏ) = volume.real (Metric.ball 0 1) โข diracDelta โ 0โข volume.real (Metric.ball 0 1) = 2
left ๐:FreeSpaceq:โrโ:Space 1h1:distDiv (distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏ) = volume.real (Metric.ball 0 1) โข diracDelta โ 0h:volume.real (Metric.ball 0 1) = 2ฮท:๐ข(Time ร Space 1, โ)โข q * ๐.ฮผโ * ๐.c.val ^ 2 = ๐.ฮผโ * ๐.c.val ^ 2 * q ๐:FreeSpaceq:โrโ:Space 1h1:distDiv (distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏ) = volume.real (Metric.ball 0 1) โข diracDelta โ 0โข volume.real (Metric.ball 0 1) = 2
ring_nf ๐:FreeSpaceq:โrโ:Space 1h1:distDiv (distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏ) = volume.real (Metric.ball 0 1) โข diracDelta โ 0โข volume.real (Metric.ball 0 1) = 2 ๐:FreeSpaceq:โrโ:Space 1h1:distDiv (distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏ) = volume.real (Metric.ball 0 1) โข diracDelta โ 0โข volume.real (Metric.ball 0 1) = 2
simp [MeasureTheory.Measure.real] ๐:FreeSpaceq:โrโ:Space 1h1:distDiv (distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏ) = volume.real (Metric.ball 0 1) โข diracDelta โ 0โข (volume (Metric.ball 0 1)).toReal = 2
rw [InnerProductSpace.volume_ball_of_dim_odd (k := 0) ๐:FreeSpaceq:โrโ:Space 1h1:distDiv (distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏ) = volume.real (Metric.ball 0 1) โข diracDelta โ 0โข (ENNReal.ofReal 1 ^ Module.finrank โ (Space 1) *
ENNReal.ofReal (Real.pi ^ 0 * 2 ^ (0 + 1) / โ(Module.finrank โ (Space 1)).doubleFactorial)).toReal =
2hk ๐:FreeSpaceq:โrโ:Space 1h1:distDiv (distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏ) = volume.real (Metric.ball 0 1) โข diracDelta โ 0โข Module.finrank โ (Space 1) = 2 * 0 + 1 ๐:FreeSpaceq:โrโ:Space 1h1:distDiv (distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏ) = volume.real (Metric.ball 0 1) โข diracDelta โ 0โข (ENNReal.ofReal 1 ^ Module.finrank โ (Space 1) *
ENNReal.ofReal (Real.pi ^ 0 * 2 ^ (0 + 1) / โ(Module.finrank โ (Space 1)).doubleFactorial)).toReal =
2hk ๐:FreeSpaceq:โrโ:Space 1h1:distDiv (distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏ) = volume.real (Metric.ball 0 1) โข diracDelta โ 0โข Module.finrank โ (Space 1) = 2 * 0 + 1] ๐:FreeSpaceq:โrโ:Space 1h1:distDiv (distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏ) = volume.real (Metric.ball 0 1) โข diracDelta โ 0โข (ENNReal.ofReal 1 ^ Module.finrank โ (Space 1) *
ENNReal.ofReal (Real.pi ^ 0 * 2 ^ (0 + 1) / โ(Module.finrank โ (Space 1)).doubleFactorial)).toReal =
2hk ๐:FreeSpaceq:โrโ:Space 1h1:distDiv (distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏ) = volume.real (Metric.ball 0 1) โข diracDelta โ 0โข Module.finrank โ (Space 1) = 2 * 0 + 1
ยท ๐:FreeSpaceq:โrโ:Space 1h1:distDiv (distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏ) = volume.real (Metric.ball 0 1) โข diracDelta โ 0โข (ENNReal.ofReal 1 ^ Module.finrank โ (Space 1) *
ENNReal.ofReal (Real.pi ^ 0 * 2 ^ (0 + 1) / โ(Module.finrank โ (Space 1)).doubleFactorial)).toReal =
2 simp All goals completed! ๐
ยท hk ๐:FreeSpaceq:โrโ:Space 1h1:distDiv (distOfFunction (fun x => โxโโปยน โข basis.repr x) โฏ) = volume.real (Metric.ball 0 1) โข diracDelta โ 0โข Module.finrank โ (Space 1) = 2 * 0 + 1 simp All goals completed! ๐
lemma oneDimPointParticle_isExterma (๐ : FreeSpace) (q : โ) (rโ : Space 1) :
(oneDimPointParticle ๐ q rโ).IsExtrema ๐ (oneDimPointParticleCurrentDensity ๐.c q rโ) := by ๐:FreeSpaceq:โrโ:Space 1โข IsExtrema ๐ (oneDimPointParticle ๐ q rโ) (oneDimPointParticleCurrentDensity ๐.c q rโ)
rw [isExtrema_iff_components ๐:FreeSpaceq:โrโ:Space 1โข (โ (ฮต : ๐ข(SpaceTime 1, โ)),
(gradLagrangian ๐ (oneDimPointParticle ๐ q rโ) (oneDimPointParticleCurrentDensity ๐.c q rโ)) ฮต (Sum.inl 0) = 0) โง
โ (ฮต : ๐ข(SpaceTime 1, โ)) (i : Fin 1),
(gradLagrangian ๐ (oneDimPointParticle ๐ q rโ) (oneDimPointParticleCurrentDensity ๐.c q rโ)) ฮต (Sum.inr i) = 0 ๐:FreeSpaceq:โrโ:Space 1โข (โ (ฮต : ๐ข(SpaceTime 1, โ)),
(gradLagrangian ๐ (oneDimPointParticle ๐ q rโ) (oneDimPointParticleCurrentDensity ๐.c q rโ)) ฮต (Sum.inl 0) = 0) โง
โ (ฮต : ๐ข(SpaceTime 1, โ)) (i : Fin 1),
(gradLagrangian ๐ (oneDimPointParticle ๐ q rโ) (oneDimPointParticleCurrentDensity ๐.c q rโ)) ฮต (Sum.inr i) = 0] ๐:FreeSpaceq:โrโ:Space 1โข (โ (ฮต : ๐ข(SpaceTime 1, โ)),
(gradLagrangian ๐ (oneDimPointParticle ๐ q rโ) (oneDimPointParticleCurrentDensity ๐.c q rโ)) ฮต (Sum.inl 0) = 0) โง
โ (ฮต : ๐ข(SpaceTime 1, โ)) (i : Fin 1),
(gradLagrangian ๐ (oneDimPointParticle ๐ q rโ) (oneDimPointParticleCurrentDensity ๐.c q rโ)) ฮต (Sum.inr i) = 0
apply And.intro left ๐:FreeSpaceq:โrโ:Space 1โข โ (ฮต : ๐ข(SpaceTime 1, โ)),
(gradLagrangian ๐ (oneDimPointParticle ๐ q rโ) (oneDimPointParticleCurrentDensity ๐.c q rโ)) ฮต (Sum.inl 0) = 0right ๐:FreeSpaceq:โrโ:Space 1โข โ (ฮต : ๐ข(SpaceTime 1, โ)) (i : Fin 1),
(gradLagrangian ๐ (oneDimPointParticle ๐ q rโ) (oneDimPointParticleCurrentDensity ๐.c q rโ)) ฮต (Sum.inr i) = 0
ยท left ๐:FreeSpaceq:โrโ:Space 1โข โ (ฮต : ๐ข(SpaceTime 1, โ)),
(gradLagrangian ๐ (oneDimPointParticle ๐ q rโ) (oneDimPointParticleCurrentDensity ๐.c q rโ)) ฮต (Sum.inl 0) = 0 intro ฮต left ๐:FreeSpaceq:โrโ:Space 1ฮต:๐ข(SpaceTime 1, โ)โข (gradLagrangian ๐ (oneDimPointParticle ๐ q rโ) (oneDimPointParticleCurrentDensity ๐.c q rโ)) ฮต (Sum.inl 0) = 0
rw [gradLagrangian_sum_inl_0 left ๐:FreeSpaceq:โrโ:Space 1ฮต:๐ข(SpaceTime 1, โ)โข 1 / (๐.ฮผโ * ๐.c.val) *
((SpaceTime.distTimeSlice ๐.c).symm (distSpaceDiv ((electricField ๐.c) (oneDimPointParticle ๐ q rโ)))) ฮต -
๐.c.val *
((SpaceTime.distTimeSlice ๐.c).symm
((DistLorentzCurrentDensity.chargeDensity ๐.c) (oneDimPointParticleCurrentDensity ๐.c q rโ)))
ฮต =
0 left ๐:FreeSpaceq:โrโ:Space 1ฮต:๐ข(SpaceTime 1, โ)โข 1 / (๐.ฮผโ * ๐.c.val) *
((SpaceTime.distTimeSlice ๐.c).symm (distSpaceDiv ((electricField ๐.c) (oneDimPointParticle ๐ q rโ)))) ฮต -
๐.c.val *
((SpaceTime.distTimeSlice ๐.c).symm
((DistLorentzCurrentDensity.chargeDensity ๐.c) (oneDimPointParticleCurrentDensity ๐.c q rโ)))
ฮต =
0]left ๐:FreeSpaceq:โrโ:Space 1ฮต:๐ข(SpaceTime 1, โ)โข 1 / (๐.ฮผโ * ๐.c.val) *
((SpaceTime.distTimeSlice ๐.c).symm (distSpaceDiv ((electricField ๐.c) (oneDimPointParticle ๐ q rโ)))) ฮต -
๐.c.val *
((SpaceTime.distTimeSlice ๐.c).symm
((DistLorentzCurrentDensity.chargeDensity ๐.c) (oneDimPointParticleCurrentDensity ๐.c q rโ)))
ฮต =
0
simp only [one_div, mul_inv_rev, oneDimPointParticleCurrentDensity_chargeDensity, map_smul,
FunLike.coe_smul, Pi.smul_apply, smul_eq_mul] left ๐:FreeSpaceq:โrโ:Space 1ฮต:๐ข(SpaceTime 1, โ)โข ๐.c.valโปยน * ๐.ฮผโโปยน *
((SpaceTime.distTimeSlice ๐.c).symm (distSpaceDiv ((electricField ๐.c) (oneDimPointParticle ๐ q rโ)))) ฮต -
๐.c.val * (q * ((SpaceTime.distTimeSlice ๐.c).symm (constantTime (diracDelta โ rโ))) ฮต) =
0
rw [oneDimPointParticle_div_electricField left ๐:FreeSpaceq:โrโ:Space 1ฮต:๐ข(SpaceTime 1, โ)โข ๐.c.valโปยน * ๐.ฮผโโปยน *
((SpaceTime.distTimeSlice ๐.c).symm ((๐.ฮผโ * ๐.c.val ^ 2) โข constantTime (q โข diracDelta โ rโ))) ฮต -
๐.c.val * (q * ((SpaceTime.distTimeSlice ๐.c).symm (constantTime (diracDelta โ rโ))) ฮต) =
0 left ๐:FreeSpaceq:โrโ:Space 1ฮต:๐ข(SpaceTime 1, โ)โข ๐.c.valโปยน * ๐.ฮผโโปยน *
((SpaceTime.distTimeSlice ๐.c).symm ((๐.ฮผโ * ๐.c.val ^ 2) โข constantTime (q โข diracDelta โ rโ))) ฮต -
๐.c.val * (q * ((SpaceTime.distTimeSlice ๐.c).symm (constantTime (diracDelta โ rโ))) ฮต) =
0]left ๐:FreeSpaceq:โrโ:Space 1ฮต:๐ข(SpaceTime 1, โ)โข ๐.c.valโปยน * ๐.ฮผโโปยน *
((SpaceTime.distTimeSlice ๐.c).symm ((๐.ฮผโ * ๐.c.val ^ 2) โข constantTime (q โข diracDelta โ rโ))) ฮต -
๐.c.val * (q * ((SpaceTime.distTimeSlice ๐.c).symm (constantTime (diracDelta โ rโ))) ฮต) =
0
simp only [map_smul, FunLike.coe_smul, Pi.smul_apply, smul_eq_mul] left ๐:FreeSpaceq:โrโ:Space 1ฮต:๐ข(SpaceTime 1, โ)โข ๐.c.valโปยน * ๐.ฮผโโปยน *
(๐.ฮผโ * ๐.c.val ^ 2 * (q * ((SpaceTime.distTimeSlice ๐.c).symm (constantTime (diracDelta โ rโ))) ฮต)) -
๐.c.val * (q * ((SpaceTime.distTimeSlice ๐.c).symm (constantTime (diracDelta โ rโ))) ฮต) =
0
field_simp left ๐:FreeSpaceq:โrโ:Space 1ฮต:๐ข(SpaceTime 1, โ)โข ๐.c.val * q * ((SpaceTime.distTimeSlice ๐.c).symm (constantTime (diracDelta โ rโ))) ฮต * (1 - 1) = 0
ring All goals completed! ๐
ยท right ๐:FreeSpaceq:โrโ:Space 1โข โ (ฮต : ๐ข(SpaceTime 1, โ)) (i : Fin 1),
(gradLagrangian ๐ (oneDimPointParticle ๐ q rโ) (oneDimPointParticleCurrentDensity ๐.c q rโ)) ฮต (Sum.inr i) = 0 intro ฮต i right ๐:FreeSpaceq:โrโ:Space 1ฮต:๐ข(SpaceTime 1, โ)i:Fin 1โข (gradLagrangian ๐ (oneDimPointParticle ๐ q rโ) (oneDimPointParticleCurrentDensity ๐.c q rโ)) ฮต (Sum.inr i) = 0
rw [gradLagrangian_sum_inr_i right ๐:FreeSpaceq:โrโ:Space 1ฮต:๐ข(SpaceTime 1, โ)i:Fin 1โข ๐.ฮผโโปยน *
(1 / ๐.c.val ^ 2 *
(((SpaceTime.distTimeSlice ๐.c).symm (distTimeDeriv ((electricField ๐.c) (oneDimPointParticle ๐ q rโ))))
ฮต).ofLp
i -
โ j,
(((PiLp.basisFun 2 โ (Fin 1)).tensorProduct (PiLp.basisFun 2 โ (Fin 1))).repr
(((SpaceTime.distTimeSlice ๐.c).symm
((distSpaceDeriv j) ((magneticFieldMatrix ๐.c) (oneDimPointParticle ๐ q rโ))))
ฮต))
(j, i)) +
(((SpaceTime.distTimeSlice ๐.c).symm
((DistLorentzCurrentDensity.currentDensity ๐.c) (oneDimPointParticleCurrentDensity ๐.c q rโ)))
ฮต).ofLp
i =
0 right ๐:FreeSpaceq:โrโ:Space 1ฮต:๐ข(SpaceTime 1, โ)i:Fin 1โข ๐.ฮผโโปยน *
(1 / ๐.c.val ^ 2 *
(((SpaceTime.distTimeSlice ๐.c).symm (distTimeDeriv ((electricField ๐.c) (oneDimPointParticle ๐ q rโ))))
ฮต).ofLp
i -
โ j,
(((PiLp.basisFun 2 โ (Fin 1)).tensorProduct (PiLp.basisFun 2 โ (Fin 1))).repr
(((SpaceTime.distTimeSlice ๐.c).symm
((distSpaceDeriv j) ((magneticFieldMatrix ๐.c) (oneDimPointParticle ๐ q rโ))))
ฮต))
(j, i)) +
(((SpaceTime.distTimeSlice ๐.c).symm
((DistLorentzCurrentDensity.currentDensity ๐.c) (oneDimPointParticleCurrentDensity ๐.c q rโ)))
ฮต).ofLp
i =
0]right ๐:FreeSpaceq:โrโ:Space 1ฮต:๐ข(SpaceTime 1, โ)i:Fin 1โข ๐.ฮผโโปยน *
(1 / ๐.c.val ^ 2 *
(((SpaceTime.distTimeSlice ๐.c).symm (distTimeDeriv ((electricField ๐.c) (oneDimPointParticle ๐ q rโ))))
ฮต).ofLp
i -
โ j,
(((PiLp.basisFun 2 โ (Fin 1)).tensorProduct (PiLp.basisFun 2 โ (Fin 1))).repr
(((SpaceTime.distTimeSlice ๐.c).symm
((distSpaceDeriv j) ((magneticFieldMatrix ๐.c) (oneDimPointParticle ๐ q rโ))))
ฮต))
(j, i)) +
(((SpaceTime.distTimeSlice ๐.c).symm
((DistLorentzCurrentDensity.currentDensity ๐.c) (oneDimPointParticleCurrentDensity ๐.c q rโ)))
ฮต).ofLp
i =
0
simp All goals completed! ๐