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.Kinematics.ScalarPotential
public import Physlib.Electromagnetism.Kinematics.FieldStrength
public import Physlib.Electromagnetism.BasicThe Electric Field
i. Overview
The electric field is defined in terms of the electromagnetic potential A as
E = - ∇ φ - ∂ₜ \vec A.
In this module we define the electric field, and prove lemmas about it.
ii. Key results
electricField : The electric field from the electromagnetic potential.
electricField_eq_fieldStrengthMatrix : The electric field expressed in terms of the
field strength tensor.
iii. Table of contents
A. Definition of the Electric Field
B. Relation to the field strength tensor
C. Smoothness of the electric field
D. Differentiability of the electric field
E. Time derivative of the vector potential in terms of the electric field
F. Derivatives of the electric field in terms of field strength tensor
iv. References
@[expose] public sectionattribute [-simp] Fintype.sum_sum_typeattribute [-simp] Nat.succ_eq_add_oneA. Definition of the Electric Field
lemma electricField_eq {c : SpeedOfLight} (A : ElectromagneticPotential d) :
A.electricField c = fun t x =>
- ∇ (A.scalarPotential c t) x - ∂ₜ (fun t => A.vectorPotential c t x) t := rflB. Relation to constructors
B. Relation to the field strength tensor
The electric field can be expressed in terms of the field strength tensor as
E_i = - c * F_0^i.
e_a.e_self.hf d:ℕc:SpeedOfLightA:ElectromagneticPotential dt:Timex:Space di:Fin dhA:Differentiable ℝ A.valh_congr_thm✝:∀ {p : ENNReal} {V : Type} (self self_1 : WithLp p V), self = self_1 → self.ofLp = self_1.ofLp⊢ Differentiable ℝ fun t => WithLp.toLp 2 fun i => A.val ((toTimeAndSpace c).symm (t, x)) (Sum.inr i)e_a.e_self.h d:ℕc:SpeedOfLightA:ElectromagneticPotential dt:Timex:Space di:Fin dhA:Differentiable ℝ A.valh_congr_thm✝:∀ {p : ENNReal} {V : Type} (self self_1 : WithLp p V), self = self_1 → self.ofLp = self_1.ofLp⊢ Differentiable ℝ fun t => A.val ((toTimeAndSpace c).symm (t, x))e_a.e_self.hf d:ℕc:SpeedOfLightA:ElectromagneticPotential dt:Timex:Space di:Fin dhA:Differentiable ℝ A.valh_congr_thm✝:∀ {p : ENNReal} {V : Type} (self self_1 : WithLp p V), self = self_1 → self.ofLp = self_1.ofLp⊢ Differentiable ℝ A.val
· e_a.e_self.hf d:ℕc:SpeedOfLightA:ElectromagneticPotential dt:Timex:Space di:Fin dhA:Differentiable ℝ A.valh_congr_thm✝:∀ {p : ENNReal} {V : Type} (self self_1 : WithLp p V), self = self_1 → self.ofLp = self_1.ofLp⊢ Differentiable ℝ fun t => WithLp.toLp 2 fun i => A.val ((toTimeAndSpace c).symm (t, x)) (Sum.inr i) apply Time.differentiable_euclid e_a.e_self.hf d:ℕc:SpeedOfLightA:ElectromagneticPotential dt:Timex:Space di:Fin dhA:Differentiable ℝ A.valh_congr_thm✝:∀ {p : ENNReal} {V : Type} (self self_1 : WithLp p V), self = self_1 → self.ofLp = self_1.ofLp⊢ ∀ (i : Fin d),
Differentiable ℝ fun t => (WithLp.toLp 2 fun i => A.val ((toTimeAndSpace c).symm (t, x)) (Sum.inr i)).ofLp i
intro i e_a.e_self.hf d:ℕc:SpeedOfLightA:ElectromagneticPotential dt:Timex:Space di✝:Fin dhA:Differentiable ℝ A.valh_congr_thm✝:∀ {p : ENNReal} {V : Type} (self self_1 : WithLp p V), self = self_1 → self.ofLp = self_1.ofLpi:Fin d⊢ Differentiable ℝ fun t => (WithLp.toLp 2 fun i => A.val ((toTimeAndSpace c).symm (t, x)) (Sum.inr i)).ofLp i
simp only e_a.e_self.hf d:ℕc:SpeedOfLightA:ElectromagneticPotential dt:Timex:Space di✝:Fin dhA:Differentiable ℝ A.valh_congr_thm✝:∀ {p : ENNReal} {V : Type} (self self_1 : WithLp p V), self = self_1 → self.ofLp = self_1.ofLpi:Fin d⊢ Differentiable ℝ fun t => A.val ((toTimeAndSpace c).symm (t, x)) (Sum.inr i)
fun_prop All goals completed! 🐙
· e_a.e_self.h d:ℕc:SpeedOfLightA:ElectromagneticPotential dt:Timex:Space di:Fin dhA:Differentiable ℝ A.valh_congr_thm✝:∀ {p : ENNReal} {V : Type} (self self_1 : WithLp p V), self = self_1 → self.ofLp = self_1.ofLp⊢ Differentiable ℝ fun t => A.val ((toTimeAndSpace c).symm (t, x)) fun_prop All goals completed! 🐙
· e_a.e_self.hf d:ℕc:SpeedOfLightA:ElectromagneticPotential dt:Timex:Space di:Fin dhA:Differentiable ℝ A.valh_congr_thm✝:∀ {p : ENNReal} {V : Type} (self self_1 : WithLp p V), self = self_1 → self.ofLp = self_1.ofLp⊢ Differentiable ℝ A.val exact hA All goals completed! 🐙
· e_a.p d:ℕc:SpeedOfLightA:ElectromagneticPotential dt:Timex:Space di:Fin dhA:Differentiable ℝ A.val⊢ ENNReal exact 1 All goals completed! 🐙
lemma fieldStrengthMatrix_inl_inr_eq_electricField {c : SpeedOfLight}
(A : ElectromagneticPotential d)
(x : SpaceTime d) (i : Fin d) (hA : Differentiable ℝ A) :
A.fieldStrengthMatrix x (Sum.inl 0, Sum.inr i) =
- (1 /c) * A.electricField c (x.time c) x.space i := by d:ℕc:SpeedOfLightA:ElectromagneticPotential dx:SpaceTime di:Fin dhA:Differentiable ℝ A.val⊢ (A.fieldStrengthMatrix x) (Sum.inl 0, Sum.inr i) = -(1 / c.val) * (electricField c A ((time c) x) (space x)).ofLp i
rw [electricField_eq_fieldStrengthMatrix A (x.time c) x.space i hA d:ℕc:SpeedOfLightA:ElectromagneticPotential dx:SpaceTime di:Fin dhA:Differentiable ℝ A.val⊢ (A.fieldStrengthMatrix x) (Sum.inl 0, Sum.inr i) =
-(1 / c.val) *
(-c.val * (A.fieldStrengthMatrix ((toTimeAndSpace c).symm ((time c) x, space x))) (Sum.inl 0, Sum.inr i)) d:ℕc:SpeedOfLightA:ElectromagneticPotential dx:SpaceTime di:Fin dhA:Differentiable ℝ A.val⊢ (A.fieldStrengthMatrix x) (Sum.inl 0, Sum.inr i) =
-(1 / c.val) *
(-c.val * (A.fieldStrengthMatrix ((toTimeAndSpace c).symm ((time c) x, space x))) (Sum.inl 0, Sum.inr i))] d:ℕc:SpeedOfLightA:ElectromagneticPotential dx:SpaceTime di:Fin dhA:Differentiable ℝ A.val⊢ (A.fieldStrengthMatrix x) (Sum.inl 0, Sum.inr i) =
-(1 / c.val) *
(-c.val * (A.fieldStrengthMatrix ((toTimeAndSpace c).symm ((time c) x, space x))) (Sum.inl 0, Sum.inr i))
simp All goals completed! 🐙
lemma fieldStrengthMatrix_inr_inl_eq_electricField {c : SpeedOfLight}
(A : ElectromagneticPotential d)
(x : SpaceTime d) (i : Fin d) (hA : Differentiable ℝ A) :
A.fieldStrengthMatrix x (Sum.inr i, Sum.inl 0) =
(1 /c) * A.electricField c (x.time c) x.space i := by d:ℕc:SpeedOfLightA:ElectromagneticPotential dx:SpaceTime di:Fin dhA:Differentiable ℝ A.val⊢ (A.fieldStrengthMatrix x) (Sum.inr i, Sum.inl 0) = 1 / c.val * (electricField c A ((time c) x) (space x)).ofLp i
rw [fieldStrengthMatrix_antisymm A x (Sum.inr i) (Sum.inl 0), d:ℕc:SpeedOfLightA:ElectromagneticPotential dx:SpaceTime di:Fin dhA:Differentiable ℝ A.val⊢ -(A.fieldStrengthMatrix x) (Sum.inl 0, Sum.inr i) = 1 / c.val * (electricField c A ((time c) x) (space x)).ofLp i d:ℕc:SpeedOfLightA:ElectromagneticPotential dx:SpaceTime di:Fin dhA:Differentiable ℝ A.val⊢ -(-(1 / SpeedOfLight.val ?m.49) * (electricField ?m.49 A ((time ?m.49) x) (space x)).ofLp i) =
1 / c.val * (electricField c A ((time c) x) (space x)).ofLp id:ℕc:SpeedOfLightA:ElectromagneticPotential dx:SpaceTime di:Fin dhA:Differentiable ℝ A.val⊢ SpeedOfLight
fieldStrengthMatrix_inl_inr_eq_electricField A x i hA d:ℕc:SpeedOfLightA:ElectromagneticPotential dx:SpaceTime di:Fin dhA:Differentiable ℝ A.val⊢ -(-(1 / SpeedOfLight.val ?m.49) * (electricField ?m.49 A ((time ?m.49) x) (space x)).ofLp i) =
1 / c.val * (electricField c A ((time c) x) (space x)).ofLp id:ℕc:SpeedOfLightA:ElectromagneticPotential dx:SpaceTime di:Fin dhA:Differentiable ℝ A.val⊢ SpeedOfLight d:ℕc:SpeedOfLightA:ElectromagneticPotential dx:SpaceTime di:Fin dhA:Differentiable ℝ A.val⊢ -(-(1 / SpeedOfLight.val ?m.49) * (electricField ?m.49 A ((time ?m.49) x) (space x)).ofLp i) =
1 / c.val * (electricField c A ((time c) x) (space x)).ofLp id:ℕc:SpeedOfLightA:ElectromagneticPotential dx:SpaceTime di:Fin dhA:Differentiable ℝ A.val⊢ SpeedOfLight] d:ℕc:SpeedOfLightA:ElectromagneticPotential dx:SpaceTime di:Fin dhA:Differentiable ℝ A.val⊢ -(-(1 / SpeedOfLight.val ?m.49) * (electricField ?m.49 A ((time ?m.49) x) (space x)).ofLp i) =
1 / c.val * (electricField c A ((time c) x) (space x)).ofLp id:ℕc:SpeedOfLightA:ElectromagneticPotential dx:SpaceTime di:Fin dhA:Differentiable ℝ A.val⊢ SpeedOfLight
ring All goals completed! 🐙C. Smoothness of the electric field
lemma electricField_contDiff {n} {c : SpeedOfLight} {A : ElectromagneticPotential d}
(hA : ContDiff ℝ (n + 1) A) : ContDiff ℝ n ↿(A.electricField c) := by d:ℕn:WithTop ℕ∞c:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ (n + 1) A.val⊢ ContDiff ℝ n ↿(electricField c A)
rw [@contDiff_euclidean d:ℕn:WithTop ℕ∞c:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ (n + 1) A.val⊢ ∀ (i : Fin d), ContDiff ℝ n fun x => (↿(electricField c A) x).ofLp i d:ℕn:WithTop ℕ∞c:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ (n + 1) A.val⊢ ∀ (i : Fin d), ContDiff ℝ n fun x => (↿(electricField c A) x).ofLp i] d:ℕn:WithTop ℕ∞c:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ (n + 1) A.val⊢ ∀ (i : Fin d), ContDiff ℝ n fun x => (↿(electricField c A) x).ofLp i
intro i d:ℕn:WithTop ℕ∞c:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ (n + 1) A.vali:Fin d⊢ ContDiff ℝ n fun x => (↿(electricField c A) x).ofLp i
conv => d:ℕn:WithTop ℕ∞c:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ (n + 1) A.vali:Fin d| ContDiff ℝ n fun x => (↿(electricField c A) x).ofLp i
enter [3, x] d:ℕn:WithTop ℕ∞c:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ (n + 1) A.vali:Fin dx:Time × Space d| (↿(electricField c A) x).ofLp i;
change A.electricField c x.1 x.2 i d:ℕn:WithTop ℕ∞c:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ (n + 1) A.vali:Fin dx:Time × Space d| (electricField c A x.1 x.2).ofLp i
rw [electricField_eq_fieldStrengthMatrix (A) x.1 x.2 i (hA.differentiable (by d:ℕn:WithTop ℕ∞c:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ (n + 1) A.vali:Fin dx:Time × Space d⊢ n + 1 ≠ 0 simp All goals completed! 🐙))]
change - c * A.fieldStrengthMatrix ((toTimeAndSpace c).symm (x.1, x.2)) (Sum.inl 0, Sum.inr i) d:ℕn:WithTop ℕ∞c:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ (n + 1) A.vali:Fin dx:Time × Space d| -c.val * (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (x.1, x.2))) (Sum.inl 0, Sum.inr i)
apply ContDiff.mul hf d:ℕn:WithTop ℕ∞c:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ (n + 1) A.vali:Fin d⊢ ContDiff ℝ n fun x => -c.valhg d:ℕn:WithTop ℕ∞c:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ (n + 1) A.vali:Fin d⊢ ContDiff ℝ n fun x => (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (x.1, x.2))) (Sum.inl 0, Sum.inr i)
· hf d:ℕn:WithTop ℕ∞c:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ (n + 1) A.vali:Fin d⊢ ContDiff ℝ n fun x => -c.val fun_prop All goals completed! 🐙
exact (fieldStrengthMatrix_contDiff hA).comp
(ContinuousLinearEquiv.contDiff (toTimeAndSpace c).symm) All goals completed! 🐙lemma electricField_apply_contDiff {n} {c : SpeedOfLight} {A : ElectromagneticPotential d}
(hA : ContDiff ℝ (n + 1) A) : ContDiff ℝ n (↿(fun t x => A.electricField c t x i)) :=
(ContinuousLinearMap.contDiff (𝕜 := ℝ) (EuclideanSpace.proj i)).comp (electricField_contDiff hA)lemma electricField_apply_contDiff_space {n} {A : ElectromagneticPotential d}
{c : SpeedOfLight}
(hA : ContDiff ℝ (n + 1) A) (t : Time) :
ContDiff ℝ n (fun x => A.electricField c t x i) :=
(electricField_apply_contDiff hA).comp (f := fun x => (t, x)) (by d:ℕi:Fin dn:WithTop ℕ∞A:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ (n + 1) A.valt:Time⊢ ContDiff ℝ n fun x => (t, x) fun_prop All goals completed! 🐙)lemma electricField_apply_contDiff_time {n} {c : SpeedOfLight} {A : ElectromagneticPotential d}
(hA : ContDiff ℝ (n + 1) A) (x : Space d) :
ContDiff ℝ n (fun t => A.electricField c t x i) :=
(electricField_apply_contDiff hA).comp (f := fun t => (t, x)) (by d:ℕi:Fin dn:WithTop ℕ∞c:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ (n + 1) A.valx:Space d⊢ ContDiff ℝ n fun t => (t, x) fun_prop All goals completed! 🐙)D. Differentiability of the electric field
lemma electricField_differentiable {A : ElectromagneticPotential d} {c : SpeedOfLight}
(hA : ContDiff ℝ 2 A) : Differentiable ℝ (↿(A.electricField c)) :=
(electricField_contDiff (n := 1) hA).differentiable one_ne_zerolemma electricField_differentiable_time {A : ElectromagneticPotential d} {c : SpeedOfLight}
(hA : ContDiff ℝ 2 A) (x : Space d) : Differentiable ℝ (A.electricField c · x) :=
(electricField_differentiable hA).comp (f := fun t => (t, x)) (by d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valx:Space d⊢ Differentiable ℝ fun t => (t, x) fun_prop All goals completed! 🐙)lemma electricField_differentiable_space {A : ElectromagneticPotential d} {c : SpeedOfLight}
(hA : ContDiff ℝ 2 A) (t : Time) : Differentiable ℝ (A.electricField c t) :=
(electricField_differentiable hA).comp (f := fun x => (t, x)) (by d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Time⊢ Differentiable ℝ fun x => (t, x) fun_prop All goals completed! 🐙)lemma electricField_apply_differentiable {A : ElectromagneticPotential d}
{c : SpeedOfLight}
(hA : ContDiff ℝ 2 A) :
Differentiable ℝ (fun (tx : Time × Space d) => A.electricField c tx.1 tx.2 i) :=
(ContinuousLinearMap.differentiable (𝕜 := ℝ) (EuclideanSpace.proj i)).comp
(electricField_differentiable hA)lemma electricField_apply_differentiable_space {A : ElectromagneticPotential d}
{c : SpeedOfLight}
(hA : ContDiff ℝ 2 A) (t : Time) (i : Fin d) :
Differentiable ℝ (fun x => A.electricField c t x i) :=
(electricField_apply_differentiable hA).comp (f := fun x => (t, x)) (by d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timei:Fin d⊢ Differentiable ℝ fun x => (t, x) fun_prop All goals completed! 🐙)lemma electricField_apply_differentiable_time {A : ElectromagneticPotential d}
{c : SpeedOfLight}
(hA : ContDiff ℝ 2 A) (x : Space d) (i : Fin d) :
Differentiable ℝ (fun t => A.electricField c t x i) :=
(electricField_apply_differentiable hA).comp (f := fun t => (t, x)) (by d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valx:Space di:Fin d⊢ Differentiable ℝ fun t => (t, x) fun_prop All goals completed! 🐙)E. Time derivative of the vector potential in terms of the electric field
lemma time_deriv_vectorPotential_eq_electricField {d} {c : SpeedOfLight}
(A : ElectromagneticPotential d)
(t : Time) (x : Space d) :
∂ₜ (fun t => A.vectorPotential c t x) t =
- A.electricField c t x - ∇ (A.scalarPotential c t) x := by d:ℕc:SpeedOfLightA:ElectromagneticPotential dt:Timex:Space d⊢ ∂ₜ (fun t => vectorPotential c A t x) t = -electricField c A t x - ∇ (scalarPotential c A t) x
rw [electricField d:ℕc:SpeedOfLightA:ElectromagneticPotential dt:Timex:Space d⊢ ∂ₜ (fun t => vectorPotential c A t x) t =
-(-∇ (scalarPotential c A t) x - ∂ₜ (fun t => vectorPotential c A t x) t) - ∇ (scalarPotential c A t) x d:ℕc:SpeedOfLightA:ElectromagneticPotential dt:Timex:Space d⊢ ∂ₜ (fun t => vectorPotential c A t x) t =
-(-∇ (scalarPotential c A t) x - ∂ₜ (fun t => vectorPotential c A t x) t) - ∇ (scalarPotential c A t) x] d:ℕc:SpeedOfLightA:ElectromagneticPotential dt:Timex:Space d⊢ ∂ₜ (fun t => vectorPotential c A t x) t =
-(-∇ (scalarPotential c A t) x - ∂ₜ (fun t => vectorPotential c A t x) t) - ∇ (scalarPotential c A t) x
abel All goals completed! 🐙
lemma time_deriv_comp_vectorPotential_eq_electricField {d} {A : ElectromagneticPotential d}
{c : SpeedOfLight}
(hA : Differentiable ℝ A)
(t : Time) (x : Space d) (i : Fin d) :
∂ₜ (fun t => A.vectorPotential c t x i) t =
- A.electricField c t x i - ∂[i] (A.scalarPotential c t) x := by d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:Differentiable ℝ A.valt:Timex:Space di:Fin d⊢ ∂ₜ (fun t => (vectorPotential c A t x).ofLp i) t =
-(electricField c A t x).ofLp i - Space.deriv i (scalarPotential c A t) x
rw [Time.deriv_euclid, d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:Differentiable ℝ A.valt:Timex:Space di:Fin d⊢ (∂ₜ (fun t => vectorPotential c A t x) t).ofLp i =
-(electricField c A t x).ofLp i - Space.deriv i (scalarPotential c A t) xhf d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:Differentiable ℝ A.valt:Timex:Space di:Fin d⊢ Differentiable ℝ fun t => vectorPotential c A t x d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:Differentiable ℝ A.valt:Timex:Space di:Fin d⊢ (-electricField c A t x - ∇ (scalarPotential c A t) x).ofLp i =
-(electricField c A t x).ofLp i - Space.deriv i (scalarPotential c A t) xhf d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:Differentiable ℝ A.valt:Timex:Space di:Fin d⊢ Differentiable ℝ fun t => vectorPotential c A t x time_deriv_vectorPotential_eq_electricField d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:Differentiable ℝ A.valt:Timex:Space di:Fin d⊢ (-electricField c A t x - ∇ (scalarPotential c A t) x).ofLp i =
-(electricField c A t x).ofLp i - Space.deriv i (scalarPotential c A t) xhf d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:Differentiable ℝ A.valt:Timex:Space di:Fin d⊢ Differentiable ℝ fun t => vectorPotential c A t x d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:Differentiable ℝ A.valt:Timex:Space di:Fin d⊢ (-electricField c A t x - ∇ (scalarPotential c A t) x).ofLp i =
-(electricField c A t x).ofLp i - Space.deriv i (scalarPotential c A t) xhf d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:Differentiable ℝ A.valt:Timex:Space di:Fin d⊢ Differentiable ℝ fun t => vectorPotential c A t x] d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:Differentiable ℝ A.valt:Timex:Space di:Fin d⊢ (-electricField c A t x - ∇ (scalarPotential c A t) x).ofLp i =
-(electricField c A t x).ofLp i - Space.deriv i (scalarPotential c A t) xhf d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:Differentiable ℝ A.valt:Timex:Space di:Fin d⊢ Differentiable ℝ fun t => vectorPotential c A t x
simp d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:Differentiable ℝ A.valt:Timex:Space di:Fin d⊢ (∇ (scalarPotential c A t) x).ofLp i = Space.deriv i (scalarPotential c A t) xhf d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:Differentiable ℝ A.valt:Timex:Space di:Fin d⊢ Differentiable ℝ fun t => vectorPotential c A t x
rfl hf d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:Differentiable ℝ A.valt:Timex:Space di:Fin d⊢ Differentiable ℝ fun t => vectorPotential c A t x
apply vectorPotential_differentiable_time A hA x All goals completed! 🐙F. Derivatives of the electric field in terms of field strength tensor
lemma time_deriv_electricField_eq_fieldStrengthMatrix {d} {A : ElectromagneticPotential d}
{c : SpeedOfLight} (hA : ContDiff ℝ 2 A) (t : Time) (x : Space d) (i : Fin d) :
∂ₜ (fun t => A.electricField c t x) t i =
- c ^ 2 * ∂_ (Sum.inl 0) (fun x => (A.fieldStrengthMatrix x) (Sum.inl 0, Sum.inr i))
((toTimeAndSpace c).symm (t, x)) := by d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ (∂ₜ (fun t => electricField c A t x) t).ofLp i =
-c.val ^ 2 *
∂_ (Sum.inl 0) (fun x => (A.fieldStrengthMatrix x) (Sum.inl 0, Sum.inr i)) ((toTimeAndSpace c).symm (t, x))
rw [SpaceTime.deriv_sum_inl c d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ (∂ₜ (fun t => electricField c A t x) t).ofLp i =
-c.val ^ 2 *
(1 / c.val) •
∂ₜ
(fun t_1 =>
(A.fieldStrengthMatrix
((toTimeAndSpace c).symm (t_1, ((toTimeAndSpace c) ((toTimeAndSpace c).symm (t, x))).2)))
(Sum.inl 0, Sum.inr i))
((toTimeAndSpace c) ((toTimeAndSpace c).symm (t, x))).1hf d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ Differentiable ℝ fun x => (A.fieldStrengthMatrix x) (Sum.inl 0, Sum.inr i) d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ (∂ₜ (fun t => electricField c A t x) t).ofLp i =
-c.val ^ 2 *
(1 / c.val) •
∂ₜ
(fun t_1 =>
(A.fieldStrengthMatrix
((toTimeAndSpace c).symm (t_1, ((toTimeAndSpace c) ((toTimeAndSpace c).symm (t, x))).2)))
(Sum.inl 0, Sum.inr i))
((toTimeAndSpace c) ((toTimeAndSpace c).symm (t, x))).1hf d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ Differentiable ℝ fun x => (A.fieldStrengthMatrix x) (Sum.inl 0, Sum.inr i)] d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ (∂ₜ (fun t => electricField c A t x) t).ofLp i =
-c.val ^ 2 *
(1 / c.val) •
∂ₜ
(fun t_1 =>
(A.fieldStrengthMatrix
((toTimeAndSpace c).symm (t_1, ((toTimeAndSpace c) ((toTimeAndSpace c).symm (t, x))).2)))
(Sum.inl 0, Sum.inr i))
((toTimeAndSpace c) ((toTimeAndSpace c).symm (t, x))).1hf d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ Differentiable ℝ fun x => (A.fieldStrengthMatrix x) (Sum.inl 0, Sum.inr i)
simp only [one_div, ContinuousLinearEquiv.apply_symm_apply, Fin.isValue, smul_eq_mul, neg_mul] d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ (∂ₜ (fun t => electricField c A t x) t).ofLp i =
-(c.val ^ 2 *
(c.val⁻¹ * ∂ₜ (fun t => (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x))) (Sum.inl 0, Sum.inr i)) t))hf d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ Differentiable ℝ fun x => (A.fieldStrengthMatrix x) (Sum.inl 0, Sum.inr i)
rw [← Time.deriv_euclid d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ ∂ₜ (fun t => (electricField c A t x).ofLp i) t =
-(c.val ^ 2 *
(c.val⁻¹ * ∂ₜ (fun t => (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x))) (Sum.inl 0, Sum.inr i)) t))hf d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ Differentiable ℝ fun t => electricField c A t xhf d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ Differentiable ℝ fun x => (A.fieldStrengthMatrix x) (Sum.inl 0, Sum.inr i) d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ ∂ₜ (fun t => (electricField c A t x).ofLp i) t =
-(c.val ^ 2 *
(c.val⁻¹ * ∂ₜ (fun t => (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x))) (Sum.inl 0, Sum.inr i)) t))hf d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ Differentiable ℝ fun t => electricField c A t xhf d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ Differentiable ℝ fun x => (A.fieldStrengthMatrix x) (Sum.inl 0, Sum.inr i)] d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ ∂ₜ (fun t => (electricField c A t x).ofLp i) t =
-(c.val ^ 2 *
(c.val⁻¹ * ∂ₜ (fun t => (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x))) (Sum.inl 0, Sum.inr i)) t))hf d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ Differentiable ℝ fun t => electricField c A t xhf d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ Differentiable ℝ fun x => (A.fieldStrengthMatrix x) (Sum.inl 0, Sum.inr i)
conv_lhs =>
enter [1, t] d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt✝:Timex:Space di:Fin dt:Time| (electricField c A t x).ofLp i
rw [electricField_eq_fieldStrengthMatrix (c := c) A t x i (hA.differentiable (by d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt✝:Timex:Space di:Fin dt:Time⊢ 2 ≠ 0 simp All goals completed! 🐙))]
rw [Time.deriv_eq, d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ (fderiv ℝ (fun t => -c.val * (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x))) (Sum.inl 0, Sum.inr i)) t) 1 =
-(c.val ^ 2 *
(c.val⁻¹ * ∂ₜ (fun t => (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x))) (Sum.inl 0, Sum.inr i)) t))hf d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ Differentiable ℝ fun t => electricField c A t xhf d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ Differentiable ℝ fun x => (A.fieldStrengthMatrix x) (Sum.inl 0, Sum.inr i) d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ (-c.val • fderiv ℝ (fun t => (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x))) (Sum.inl 0, Sum.inr i)) t) 1 =
-(c.val ^ 2 *
(c.val⁻¹ * ∂ₜ (fun t => (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x))) (Sum.inl 0, Sum.inr i)) t))ha d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ DifferentiableAt ℝ (fun t => (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x))) (Sum.inl 0, Sum.inr i)) thf d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ Differentiable ℝ fun t => electricField c A t xhf d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ Differentiable ℝ fun x => (A.fieldStrengthMatrix x) (Sum.inl 0, Sum.inr i) fderiv_const_mul d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ (-c.val • fderiv ℝ (fun t => (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x))) (Sum.inl 0, Sum.inr i)) t) 1 =
-(c.val ^ 2 *
(c.val⁻¹ * ∂ₜ (fun t => (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x))) (Sum.inl 0, Sum.inr i)) t))ha d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ DifferentiableAt ℝ (fun t => (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x))) (Sum.inl 0, Sum.inr i)) thf d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ Differentiable ℝ fun t => electricField c A t xhf d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ Differentiable ℝ fun x => (A.fieldStrengthMatrix x) (Sum.inl 0, Sum.inr i) d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ (-c.val • fderiv ℝ (fun t => (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x))) (Sum.inl 0, Sum.inr i)) t) 1 =
-(c.val ^ 2 *
(c.val⁻¹ * ∂ₜ (fun t => (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x))) (Sum.inl 0, Sum.inr i)) t))ha d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ DifferentiableAt ℝ (fun t => (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x))) (Sum.inl 0, Sum.inr i)) thf d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ Differentiable ℝ fun t => electricField c A t xhf d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ Differentiable ℝ fun x => (A.fieldStrengthMatrix x) (Sum.inl 0, Sum.inr i)] d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ (-c.val • fderiv ℝ (fun t => (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x))) (Sum.inl 0, Sum.inr i)) t) 1 =
-(c.val ^ 2 *
(c.val⁻¹ * ∂ₜ (fun t => (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x))) (Sum.inl 0, Sum.inr i)) t))ha d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ DifferentiableAt ℝ (fun t => (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x))) (Sum.inl 0, Sum.inr i)) thf d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ Differentiable ℝ fun t => electricField c A t xhf d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ Differentiable ℝ fun x => (A.fieldStrengthMatrix x) (Sum.inl 0, Sum.inr i)
simp [← Time.deriv_eq] d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ c.val * ∂ₜ (fun t => (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x))) (Sum.inl 0, Sum.inr i)) t =
c.val ^ 2 *
(c.val⁻¹ * ∂ₜ (fun t => (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x))) (Sum.inl 0, Sum.inr i)) t)ha d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ DifferentiableAt ℝ (fun t => (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x))) (Sum.inl 0, Sum.inr i)) thf d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ Differentiable ℝ fun t => electricField c A t xhf d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ Differentiable ℝ fun x => (A.fieldStrengthMatrix x) (Sum.inl 0, Sum.inr i)
field_simp ha d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ DifferentiableAt ℝ (fun t => (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x))) (Sum.inl 0, Sum.inr i)) thf d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ Differentiable ℝ fun t => electricField c A t xhf d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ Differentiable ℝ fun x => (A.fieldStrengthMatrix x) (Sum.inl 0, Sum.inr i)
· ha d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ DifferentiableAt ℝ (fun t => (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x))) (Sum.inl 0, Sum.inr i)) t exact (fieldStrengthMatrix_differentiable_time hA x).differentiableAt All goals completed! 🐙
· hf d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ Differentiable ℝ fun t => electricField c A t x apply electricField_differentiable_time hA x All goals completed! 🐙
· hf d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ Differentiable ℝ fun x => (A.fieldStrengthMatrix x) (Sum.inl 0, Sum.inr i) apply fieldStrengthMatrix_differentiable hA All goals completed! 🐙
lemma div_electricField_eq_fieldStrengthMatrix{d} {A : ElectromagneticPotential d}
{c : SpeedOfLight} (hA : ContDiff ℝ 2 A) (t : Time) (x : Space d) :
(∇ ⬝ A.electricField c t) x = c * ∑ (μ : (Fin 1 ⊕ Fin d)),
(∂_ μ (A.fieldStrengthMatrix · (μ, Sum.inl 0)) ((toTimeAndSpace c).symm (t, x))) := by d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space d⊢ div (electricField c A t) x =
c.val * ∑ μ, ∂_ μ (fun x => (A.fieldStrengthMatrix x) (μ, Sum.inl 0)) ((toTimeAndSpace c).symm (t, x))
rw [Finset.mul_sum d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space d⊢ div (electricField c A t) x =
∑ i, c.val * ∂_ i (fun x => (A.fieldStrengthMatrix x) (i, Sum.inl 0)) ((toTimeAndSpace c).symm (t, x)) d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space d⊢ div (electricField c A t) x =
∑ i, c.val * ∂_ i (fun x => (A.fieldStrengthMatrix x) (i, Sum.inl 0)) ((toTimeAndSpace c).symm (t, x))] d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space d⊢ div (electricField c A t) x =
∑ i, c.val * ∂_ i (fun x => (A.fieldStrengthMatrix x) (i, Sum.inl 0)) ((toTimeAndSpace c).symm (t, x))
simp only [Fin.isValue, Fintype.sum_sum_type, Finset.univ_unique, Fin.default_eq_zero,
Finset.sum_singleton, fieldStrengthMatrix_diag_eq_zero, SpaceTime.deriv_zero, Pi.ofNat_apply,
mul_zero, zero_add] d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space d⊢ div (electricField c A t) x =
∑ a₂,
c.val *
∂_ (Sum.inr a₂) (fun x => (A.fieldStrengthMatrix x) (Sum.inr a₂, Sum.inl 0)) ((toTimeAndSpace c).symm (t, x))
conv_rhs =>
enter [2, i] d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d| c.val * ∂_ (Sum.inr i) (fun x => (A.fieldStrengthMatrix x) (Sum.inr i, Sum.inl 0)) ((toTimeAndSpace c).symm (t, x))
rw [SpaceTime.deriv_sum_inr c _ (fieldStrengthMatrix_differentiable hA)] d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d| c.val *
Space.deriv i
(fun y =>
(A.fieldStrengthMatrix ((toTimeAndSpace c).symm (((toTimeAndSpace c) ((toTimeAndSpace c).symm (t, x))).1, y)))
(Sum.inr i, Sum.inl 0))
((toTimeAndSpace c) ((toTimeAndSpace c).symm (t, x))).2
simp only [Fin.isValue] d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d| c.val *
Space.deriv i
(fun y =>
(A.fieldStrengthMatrix ((toTimeAndSpace c).symm (((toTimeAndSpace c) ((toTimeAndSpace c).symm (t, x))).1, y)))
(Sum.inr i, Sum.inl 0))
((toTimeAndSpace c) ((toTimeAndSpace c).symm (t, x))).2
rw [Space.div d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space d⊢ ∑ i, Space.deriv i (fun x => (electricField c A t x).ofLp i) x =
∑ i,
c.val *
Space.deriv i
(fun y =>
(A.fieldStrengthMatrix ((toTimeAndSpace c).symm (((toTimeAndSpace c) ((toTimeAndSpace c).symm (t, x))).1, y)))
(Sum.inr i, Sum.inl 0))
((toTimeAndSpace c) ((toTimeAndSpace c).symm (t, x))).2 d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space d⊢ ∑ i, Space.deriv i (fun x => (electricField c A t x).ofLp i) x =
∑ i,
c.val *
Space.deriv i
(fun y =>
(A.fieldStrengthMatrix ((toTimeAndSpace c).symm (((toTimeAndSpace c) ((toTimeAndSpace c).symm (t, x))).1, y)))
(Sum.inr i, Sum.inl 0))
((toTimeAndSpace c) ((toTimeAndSpace c).symm (t, x))).2] d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space d⊢ ∑ i, Space.deriv i (fun x => (electricField c A t x).ofLp i) x =
∑ i,
c.val *
Space.deriv i
(fun y =>
(A.fieldStrengthMatrix ((toTimeAndSpace c).symm (((toTimeAndSpace c) ((toTimeAndSpace c).symm (t, x))).1, y)))
(Sum.inr i, Sum.inl 0))
((toTimeAndSpace c) ((toTimeAndSpace c).symm (t, x))).2
congr e_f d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space d⊢ (fun i => Space.deriv i (fun x => (electricField c A t x).ofLp i) x) = fun i =>
c.val *
Space.deriv i
(fun y =>
(A.fieldStrengthMatrix ((toTimeAndSpace c).symm (((toTimeAndSpace c) ((toTimeAndSpace c).symm (t, x))).1, y)))
(Sum.inr i, Sum.inl 0))
((toTimeAndSpace c) ((toTimeAndSpace c).symm (t, x))).2
funext i e_f d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ Space.deriv i (fun x => (electricField c A t x).ofLp i) x =
c.val *
Space.deriv i
(fun y =>
(A.fieldStrengthMatrix ((toTimeAndSpace c).symm (((toTimeAndSpace c) ((toTimeAndSpace c).symm (t, x))).1, y)))
(Sum.inr i, Sum.inl 0))
((toTimeAndSpace c) ((toTimeAndSpace c).symm (t, x))).2
simp only [ContinuousLinearEquiv.apply_symm_apply, Fin.isValue] e_f d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ Space.deriv i (fun x => (electricField c A t x).ofLp i) x =
c.val * Space.deriv i (fun y => (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, y))) (Sum.inr i, Sum.inl 0)) x
conv_lhs =>
enter [2, y] d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dy:Space d| (electricField c A t y).ofLp i
rw [electricField_eq_fieldStrengthMatrix (c := c) A t y i (hA.differentiable (by d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dy:Space d⊢ 2 ≠ 0 simp All goals completed! 🐙))]
rw [fieldStrengthMatrix_antisymm] d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dy:Space d| -c.val * -(A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, y))) (Sum.inr i, Sum.inl 0)
rw [Space.deriv_eq_fderiv_basis, e_f d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ (fderiv ℝ (fun y => -c.val * -(A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, y))) (Sum.inr i, Sum.inl 0)) x)
(Space.basis i) =
c.val * Space.deriv i (fun y => (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, y))) (Sum.inr i, Sum.inl 0)) x e_f d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ (-c.val • fderiv ℝ (fun y => -(A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, y))) (Sum.inr i, Sum.inl 0)) x)
(Space.basis i) =
c.val * Space.deriv i (fun y => (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, y))) (Sum.inr i, Sum.inl 0)) xe_f.ha d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ DifferentiableAt ℝ (fun y => -(A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, y))) (Sum.inr i, Sum.inl 0)) x fderiv_const_mul e_f d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ (-c.val • fderiv ℝ (fun y => -(A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, y))) (Sum.inr i, Sum.inl 0)) x)
(Space.basis i) =
c.val * Space.deriv i (fun y => (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, y))) (Sum.inr i, Sum.inl 0)) xe_f.ha d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ DifferentiableAt ℝ (fun y => -(A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, y))) (Sum.inr i, Sum.inl 0)) xe_f d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ (-c.val • fderiv ℝ (fun y => -(A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, y))) (Sum.inr i, Sum.inl 0)) x)
(Space.basis i) =
c.val * Space.deriv i (fun y => (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, y))) (Sum.inr i, Sum.inl 0)) xe_f.ha d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ DifferentiableAt ℝ (fun y => -(A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, y))) (Sum.inr i, Sum.inl 0)) x]e_f d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ (-c.val • fderiv ℝ (fun y => -(A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, y))) (Sum.inr i, Sum.inl 0)) x)
(Space.basis i) =
c.val * Space.deriv i (fun y => (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, y))) (Sum.inr i, Sum.inl 0)) xe_f.ha d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ DifferentiableAt ℝ (fun y => -(A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, y))) (Sum.inr i, Sum.inl 0)) x
simp [← Space.deriv_eq_fderiv_basis] e_f.ha d:ℕA:ElectromagneticPotential dc:SpeedOfLighthA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ DifferentiableAt ℝ (fun y => -(A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, y))) (Sum.inr i, Sum.inl 0)) x
exact (fieldStrengthMatrix_differentiable_space hA t).neg.differentiableAt All goals completed! 🐙