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.ElectricFieldThe Magnetic Field
i. Overview
In 3-spatial dimensions from the electromagnetic potential we can define the magnetic field
\vec B as (∇ ⨯ (A.vectorPotential t)) x.
In this module we define this magnetic field from the electromagnetic potential.
In general dimensions we define the magnetic field matrix from the spatial components of the field strength matrix. This is an antisymmetric matrix.
ii. Key results
ElectromagneticPotential.magneticField : The magnetic field from the electromagnetic potential
in 3 spatial dimensions.
ElectromagneticPotential.magneticFieldMatrix : The magnetic field matrix from the
electromagnetic potential in general spatial dimensions.
ElectromagneticPotential.time_deriv_magneticFieldMatrix : The time derivative of the magnetic
field matrix in terms of the vector potential. (Aka Faraday's law).
iii. Table of contents
A. The magnetic field
A.1. Relation between the magnetic field and the field strength matrix
A.2. Divergence of the magnetic field
B. The field strength matrix in terms of the electric and magnetic fields
C. Magnetic field matrix
C.1. Antisymmetry of the magnetic field matrix
C.2. Magnetic field in terms of the magnetic field matrix
C.3. Magnetic field matrix in terms of vector potentials
C.4. Smoothness of the magnetic field matrix
C.5. Differentiablity of the magnetic field matrix
C.6. Spatial derivative of the magnetic field matrix
C.7. Temporal derivative of the magnetic field matrix
C.8. curl of the magnetic field matrix
iv. References
@[expose] public sectionattribute [-simp] Fintype.sum_sum_typeattribute [-simp] Nat.succ_eq_add_oneA. The magnetic field
lemma magneticField_eq {c : SpeedOfLight} (A : ElectromagneticPotential) :
A.magneticField c = fun t x => (∇ ⨯ (A.vectorPotential c t)) x := rflA.1. Relation between the magnetic field and the field strength matrix
e_a i:Fin 3c:SpeedOfLightA:ElectromagneticPotentialt:Timex:SpacehA:Differentiable ℝ (A.val 3)⊢ (fderiv ℝ (fun x => (vectorPotential c A t x).ofLp (i + 1)) x) (Space.basis (i + 2)) =
(fderiv ℝ (fun y => A.val 3 ((toTimeAndSpace c).symm (t, y)) (Sum.inr (i + 1))) x) (Space.basis (i + 2))e_a.h i:Fin 3c:SpeedOfLightA:ElectromagneticPotentialt:Timex:SpacehA:Differentiable ℝ (A.val 3)⊢ Differentiable ℝ fun y => A.val 3 ((toTimeAndSpace c).symm (t, y))
rfl e_a.h i:Fin 3c:SpeedOfLightA:ElectromagneticPotentialt:Timex:SpacehA:Differentiable ℝ (A.val 3)⊢ Differentiable ℝ fun y => A.val 3 ((toTimeAndSpace c).symm (t, y))
· e_a.h i:Fin 3c:SpeedOfLightA:ElectromagneticPotentialt:Timex:SpacehA:Differentiable ℝ (A.val 3)⊢ Differentiable ℝ fun y => A.val 3 ((toTimeAndSpace c).symm (t, y)) fun_prop All goals completed! 🐙A.2. Divergence of the magnetic field
lemma magneticField_div_eq_zero (A : ElectromagneticPotential)
(hA : ContDiff ℝ 2 A) (t : Time) : Space.div (A.magneticField c t) = 0 := by c:SpeedOfLightA:ElectromagneticPotentialhA:ContDiff ℝ 2 (A.val 3)t:Time⊢ div (magneticField c A t) = 0
simp only [magneticField_eq] c:SpeedOfLightA:ElectromagneticPotentialhA:ContDiff ℝ 2 (A.val 3)t:Time⊢ (div fun x => curl (vectorPotential c A t) x) = 0
rw [Space.div_of_curl_eq_zero c:SpeedOfLightA:ElectromagneticPotentialhA:ContDiff ℝ 2 (A.val 3)t:Time⊢ 0 = 0hf c:SpeedOfLightA:ElectromagneticPotentialhA:ContDiff ℝ 2 (A.val 3)t:Time⊢ ContDiff ℝ 2 (vectorPotential c A t) hf c:SpeedOfLightA:ElectromagneticPotentialhA:ContDiff ℝ 2 (A.val 3)t:Time⊢ ContDiff ℝ 2 (vectorPotential c A t)] hf c:SpeedOfLightA:ElectromagneticPotentialhA:ContDiff ℝ 2 (A.val 3)t:Time⊢ ContDiff ℝ 2 (vectorPotential c A t)
exact vectorPotential_contDiff_space A hA t All goals completed! 🐙A.4. The magnetic field on constructors
B. The field strength matrix in terms of the electric and magnetic fields
lemma fieldStrengthMatrix_eq_electric_magnetic {c} (A : ElectromagneticPotential) (t : Time)
(x : Space) (hA : Differentiable ℝ A) (μ ν : Fin 1 ⊕ Fin 3) :
A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x)) (μ, ν) =
match μ, ν with
| Sum.inl 0, Sum.inl 0 => 0
| Sum.inl 0, Sum.inr i => - A.electricField c t x i / c
| Sum.inr i, Sum.inl 0 => A.electricField c t x i / c
| Sum.inr i, Sum.inr j =>
match i, j with
| 0, 0 => 0
| 0, 1 => - A.magneticField c t x 2
| 0, 2 => A.magneticField c t x 1
| 1, 0 => A.magneticField c t x 2
| 1, 1 => 0
| 1, 2 => - A.magneticField c t x 0
| 2, 0 => - A.magneticField c t x 1
| 2, 1 => A.magneticField c t x 0
| 2, 2 => 0 := by c:SpeedOfLightA:ElectromagneticPotentialt:Timex:SpacehA:Differentiable ℝ (A.val 3)μ:Fin 1 ⊕ Fin 3ν:Fin 1 ⊕ Fin 3⊢ (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x))) (μ, ν) =
match μ, ν with
| Sum.inl 0, Sum.inl 0 => 0
| Sum.inl 0, Sum.inr i => -(electricField c A t x).ofLp i / c.val
| Sum.inr i, Sum.inl 0 => (electricField c A t x).ofLp i / c.val
| Sum.inr i, Sum.inr j =>
match i, j with
| 0, 0 => 0
| 0, 1 => -(magneticField c A t x).ofLp 2
| 0, 2 => (magneticField c A t x).ofLp 1
| 1, 0 => (magneticField c A t x).ofLp 2
| 1, 1 => 0
| 1, 2 => -(magneticField c A t x).ofLp 0
| 2, 0 => -(magneticField c A t x).ofLp 1
| 2, 1 => (magneticField c A t x).ofLp 0
| 2, 2 => 0
match μ, ν with
| Sum.inl 0, Sum.inl 0 => c:SpeedOfLightA:ElectromagneticPotentialt:Timex:SpacehA:Differentiable ℝ (A.val 3)μ:Fin 1 ⊕ Fin 3ν:Fin 1 ⊕ Fin 3⊢ (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x))) (Sum.inl 0, Sum.inl 0) =
match Sum.inl 0, Sum.inl 0 with
| Sum.inl 0, Sum.inl 0 => 0
| Sum.inl 0, Sum.inr i => -(electricField c A t x).ofLp i / c.val
| Sum.inr i, Sum.inl 0 => (electricField c A t x).ofLp i / c.val
| Sum.inr i, Sum.inr j =>
match i, j with
| 0, 0 => 0
| 0, 1 => -(magneticField c A t x).ofLp 2
| 0, 2 => (magneticField c A t x).ofLp 1
| 1, 0 => (magneticField c A t x).ofLp 2
| 1, 1 => 0
| 1, 2 => -(magneticField c A t x).ofLp 0
| 2, 0 => -(magneticField c A t x).ofLp 1
| 2, 1 => (magneticField c A t x).ofLp 0
| 2, 2 => 0 simp All goals completed! 🐙
| Sum.inl 0, Sum.inr i => c:SpeedOfLightA:ElectromagneticPotentialt:Timex:SpacehA:Differentiable ℝ (A.val 3)μ:Fin 1 ⊕ Fin 3ν:Fin 1 ⊕ Fin 3i:Fin 3⊢ (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x))) (Sum.inl 0, Sum.inr i) =
match Sum.inl 0, Sum.inr i with
| Sum.inl 0, Sum.inl 0 => 0
| Sum.inl 0, Sum.inr i => -(electricField c A t x).ofLp i / c.val
| Sum.inr i, Sum.inl 0 => (electricField c A t x).ofLp i / c.val
| Sum.inr i, Sum.inr j =>
match i, j with
| 0, 0 => 0
| 0, 1 => -(magneticField c A t x).ofLp 2
| 0, 2 => (magneticField c A t x).ofLp 1
| 1, 0 => (magneticField c A t x).ofLp 2
| 1, 1 => 0
| 1, 2 => -(magneticField c A t x).ofLp 0
| 2, 0 => -(magneticField c A t x).ofLp 1
| 2, 1 => (magneticField c A t x).ofLp 0
| 2, 2 => 0 simp [electricField_eq_fieldStrengthMatrix A t x i hA] All goals completed! 🐙
| Sum.inr i, Sum.inl 0 => c:SpeedOfLightA:ElectromagneticPotentialt:Timex:SpacehA:Differentiable ℝ (A.val 3)μ:Fin 1 ⊕ Fin 3ν:Fin 1 ⊕ Fin 3i:Fin 3⊢ (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x))) (Sum.inr i, Sum.inl 0) =
match Sum.inr i, Sum.inl 0 with
| Sum.inl 0, Sum.inl 0 => 0
| Sum.inl 0, Sum.inr i => -(electricField c A t x).ofLp i / c.val
| Sum.inr i, Sum.inl 0 => (electricField c A t x).ofLp i / c.val
| Sum.inr i, Sum.inr j =>
match i, j with
| 0, 0 => 0
| 0, 1 => -(magneticField c A t x).ofLp 2
| 0, 2 => (magneticField c A t x).ofLp 1
| 1, 0 => (magneticField c A t x).ofLp 2
| 1, 1 => 0
| 1, 2 => -(magneticField c A t x).ofLp 0
| 2, 0 => -(magneticField c A t x).ofLp 1
| 2, 1 => (magneticField c A t x).ofLp 0
| 2, 2 => 0
simp [electricField_eq_fieldStrengthMatrix A t x i hA] c:SpeedOfLightA:ElectromagneticPotentialt:Timex:SpacehA:Differentiable ℝ (A.val 3)μ:Fin 1 ⊕ Fin 3ν:Fin 1 ⊕ Fin 3i:Fin 3⊢ (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x))) (Sum.inr i, Sum.inl 0) =
-(c.val * (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x))) (Sum.inl 0, Sum.inr i)) / c.val
field_simp c:SpeedOfLightA:ElectromagneticPotentialt:Timex:SpacehA:Differentiable ℝ (A.val 3)μ:Fin 1 ⊕ Fin 3ν:Fin 1 ⊕ Fin 3i:Fin 3⊢ (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x))) (Sum.inr i, Sum.inl 0) =
-(A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x))) (Sum.inl 0, Sum.inr i)
rw [fieldStrengthMatrix_antisymm c:SpeedOfLightA:ElectromagneticPotentialt:Timex:SpacehA:Differentiable ℝ (A.val 3)μ:Fin 1 ⊕ Fin 3ν:Fin 1 ⊕ Fin 3i:Fin 3⊢ -(A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x))) (Sum.inl 0, Sum.inr i) =
-(A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x))) (Sum.inl 0, Sum.inr i) All goals completed! 🐙] All goals completed! 🐙
| Sum.inr i, Sum.inr j => c:SpeedOfLightA:ElectromagneticPotentialt:Timex:SpacehA:Differentiable ℝ (A.val 3)μ:Fin 1 ⊕ Fin 3ν:Fin 1 ⊕ Fin 3i:Fin 3j:Fin 3⊢ (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x))) (Sum.inr i, Sum.inr j) =
match Sum.inr i, Sum.inr j with
| Sum.inl 0, Sum.inl 0 => 0
| Sum.inl 0, Sum.inr i => -(electricField c A t x).ofLp i / c.val
| Sum.inr i, Sum.inl 0 => (electricField c A t x).ofLp i / c.val
| Sum.inr i, Sum.inr j =>
match i, j with
| 0, 0 => 0
| 0, 1 => -(magneticField c A t x).ofLp 2
| 0, 2 => (magneticField c A t x).ofLp 1
| 1, 0 => (magneticField c A t x).ofLp 2
| 1, 1 => 0
| 1, 2 => -(magneticField c A t x).ofLp 0
| 2, 0 => -(magneticField c A t x).ofLp 1
| 2, 1 => (magneticField c A t x).ofLp 0
| 2, 2 => 0
fin_cases i «0» c:SpeedOfLightA:ElectromagneticPotentialt:Timex:SpacehA:Differentiable ℝ (A.val 3)μ:Fin 1 ⊕ Fin 3ν:Fin 1 ⊕ Fin 3j:Fin 3⊢ (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x))) (Sum.inr ((fun i => i) ⟨0, ⋯⟩), Sum.inr j) =
match Sum.inr ((fun i => i) ⟨0, ⋯⟩), Sum.inr j with
| Sum.inl 0, Sum.inl 0 => 0
| Sum.inl 0, Sum.inr i => -(electricField c A t x).ofLp i / c.val
| Sum.inr i, Sum.inl 0 => (electricField c A t x).ofLp i / c.val
| Sum.inr i, Sum.inr j =>
match i, j with
| 0, 0 => 0
| 0, 1 => -(magneticField c A t x).ofLp 2
| 0, 2 => (magneticField c A t x).ofLp 1
| 1, 0 => (magneticField c A t x).ofLp 2
| 1, 1 => 0
| 1, 2 => -(magneticField c A t x).ofLp 0
| 2, 0 => -(magneticField c A t x).ofLp 1
| 2, 1 => (magneticField c A t x).ofLp 0
| 2, 2 => 0«1» c:SpeedOfLightA:ElectromagneticPotentialt:Timex:SpacehA:Differentiable ℝ (A.val 3)μ:Fin 1 ⊕ Fin 3ν:Fin 1 ⊕ Fin 3j:Fin 3⊢ (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x))) (Sum.inr ((fun i => i) ⟨1, ⋯⟩), Sum.inr j) =
match Sum.inr ((fun i => i) ⟨1, ⋯⟩), Sum.inr j with
| Sum.inl 0, Sum.inl 0 => 0
| Sum.inl 0, Sum.inr i => -(electricField c A t x).ofLp i / c.val
| Sum.inr i, Sum.inl 0 => (electricField c A t x).ofLp i / c.val
| Sum.inr i, Sum.inr j =>
match i, j with
| 0, 0 => 0
| 0, 1 => -(magneticField c A t x).ofLp 2
| 0, 2 => (magneticField c A t x).ofLp 1
| 1, 0 => (magneticField c A t x).ofLp 2
| 1, 1 => 0
| 1, 2 => -(magneticField c A t x).ofLp 0
| 2, 0 => -(magneticField c A t x).ofLp 1
| 2, 1 => (magneticField c A t x).ofLp 0
| 2, 2 => 0«2» c:SpeedOfLightA:ElectromagneticPotentialt:Timex:SpacehA:Differentiable ℝ (A.val 3)μ:Fin 1 ⊕ Fin 3ν:Fin 1 ⊕ Fin 3j:Fin 3⊢ (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x))) (Sum.inr ((fun i => i) ⟨2, ⋯⟩), Sum.inr j) =
match Sum.inr ((fun i => i) ⟨2, ⋯⟩), Sum.inr j with
| Sum.inl 0, Sum.inl 0 => 0
| Sum.inl 0, Sum.inr i => -(electricField c A t x).ofLp i / c.val
| Sum.inr i, Sum.inl 0 => (electricField c A t x).ofLp i / c.val
| Sum.inr i, Sum.inr j =>
match i, j with
| 0, 0 => 0
| 0, 1 => -(magneticField c A t x).ofLp 2
| 0, 2 => (magneticField c A t x).ofLp 1
| 1, 0 => (magneticField c A t x).ofLp 2
| 1, 1 => 0
| 1, 2 => -(magneticField c A t x).ofLp 0
| 2, 0 => -(magneticField c A t x).ofLp 1
| 2, 1 => (magneticField c A t x).ofLp 0
| 2, 2 => 0 <;> «0» c:SpeedOfLightA:ElectromagneticPotentialt:Timex:SpacehA:Differentiable ℝ (A.val 3)μ:Fin 1 ⊕ Fin 3ν:Fin 1 ⊕ Fin 3j:Fin 3⊢ (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x))) (Sum.inr ((fun i => i) ⟨0, ⋯⟩), Sum.inr j) =
match Sum.inr ((fun i => i) ⟨0, ⋯⟩), Sum.inr j with
| Sum.inl 0, Sum.inl 0 => 0
| Sum.inl 0, Sum.inr i => -(electricField c A t x).ofLp i / c.val
| Sum.inr i, Sum.inl 0 => (electricField c A t x).ofLp i / c.val
| Sum.inr i, Sum.inr j =>
match i, j with
| 0, 0 => 0
| 0, 1 => -(magneticField c A t x).ofLp 2
| 0, 2 => (magneticField c A t x).ofLp 1
| 1, 0 => (magneticField c A t x).ofLp 2
| 1, 1 => 0
| 1, 2 => -(magneticField c A t x).ofLp 0
| 2, 0 => -(magneticField c A t x).ofLp 1
| 2, 1 => (magneticField c A t x).ofLp 0
| 2, 2 => 0«1» c:SpeedOfLightA:ElectromagneticPotentialt:Timex:SpacehA:Differentiable ℝ (A.val 3)μ:Fin 1 ⊕ Fin 3ν:Fin 1 ⊕ Fin 3j:Fin 3⊢ (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x))) (Sum.inr ((fun i => i) ⟨1, ⋯⟩), Sum.inr j) =
match Sum.inr ((fun i => i) ⟨1, ⋯⟩), Sum.inr j with
| Sum.inl 0, Sum.inl 0 => 0
| Sum.inl 0, Sum.inr i => -(electricField c A t x).ofLp i / c.val
| Sum.inr i, Sum.inl 0 => (electricField c A t x).ofLp i / c.val
| Sum.inr i, Sum.inr j =>
match i, j with
| 0, 0 => 0
| 0, 1 => -(magneticField c A t x).ofLp 2
| 0, 2 => (magneticField c A t x).ofLp 1
| 1, 0 => (magneticField c A t x).ofLp 2
| 1, 1 => 0
| 1, 2 => -(magneticField c A t x).ofLp 0
| 2, 0 => -(magneticField c A t x).ofLp 1
| 2, 1 => (magneticField c A t x).ofLp 0
| 2, 2 => 0«2» c:SpeedOfLightA:ElectromagneticPotentialt:Timex:SpacehA:Differentiable ℝ (A.val 3)μ:Fin 1 ⊕ Fin 3ν:Fin 1 ⊕ Fin 3j:Fin 3⊢ (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x))) (Sum.inr ((fun i => i) ⟨2, ⋯⟩), Sum.inr j) =
match Sum.inr ((fun i => i) ⟨2, ⋯⟩), Sum.inr j with
| Sum.inl 0, Sum.inl 0 => 0
| Sum.inl 0, Sum.inr i => -(electricField c A t x).ofLp i / c.val
| Sum.inr i, Sum.inl 0 => (electricField c A t x).ofLp i / c.val
| Sum.inr i, Sum.inr j =>
match i, j with
| 0, 0 => 0
| 0, 1 => -(magneticField c A t x).ofLp 2
| 0, 2 => (magneticField c A t x).ofLp 1
| 1, 0 => (magneticField c A t x).ofLp 2
| 1, 1 => 0
| 1, 2 => -(magneticField c A t x).ofLp 0
| 2, 0 => -(magneticField c A t x).ofLp 1
| 2, 1 => (magneticField c A t x).ofLp 0
| 2, 2 => 0 fin_cases j «2».«0» c:SpeedOfLightA:ElectromagneticPotentialt:Timex:SpacehA:Differentiable ℝ (A.val 3)μ:Fin 1 ⊕ Fin 3ν:Fin 1 ⊕ Fin 3⊢ (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x)))
(Sum.inr ((fun i => i) ⟨2, ⋯⟩), Sum.inr ((fun i => i) ⟨0, ⋯⟩)) =
match Sum.inr ((fun i => i) ⟨2, ⋯⟩), Sum.inr ((fun i => i) ⟨0, ⋯⟩) with
| Sum.inl 0, Sum.inl 0 => 0
| Sum.inl 0, Sum.inr i => -(electricField c A t x).ofLp i / c.val
| Sum.inr i, Sum.inl 0 => (electricField c A t x).ofLp i / c.val
| Sum.inr i, Sum.inr j =>
match i, j with
| 0, 0 => 0
| 0, 1 => -(magneticField c A t x).ofLp 2
| 0, 2 => (magneticField c A t x).ofLp 1
| 1, 0 => (magneticField c A t x).ofLp 2
| 1, 1 => 0
| 1, 2 => -(magneticField c A t x).ofLp 0
| 2, 0 => -(magneticField c A t x).ofLp 1
| 2, 1 => (magneticField c A t x).ofLp 0
| 2, 2 => 0«2».«1» c:SpeedOfLightA:ElectromagneticPotentialt:Timex:SpacehA:Differentiable ℝ (A.val 3)μ:Fin 1 ⊕ Fin 3ν:Fin 1 ⊕ Fin 3⊢ (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x)))
(Sum.inr ((fun i => i) ⟨2, ⋯⟩), Sum.inr ((fun i => i) ⟨1, ⋯⟩)) =
match Sum.inr ((fun i => i) ⟨2, ⋯⟩), Sum.inr ((fun i => i) ⟨1, ⋯⟩) with
| Sum.inl 0, Sum.inl 0 => 0
| Sum.inl 0, Sum.inr i => -(electricField c A t x).ofLp i / c.val
| Sum.inr i, Sum.inl 0 => (electricField c A t x).ofLp i / c.val
| Sum.inr i, Sum.inr j =>
match i, j with
| 0, 0 => 0
| 0, 1 => -(magneticField c A t x).ofLp 2
| 0, 2 => (magneticField c A t x).ofLp 1
| 1, 0 => (magneticField c A t x).ofLp 2
| 1, 1 => 0
| 1, 2 => -(magneticField c A t x).ofLp 0
| 2, 0 => -(magneticField c A t x).ofLp 1
| 2, 1 => (magneticField c A t x).ofLp 0
| 2, 2 => 0«2».«2» c:SpeedOfLightA:ElectromagneticPotentialt:Timex:SpacehA:Differentiable ℝ (A.val 3)μ:Fin 1 ⊕ Fin 3ν:Fin 1 ⊕ Fin 3⊢ (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x)))
(Sum.inr ((fun i => i) ⟨2, ⋯⟩), Sum.inr ((fun i => i) ⟨2, ⋯⟩)) =
match Sum.inr ((fun i => i) ⟨2, ⋯⟩), Sum.inr ((fun i => i) ⟨2, ⋯⟩) with
| Sum.inl 0, Sum.inl 0 => 0
| Sum.inl 0, Sum.inr i => -(electricField c A t x).ofLp i / c.val
| Sum.inr i, Sum.inl 0 => (electricField c A t x).ofLp i / c.val
| Sum.inr i, Sum.inr j =>
match i, j with
| 0, 0 => 0
| 0, 1 => -(magneticField c A t x).ofLp 2
| 0, 2 => (magneticField c A t x).ofLp 1
| 1, 0 => (magneticField c A t x).ofLp 2
| 1, 1 => 0
| 1, 2 => -(magneticField c A t x).ofLp 0
| 2, 0 => -(magneticField c A t x).ofLp 1
| 2, 1 => (magneticField c A t x).ofLp 0
| 2, 2 => 0 <;> «0».«0» c:SpeedOfLightA:ElectromagneticPotentialt:Timex:SpacehA:Differentiable ℝ (A.val 3)μ:Fin 1 ⊕ Fin 3ν:Fin 1 ⊕ Fin 3⊢ (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x)))
(Sum.inr ((fun i => i) ⟨0, ⋯⟩), Sum.inr ((fun i => i) ⟨0, ⋯⟩)) =
match Sum.inr ((fun i => i) ⟨0, ⋯⟩), Sum.inr ((fun i => i) ⟨0, ⋯⟩) with
| Sum.inl 0, Sum.inl 0 => 0
| Sum.inl 0, Sum.inr i => -(electricField c A t x).ofLp i / c.val
| Sum.inr i, Sum.inl 0 => (electricField c A t x).ofLp i / c.val
| Sum.inr i, Sum.inr j =>
match i, j with
| 0, 0 => 0
| 0, 1 => -(magneticField c A t x).ofLp 2
| 0, 2 => (magneticField c A t x).ofLp 1
| 1, 0 => (magneticField c A t x).ofLp 2
| 1, 1 => 0
| 1, 2 => -(magneticField c A t x).ofLp 0
| 2, 0 => -(magneticField c A t x).ofLp 1
| 2, 1 => (magneticField c A t x).ofLp 0
| 2, 2 => 0«0».«1» c:SpeedOfLightA:ElectromagneticPotentialt:Timex:SpacehA:Differentiable ℝ (A.val 3)μ:Fin 1 ⊕ Fin 3ν:Fin 1 ⊕ Fin 3⊢ (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x)))
(Sum.inr ((fun i => i) ⟨0, ⋯⟩), Sum.inr ((fun i => i) ⟨1, ⋯⟩)) =
match Sum.inr ((fun i => i) ⟨0, ⋯⟩), Sum.inr ((fun i => i) ⟨1, ⋯⟩) with
| Sum.inl 0, Sum.inl 0 => 0
| Sum.inl 0, Sum.inr i => -(electricField c A t x).ofLp i / c.val
| Sum.inr i, Sum.inl 0 => (electricField c A t x).ofLp i / c.val
| Sum.inr i, Sum.inr j =>
match i, j with
| 0, 0 => 0
| 0, 1 => -(magneticField c A t x).ofLp 2
| 0, 2 => (magneticField c A t x).ofLp 1
| 1, 0 => (magneticField c A t x).ofLp 2
| 1, 1 => 0
| 1, 2 => -(magneticField c A t x).ofLp 0
| 2, 0 => -(magneticField c A t x).ofLp 1
| 2, 1 => (magneticField c A t x).ofLp 0
| 2, 2 => 0«0».«2» c:SpeedOfLightA:ElectromagneticPotentialt:Timex:SpacehA:Differentiable ℝ (A.val 3)μ:Fin 1 ⊕ Fin 3ν:Fin 1 ⊕ Fin 3⊢ (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x)))
(Sum.inr ((fun i => i) ⟨0, ⋯⟩), Sum.inr ((fun i => i) ⟨2, ⋯⟩)) =
match Sum.inr ((fun i => i) ⟨0, ⋯⟩), Sum.inr ((fun i => i) ⟨2, ⋯⟩) with
| Sum.inl 0, Sum.inl 0 => 0
| Sum.inl 0, Sum.inr i => -(electricField c A t x).ofLp i / c.val
| Sum.inr i, Sum.inl 0 => (electricField c A t x).ofLp i / c.val
| Sum.inr i, Sum.inr j =>
match i, j with
| 0, 0 => 0
| 0, 1 => -(magneticField c A t x).ofLp 2
| 0, 2 => (magneticField c A t x).ofLp 1
| 1, 0 => (magneticField c A t x).ofLp 2
| 1, 1 => 0
| 1, 2 => -(magneticField c A t x).ofLp 0
| 2, 0 => -(magneticField c A t x).ofLp 1
| 2, 1 => (magneticField c A t x).ofLp 0
| 2, 2 => 0«1».«0» c:SpeedOfLightA:ElectromagneticPotentialt:Timex:SpacehA:Differentiable ℝ (A.val 3)μ:Fin 1 ⊕ Fin 3ν:Fin 1 ⊕ Fin 3⊢ (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x)))
(Sum.inr ((fun i => i) ⟨1, ⋯⟩), Sum.inr ((fun i => i) ⟨0, ⋯⟩)) =
match Sum.inr ((fun i => i) ⟨1, ⋯⟩), Sum.inr ((fun i => i) ⟨0, ⋯⟩) with
| Sum.inl 0, Sum.inl 0 => 0
| Sum.inl 0, Sum.inr i => -(electricField c A t x).ofLp i / c.val
| Sum.inr i, Sum.inl 0 => (electricField c A t x).ofLp i / c.val
| Sum.inr i, Sum.inr j =>
match i, j with
| 0, 0 => 0
| 0, 1 => -(magneticField c A t x).ofLp 2
| 0, 2 => (magneticField c A t x).ofLp 1
| 1, 0 => (magneticField c A t x).ofLp 2
| 1, 1 => 0
| 1, 2 => -(magneticField c A t x).ofLp 0
| 2, 0 => -(magneticField c A t x).ofLp 1
| 2, 1 => (magneticField c A t x).ofLp 0
| 2, 2 => 0«1».«1» c:SpeedOfLightA:ElectromagneticPotentialt:Timex:SpacehA:Differentiable ℝ (A.val 3)μ:Fin 1 ⊕ Fin 3ν:Fin 1 ⊕ Fin 3⊢ (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x)))
(Sum.inr ((fun i => i) ⟨1, ⋯⟩), Sum.inr ((fun i => i) ⟨1, ⋯⟩)) =
match Sum.inr ((fun i => i) ⟨1, ⋯⟩), Sum.inr ((fun i => i) ⟨1, ⋯⟩) with
| Sum.inl 0, Sum.inl 0 => 0
| Sum.inl 0, Sum.inr i => -(electricField c A t x).ofLp i / c.val
| Sum.inr i, Sum.inl 0 => (electricField c A t x).ofLp i / c.val
| Sum.inr i, Sum.inr j =>
match i, j with
| 0, 0 => 0
| 0, 1 => -(magneticField c A t x).ofLp 2
| 0, 2 => (magneticField c A t x).ofLp 1
| 1, 0 => (magneticField c A t x).ofLp 2
| 1, 1 => 0
| 1, 2 => -(magneticField c A t x).ofLp 0
| 2, 0 => -(magneticField c A t x).ofLp 1
| 2, 1 => (magneticField c A t x).ofLp 0
| 2, 2 => 0«1».«2» c:SpeedOfLightA:ElectromagneticPotentialt:Timex:SpacehA:Differentiable ℝ (A.val 3)μ:Fin 1 ⊕ Fin 3ν:Fin 1 ⊕ Fin 3⊢ (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x)))
(Sum.inr ((fun i => i) ⟨1, ⋯⟩), Sum.inr ((fun i => i) ⟨2, ⋯⟩)) =
match Sum.inr ((fun i => i) ⟨1, ⋯⟩), Sum.inr ((fun i => i) ⟨2, ⋯⟩) with
| Sum.inl 0, Sum.inl 0 => 0
| Sum.inl 0, Sum.inr i => -(electricField c A t x).ofLp i / c.val
| Sum.inr i, Sum.inl 0 => (electricField c A t x).ofLp i / c.val
| Sum.inr i, Sum.inr j =>
match i, j with
| 0, 0 => 0
| 0, 1 => -(magneticField c A t x).ofLp 2
| 0, 2 => (magneticField c A t x).ofLp 1
| 1, 0 => (magneticField c A t x).ofLp 2
| 1, 1 => 0
| 1, 2 => -(magneticField c A t x).ofLp 0
| 2, 0 => -(magneticField c A t x).ofLp 1
| 2, 1 => (magneticField c A t x).ofLp 0
| 2, 2 => 0«2».«0» c:SpeedOfLightA:ElectromagneticPotentialt:Timex:SpacehA:Differentiable ℝ (A.val 3)μ:Fin 1 ⊕ Fin 3ν:Fin 1 ⊕ Fin 3⊢ (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x)))
(Sum.inr ((fun i => i) ⟨2, ⋯⟩), Sum.inr ((fun i => i) ⟨0, ⋯⟩)) =
match Sum.inr ((fun i => i) ⟨2, ⋯⟩), Sum.inr ((fun i => i) ⟨0, ⋯⟩) with
| Sum.inl 0, Sum.inl 0 => 0
| Sum.inl 0, Sum.inr i => -(electricField c A t x).ofLp i / c.val
| Sum.inr i, Sum.inl 0 => (electricField c A t x).ofLp i / c.val
| Sum.inr i, Sum.inr j =>
match i, j with
| 0, 0 => 0
| 0, 1 => -(magneticField c A t x).ofLp 2
| 0, 2 => (magneticField c A t x).ofLp 1
| 1, 0 => (magneticField c A t x).ofLp 2
| 1, 1 => 0
| 1, 2 => -(magneticField c A t x).ofLp 0
| 2, 0 => -(magneticField c A t x).ofLp 1
| 2, 1 => (magneticField c A t x).ofLp 0
| 2, 2 => 0«2».«1» c:SpeedOfLightA:ElectromagneticPotentialt:Timex:SpacehA:Differentiable ℝ (A.val 3)μ:Fin 1 ⊕ Fin 3ν:Fin 1 ⊕ Fin 3⊢ (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x)))
(Sum.inr ((fun i => i) ⟨2, ⋯⟩), Sum.inr ((fun i => i) ⟨1, ⋯⟩)) =
match Sum.inr ((fun i => i) ⟨2, ⋯⟩), Sum.inr ((fun i => i) ⟨1, ⋯⟩) with
| Sum.inl 0, Sum.inl 0 => 0
| Sum.inl 0, Sum.inr i => -(electricField c A t x).ofLp i / c.val
| Sum.inr i, Sum.inl 0 => (electricField c A t x).ofLp i / c.val
| Sum.inr i, Sum.inr j =>
match i, j with
| 0, 0 => 0
| 0, 1 => -(magneticField c A t x).ofLp 2
| 0, 2 => (magneticField c A t x).ofLp 1
| 1, 0 => (magneticField c A t x).ofLp 2
| 1, 1 => 0
| 1, 2 => -(magneticField c A t x).ofLp 0
| 2, 0 => -(magneticField c A t x).ofLp 1
| 2, 1 => (magneticField c A t x).ofLp 0
| 2, 2 => 0«2».«2» c:SpeedOfLightA:ElectromagneticPotentialt:Timex:SpacehA:Differentiable ℝ (A.val 3)μ:Fin 1 ⊕ Fin 3ν:Fin 1 ⊕ Fin 3⊢ (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x)))
(Sum.inr ((fun i => i) ⟨2, ⋯⟩), Sum.inr ((fun i => i) ⟨2, ⋯⟩)) =
match Sum.inr ((fun i => i) ⟨2, ⋯⟩), Sum.inr ((fun i => i) ⟨2, ⋯⟩) with
| Sum.inl 0, Sum.inl 0 => 0
| Sum.inl 0, Sum.inr i => -(electricField c A t x).ofLp i / c.val
| Sum.inr i, Sum.inl 0 => (electricField c A t x).ofLp i / c.val
| Sum.inr i, Sum.inr j =>
match i, j with
| 0, 0 => 0
| 0, 1 => -(magneticField c A t x).ofLp 2
| 0, 2 => (magneticField c A t x).ofLp 1
| 1, 0 => (magneticField c A t x).ofLp 2
| 1, 1 => 0
| 1, 2 => -(magneticField c A t x).ofLp 0
| 2, 0 => -(magneticField c A t x).ofLp 1
| 2, 1 => (magneticField c A t x).ofLp 0
| 2, 2 => 0
simp [magneticField_coord_eq_fieldStrengthMatrix A t x hA] All goals completed! 🐙
repeat rw [fieldStrengthMatrix_antisymm «0».«2» c:SpeedOfLightA:ElectromagneticPotentialt:Timex:SpacehA:Differentiable ℝ (A.val 3)μ:Fin 1 ⊕ Fin 3ν:Fin 1 ⊕ Fin 3⊢ -(A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x))) (Sum.inr 2, Sum.inr 0) =
-(A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x))) (Sum.inr 2, Sum.inr 0)«1».«0» c:SpeedOfLightA:ElectromagneticPotentialt:Timex:SpacehA:Differentiable ℝ (A.val 3)μ:Fin 1 ⊕ Fin 3ν:Fin 1 ⊕ Fin 3⊢ (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x))) (Sum.inr 1, Sum.inr 0) =
-(A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x))) (Sum.inr 0, Sum.inr 1)«2».«1» c:SpeedOfLightA:ElectromagneticPotentialt:Timex:SpacehA:Differentiable ℝ (A.val 3)μ:Fin 1 ⊕ Fin 3ν:Fin 1 ⊕ Fin 3⊢ (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x))) (Sum.inr 2, Sum.inr 1) =
-(A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x))) (Sum.inr 1, Sum.inr 2) All goals completed! 🐙] All goals completed! 🐙
lemma fieldStrengthMatrix_eq_electric_magnetic_of_spaceTime (c : SpeedOfLight)
(A : ElectromagneticPotential)
(x : SpaceTime) (hA : Differentiable ℝ A) (μ ν : Fin 1 ⊕ Fin 3) :
let tx := SpaceTime.toTimeAndSpace c x
A.fieldStrengthMatrix x (μ, ν) =
match μ, ν with
| Sum.inl 0, Sum.inl 0 => 0
| Sum.inl 0, Sum.inr i => - A.electricField c tx.1 tx.2 i / c
| Sum.inr i, Sum.inl 0 => A.electricField c tx.1 tx.2 i / c
| Sum.inr i, Sum.inr j =>
match i, j with
| 0, 0 => 0
| 0, 1 => - A.magneticField c tx.1 tx.2 2
| 0, 2 => A.magneticField c tx.1 tx.2 1
| 1, 0 => A.magneticField c tx.1 tx.2 2
| 1, 1 => 0
| 1, 2 => - A.magneticField c tx.1 tx.2 0
| 2, 0 => - A.magneticField c tx.1 tx.2 1
| 2, 1 => A.magneticField c tx.1 tx.2 0
| 2, 2 => 0 := by c:SpeedOfLightA:ElectromagneticPotentialx:SpaceTimehA:Differentiable ℝ (A.val 3)μ:Fin 1 ⊕ Fin 3ν:Fin 1 ⊕ Fin 3⊢ let tx := (toTimeAndSpace c) x;
(A.fieldStrengthMatrix x) (μ, ν) =
match μ, ν with
| Sum.inl 0, Sum.inl 0 => 0
| Sum.inl 0, Sum.inr i => -(electricField c A tx.1 tx.2).ofLp i / c.val
| Sum.inr i, Sum.inl 0 => (electricField c A tx.1 tx.2).ofLp i / c.val
| Sum.inr i, Sum.inr j =>
match i, j with
| 0, 0 => 0
| 0, 1 => -(magneticField c A tx.1 tx.2).ofLp 2
| 0, 2 => (magneticField c A tx.1 tx.2).ofLp 1
| 1, 0 => (magneticField c A tx.1 tx.2).ofLp 2
| 1, 1 => 0
| 1, 2 => -(magneticField c A tx.1 tx.2).ofLp 0
| 2, 0 => -(magneticField c A tx.1 tx.2).ofLp 1
| 2, 1 => (magneticField c A tx.1 tx.2).ofLp 0
| 2, 2 => 0
dsimp c:SpeedOfLightA:ElectromagneticPotentialx:SpaceTimehA:Differentiable ℝ (A.val 3)μ:Fin 1 ⊕ Fin 3ν:Fin 1 ⊕ Fin 3⊢ (A.fieldStrengthMatrix x) (μ, ν) =
match μ, ν with
| Sum.inl 0, Sum.inl 0 => 0
| Sum.inl 0, Sum.inr i => -(electricField c A ((toTimeAndSpace c) x).1 ((toTimeAndSpace c) x).2).ofLp i / c.val
| Sum.inr i, Sum.inl 0 => (electricField c A ((toTimeAndSpace c) x).1 ((toTimeAndSpace c) x).2).ofLp i / c.val
| Sum.inr i, Sum.inr j =>
match i, j with
| 0, 0 => 0
| 0, 1 => -(magneticField c A ((toTimeAndSpace c) x).1 ((toTimeAndSpace c) x).2).ofLp 2
| 0, 2 => (magneticField c A ((toTimeAndSpace c) x).1 ((toTimeAndSpace c) x).2).ofLp 1
| 1, 0 => (magneticField c A ((toTimeAndSpace c) x).1 ((toTimeAndSpace c) x).2).ofLp 2
| 1, 1 => 0
| 1, 2 => -(magneticField c A ((toTimeAndSpace c) x).1 ((toTimeAndSpace c) x).2).ofLp 0
| 2, 0 => -(magneticField c A ((toTimeAndSpace c) x).1 ((toTimeAndSpace c) x).2).ofLp 1
| 2, 1 => (magneticField c A ((toTimeAndSpace c) x).1 ((toTimeAndSpace c) x).2).ofLp 0
| 2, 2 => 0
rw [← fieldStrengthMatrix_eq_electric_magnetic A c:SpeedOfLightA:ElectromagneticPotentialx:SpaceTimehA:Differentiable ℝ (A.val 3)μ:Fin 1 ⊕ Fin 3ν:Fin 1 ⊕ Fin 3⊢ (A.fieldStrengthMatrix x) (μ, ν) =
(A.fieldStrengthMatrix ((toTimeAndSpace c).symm (((toTimeAndSpace c) x).1, ((toTimeAndSpace c) x).2))) (μ, ν)hA c:SpeedOfLightA:ElectromagneticPotentialx:SpaceTimehA:Differentiable ℝ (A.val 3)μ:Fin 1 ⊕ Fin 3ν:Fin 1 ⊕ Fin 3⊢ Differentiable ℝ (A.val 3) c:SpeedOfLightA:ElectromagneticPotentialx:SpaceTimehA:Differentiable ℝ (A.val 3)μ:Fin 1 ⊕ Fin 3ν:Fin 1 ⊕ Fin 3⊢ (A.fieldStrengthMatrix x) (μ, ν) =
(A.fieldStrengthMatrix ((toTimeAndSpace c).symm (((toTimeAndSpace c) x).1, ((toTimeAndSpace c) x).2))) (μ, ν)hA c:SpeedOfLightA:ElectromagneticPotentialx:SpaceTimehA:Differentiable ℝ (A.val 3)μ:Fin 1 ⊕ Fin 3ν:Fin 1 ⊕ Fin 3⊢ Differentiable ℝ (A.val 3)] c:SpeedOfLightA:ElectromagneticPotentialx:SpaceTimehA:Differentiable ℝ (A.val 3)μ:Fin 1 ⊕ Fin 3ν:Fin 1 ⊕ Fin 3⊢ (A.fieldStrengthMatrix x) (μ, ν) =
(A.fieldStrengthMatrix ((toTimeAndSpace c).symm (((toTimeAndSpace c) x).1, ((toTimeAndSpace c) x).2))) (μ, ν)hA c:SpeedOfLightA:ElectromagneticPotentialx:SpaceTimehA:Differentiable ℝ (A.val 3)μ:Fin 1 ⊕ Fin 3ν:Fin 1 ⊕ Fin 3⊢ Differentiable ℝ (A.val 3)
simp only [Prod.mk.eta, ContinuousLinearEquiv.symm_apply_apply] hA c:SpeedOfLightA:ElectromagneticPotentialx:SpaceTimehA:Differentiable ℝ (A.val 3)μ:Fin 1 ⊕ Fin 3ν:Fin 1 ⊕ Fin 3⊢ Differentiable ℝ (A.val 3)
exact hA All goals completed! 🐙C. Magnetic field matrix
lemma magneticFieldMatrix_eq {c : SpeedOfLight} (A : ElectromagneticPotential d) :
A.magneticFieldMatrix c = fun t x ij =>
A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x)) (Sum.inr ij.1, Sum.inr ij.2) := rfllemma fieldStrengthMatrix_inr_inr_eq_magneticFieldMatrix {c : SpeedOfLight}
(A : ElectromagneticPotential d)
(x : SpaceTime d) (i j : Fin d) :
A.fieldStrengthMatrix x (Sum.inr i, Sum.inr j) =
A.magneticFieldMatrix c (x.time c) x.space (i, j) := by d:ℕc:SpeedOfLightA:ElectromagneticPotential dx:SpaceTime di:Fin dj:Fin d⊢ (A.fieldStrengthMatrix x) (Sum.inr i, Sum.inr j) = magneticFieldMatrix c A ((time c) x) (space x) (i, j)
simp [magneticFieldMatrix_eq] All goals completed! 🐙C.1. Antisymmetry of the magnetic field matrix
lemma magneticFieldMatrix_antisymm {c : SpeedOfLight}
(A : ElectromagneticPotential d) (t : Time)
(x : Space d) (i j : Fin d) :
A.magneticFieldMatrix c t x (i, j) = - A.magneticFieldMatrix c t x (j, i) :=
fieldStrengthMatrix_antisymm A ((toTimeAndSpace c).symm (t, x)) (Sum.inr i) (Sum.inr j)@[simp]
lemma magneticFieldMatrix_diag_eq_zero {c : SpeedOfLight}
(A : ElectromagneticPotential d) (t : Time)
(x : Space d) (i : Fin d) :
A.magneticFieldMatrix c t x (i, i) = 0 :=
fieldStrengthMatrix_diag_eq_zero A ((toTimeAndSpace c).symm (t, x)) (Sum.inr i)C.2. Magnetic field in terms of the magnetic field matrix
lemma magneticField_eq_magneticFieldMatrix {c : SpeedOfLight} (A : ElectromagneticPotential)
(hA : Differentiable ℝ A) :
A.magneticField c = fun t x => WithLp.toLp 2 fun i =>
- A.magneticFieldMatrix c t x ((i+1), (i+2)) := by c:SpeedOfLightA:ElectromagneticPotentialhA:Differentiable ℝ (A.val 3)⊢ magneticField c A = fun t x => WithLp.toLp 2 fun i => -magneticFieldMatrix c A t x (i + 1, i + 2)
ext t x c:SpeedOfLightA:ElectromagneticPotentialhA:Differentiable ℝ (A.val 3)t:Timex:Spacei✝:Fin 3⊢ (magneticField c A t x).ofLp i✝ = (WithLp.toLp 2 fun i => -magneticFieldMatrix c A t x (i + 1, i + 2)).ofLp i✝
simp [magneticFieldMatrix_eq, magneticField_coord_eq_fieldStrengthMatrix A t x hA] All goals completed! 🐙
lemma magneticField_curl_eq_magneticFieldMatrix{c : SpeedOfLight} (A : ElectromagneticPotential)
(hA : ContDiff ℝ 2 A) (t : Time) :
(∇ ⨯ A.magneticField c t) x i = ∑ j, Space.deriv j (A.magneticFieldMatrix c t · (j, i)) x:= by x:Spacei:Fin 3c:SpeedOfLightA:ElectromagneticPotentialhA:ContDiff ℝ 2 (A.val 3)t:Time⊢ (curl (magneticField c A t) x).ofLp i = ∑ j, Space.deriv j (fun x => magneticFieldMatrix c A t x (j, i)) x
rw [magneticField_eq_magneticFieldMatrix A (hA.differentiable (by x:Spacei:Fin 3c:SpeedOfLightA:ElectromagneticPotentialhA:ContDiff ℝ 2 (A.val 3)t:Time⊢ 2 ≠ 0 x:Spacei:Fin 3c:SpeedOfLightA:ElectromagneticPotentialhA:ContDiff ℝ 2 (A.val 3)t:Time⊢ (curl ((fun t x => WithLp.toLp 2 fun i => -magneticFieldMatrix c A t x (i + 1, i + 2)) t) x).ofLp i =
∑ j, Space.deriv j (fun x => magneticFieldMatrix c A t x (j, i)) x simp All goals completed! 🐙 x:Spacei:Fin 3c:SpeedOfLightA:ElectromagneticPotentialhA:ContDiff ℝ 2 (A.val 3)t:Time⊢ (curl ((fun t x => WithLp.toLp 2 fun i => -magneticFieldMatrix c A t x (i + 1, i + 2)) t) x).ofLp i =
∑ j, Space.deriv j (fun x => magneticFieldMatrix c A t x (j, i)) x))] x:Spacei:Fin 3c:SpeedOfLightA:ElectromagneticPotentialhA:ContDiff ℝ 2 (A.val 3)t:Time⊢ (curl ((fun t x => WithLp.toLp 2 fun i => -magneticFieldMatrix c A t x (i + 1, i + 2)) t) x).ofLp i =
∑ j, Space.deriv j (fun x => magneticFieldMatrix c A t x (j, i)) x
simp only [curl, Fin.isValue, deriv_eq_fderiv_basis, fderiv_fun_neg,
_root_.neg_apply, sub_neg_eq_add, Fin.sum_univ_three] x:Spacei:Fin 3c:SpeedOfLightA:ElectromagneticPotentialhA:ContDiff ℝ 2 (A.val 3)t:Time⊢ -(fderiv ℝ (fun y => magneticFieldMatrix c A t y (i + 2 + 1, i + 2 + 2)) x) (Space.basis (i + 1)) +
(fderiv ℝ (fun y => magneticFieldMatrix c A t y (i + 1 + 1, i + 1 + 2)) x) (Space.basis (i + 2)) =
(fderiv ℝ (fun x => magneticFieldMatrix c A t x (0, i)) x) (Space.basis 0) +
(fderiv ℝ (fun x => magneticFieldMatrix c A t x (1, i)) x) (Space.basis 1) +
(fderiv ℝ (fun x => magneticFieldMatrix c A t x (2, i)) x) (Space.basis 2)
fin_cases i «0» x:Spacec:SpeedOfLightA:ElectromagneticPotentialhA:ContDiff ℝ 2 (A.val 3)t:Time⊢ -(fderiv ℝ (fun y => magneticFieldMatrix c A t y ((fun i => i) ⟨0, ⋯⟩ + 2 + 1, (fun i => i) ⟨0, ⋯⟩ + 2 + 2)) x)
(Space.basis ((fun i => i) ⟨0, ⋯⟩ + 1)) +
(fderiv ℝ (fun y => magneticFieldMatrix c A t y ((fun i => i) ⟨0, ⋯⟩ + 1 + 1, (fun i => i) ⟨0, ⋯⟩ + 1 + 2)) x)
(Space.basis ((fun i => i) ⟨0, ⋯⟩ + 2)) =
(fderiv ℝ (fun x => magneticFieldMatrix c A t x (0, (fun i => i) ⟨0, ⋯⟩)) x) (Space.basis 0) +
(fderiv ℝ (fun x => magneticFieldMatrix c A t x (1, (fun i => i) ⟨0, ⋯⟩)) x) (Space.basis 1) +
(fderiv ℝ (fun x => magneticFieldMatrix c A t x (2, (fun i => i) ⟨0, ⋯⟩)) x) (Space.basis 2)«1» x:Spacec:SpeedOfLightA:ElectromagneticPotentialhA:ContDiff ℝ 2 (A.val 3)t:Time⊢ -(fderiv ℝ (fun y => magneticFieldMatrix c A t y ((fun i => i) ⟨1, ⋯⟩ + 2 + 1, (fun i => i) ⟨1, ⋯⟩ + 2 + 2)) x)
(Space.basis ((fun i => i) ⟨1, ⋯⟩ + 1)) +
(fderiv ℝ (fun y => magneticFieldMatrix c A t y ((fun i => i) ⟨1, ⋯⟩ + 1 + 1, (fun i => i) ⟨1, ⋯⟩ + 1 + 2)) x)
(Space.basis ((fun i => i) ⟨1, ⋯⟩ + 2)) =
(fderiv ℝ (fun x => magneticFieldMatrix c A t x (0, (fun i => i) ⟨1, ⋯⟩)) x) (Space.basis 0) +
(fderiv ℝ (fun x => magneticFieldMatrix c A t x (1, (fun i => i) ⟨1, ⋯⟩)) x) (Space.basis 1) +
(fderiv ℝ (fun x => magneticFieldMatrix c A t x (2, (fun i => i) ⟨1, ⋯⟩)) x) (Space.basis 2)«2» x:Spacec:SpeedOfLightA:ElectromagneticPotentialhA:ContDiff ℝ 2 (A.val 3)t:Time⊢ -(fderiv ℝ (fun y => magneticFieldMatrix c A t y ((fun i => i) ⟨2, ⋯⟩ + 2 + 1, (fun i => i) ⟨2, ⋯⟩ + 2 + 2)) x)
(Space.basis ((fun i => i) ⟨2, ⋯⟩ + 1)) +
(fderiv ℝ (fun y => magneticFieldMatrix c A t y ((fun i => i) ⟨2, ⋯⟩ + 1 + 1, (fun i => i) ⟨2, ⋯⟩ + 1 + 2)) x)
(Space.basis ((fun i => i) ⟨2, ⋯⟩ + 2)) =
(fderiv ℝ (fun x => magneticFieldMatrix c A t x (0, (fun i => i) ⟨2, ⋯⟩)) x) (Space.basis 0) +
(fderiv ℝ (fun x => magneticFieldMatrix c A t x (1, (fun i => i) ⟨2, ⋯⟩)) x) (Space.basis 1) +
(fderiv ℝ (fun x => magneticFieldMatrix c A t x (2, (fun i => i) ⟨2, ⋯⟩)) x) (Space.basis 2) <;> «0» x:Spacec:SpeedOfLightA:ElectromagneticPotentialhA:ContDiff ℝ 2 (A.val 3)t:Time⊢ -(fderiv ℝ (fun y => magneticFieldMatrix c A t y ((fun i => i) ⟨0, ⋯⟩ + 2 + 1, (fun i => i) ⟨0, ⋯⟩ + 2 + 2)) x)
(Space.basis ((fun i => i) ⟨0, ⋯⟩ + 1)) +
(fderiv ℝ (fun y => magneticFieldMatrix c A t y ((fun i => i) ⟨0, ⋯⟩ + 1 + 1, (fun i => i) ⟨0, ⋯⟩ + 1 + 2)) x)
(Space.basis ((fun i => i) ⟨0, ⋯⟩ + 2)) =
(fderiv ℝ (fun x => magneticFieldMatrix c A t x (0, (fun i => i) ⟨0, ⋯⟩)) x) (Space.basis 0) +
(fderiv ℝ (fun x => magneticFieldMatrix c A t x (1, (fun i => i) ⟨0, ⋯⟩)) x) (Space.basis 1) +
(fderiv ℝ (fun x => magneticFieldMatrix c A t x (2, (fun i => i) ⟨0, ⋯⟩)) x) (Space.basis 2)«1» x:Spacec:SpeedOfLightA:ElectromagneticPotentialhA:ContDiff ℝ 2 (A.val 3)t:Time⊢ -(fderiv ℝ (fun y => magneticFieldMatrix c A t y ((fun i => i) ⟨1, ⋯⟩ + 2 + 1, (fun i => i) ⟨1, ⋯⟩ + 2 + 2)) x)
(Space.basis ((fun i => i) ⟨1, ⋯⟩ + 1)) +
(fderiv ℝ (fun y => magneticFieldMatrix c A t y ((fun i => i) ⟨1, ⋯⟩ + 1 + 1, (fun i => i) ⟨1, ⋯⟩ + 1 + 2)) x)
(Space.basis ((fun i => i) ⟨1, ⋯⟩ + 2)) =
(fderiv ℝ (fun x => magneticFieldMatrix c A t x (0, (fun i => i) ⟨1, ⋯⟩)) x) (Space.basis 0) +
(fderiv ℝ (fun x => magneticFieldMatrix c A t x (1, (fun i => i) ⟨1, ⋯⟩)) x) (Space.basis 1) +
(fderiv ℝ (fun x => magneticFieldMatrix c A t x (2, (fun i => i) ⟨1, ⋯⟩)) x) (Space.basis 2)«2» x:Spacec:SpeedOfLightA:ElectromagneticPotentialhA:ContDiff ℝ 2 (A.val 3)t:Time⊢ -(fderiv ℝ (fun y => magneticFieldMatrix c A t y ((fun i => i) ⟨2, ⋯⟩ + 2 + 1, (fun i => i) ⟨2, ⋯⟩ + 2 + 2)) x)
(Space.basis ((fun i => i) ⟨2, ⋯⟩ + 1)) +
(fderiv ℝ (fun y => magneticFieldMatrix c A t y ((fun i => i) ⟨2, ⋯⟩ + 1 + 1, (fun i => i) ⟨2, ⋯⟩ + 1 + 2)) x)
(Space.basis ((fun i => i) ⟨2, ⋯⟩ + 2)) =
(fderiv ℝ (fun x => magneticFieldMatrix c A t x (0, (fun i => i) ⟨2, ⋯⟩)) x) (Space.basis 0) +
(fderiv ℝ (fun x => magneticFieldMatrix c A t x (1, (fun i => i) ⟨2, ⋯⟩)) x) (Space.basis 1) +
(fderiv ℝ (fun x => magneticFieldMatrix c A t x (2, (fun i => i) ⟨2, ⋯⟩)) x) (Space.basis 2)
· «2» x:Spacec:SpeedOfLightA:ElectromagneticPotentialhA:ContDiff ℝ 2 (A.val 3)t:Time⊢ -(fderiv ℝ (fun y => magneticFieldMatrix c A t y ((fun i => i) ⟨2, ⋯⟩ + 2 + 1, (fun i => i) ⟨2, ⋯⟩ + 2 + 2)) x)
(Space.basis ((fun i => i) ⟨2, ⋯⟩ + 1)) +
(fderiv ℝ (fun y => magneticFieldMatrix c A t y ((fun i => i) ⟨2, ⋯⟩ + 1 + 1, (fun i => i) ⟨2, ⋯⟩ + 1 + 2)) x)
(Space.basis ((fun i => i) ⟨2, ⋯⟩ + 2)) =
(fderiv ℝ (fun x => magneticFieldMatrix c A t x (0, (fun i => i) ⟨2, ⋯⟩)) x) (Space.basis 0) +
(fderiv ℝ (fun x => magneticFieldMatrix c A t x (1, (fun i => i) ⟨2, ⋯⟩)) x) (Space.basis 1) +
(fderiv ℝ (fun x => magneticFieldMatrix c A t x (2, (fun i => i) ⟨2, ⋯⟩)) x) (Space.basis 2) simp only [Fin.reduceFinMk, Fin.isValue, Fin.reduceAdd, zero_add,
magneticFieldMatrix_diag_eq_zero, fderiv_fun_const, Pi.ofNat_apply,
_root_.zero_apply, add_zero] «2» x:Spacec:SpeedOfLightA:ElectromagneticPotentialhA:ContDiff ℝ 2 (A.val 3)t:Time⊢ -(fderiv ℝ (fun y => magneticFieldMatrix c A t y (2, 0)) x) (Space.basis 0) +
(fderiv ℝ (fun y => magneticFieldMatrix c A t y (1, 2)) x) (Space.basis 1) =
(fderiv ℝ (fun x => magneticFieldMatrix c A t x (0, 2)) x) (Space.basis 0) +
(fderiv ℝ (fun y => magneticFieldMatrix c A t y (1, 2)) x) (Space.basis 1)
conv_lhs =>
enter [1, 1, 1, 2, x] x✝:Spacec:SpeedOfLightA:ElectromagneticPotentialhA:ContDiff ℝ 2 (A.val 3)t:Timex:Space| magneticFieldMatrix c A t x (2, 0)
rw [magneticFieldMatrix_antisymm] x✝:Spacec:SpeedOfLightA:ElectromagneticPotentialhA:ContDiff ℝ 2 (A.val 3)t:Timex:Space| -magneticFieldMatrix c A t x (0, 2)
simp [add_comm] All goals completed! 🐙C.3. Magnetic field matrix in terms of vector potentials
lemma magneticFieldMatrix_eq_vectorPotential {c : SpeedOfLight} (A : ElectromagneticPotential d)
(hA : Differentiable ℝ A) (t : Time) (x : Space d) (i j : Fin d) :
A.magneticFieldMatrix c t x (i, j) = Space.deriv j (A.vectorPotential c t · i) x -
Space.deriv i (A.vectorPotential c t · j) x := by d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:Differentiable ℝ A.valt:Timex:Space di:Fin dj:Fin d⊢ magneticFieldMatrix c A t x (i, j) =
Space.deriv j (fun x => (vectorPotential c A t x).ofLp i) x -
Space.deriv i (fun x => (vectorPotential c A t x).ofLp j) x
simp only [magneticFieldMatrix_eq] d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:Differentiable ℝ A.valt:Timex:Space di:Fin dj:Fin d⊢ (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, x))) (Sum.inr i, Sum.inr j) =
Space.deriv j (fun x => (vectorPotential c A t x).ofLp i) x -
Space.deriv i (fun x => (vectorPotential c A t x).ofLp j) x
rw [toFieldStrength_basis_repr_apply_eq_single d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:Differentiable ℝ A.valt:Timex:Space di:Fin dj:Fin d⊢ η (Sum.inr i, Sum.inr j).1 (Sum.inr i, Sum.inr j).1 *
∂_ (Sum.inr i, Sum.inr j).1 A.val ((toTimeAndSpace c).symm (t, x)) (Sum.inr i, Sum.inr j).2 -
η (Sum.inr i, Sum.inr j).2 (Sum.inr i, Sum.inr j).2 *
∂_ (Sum.inr i, Sum.inr j).2 A.val ((toTimeAndSpace c).symm (t, x)) (Sum.inr i, Sum.inr j).1 =
Space.deriv j (fun x => (vectorPotential c A t x).ofLp i) x -
Space.deriv i (fun x => (vectorPotential c A t x).ofLp j) x d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:Differentiable ℝ A.valt:Timex:Space di:Fin dj:Fin d⊢ η (Sum.inr i, Sum.inr j).1 (Sum.inr i, Sum.inr j).1 *
∂_ (Sum.inr i, Sum.inr j).1 A.val ((toTimeAndSpace c).symm (t, x)) (Sum.inr i, Sum.inr j).2 -
η (Sum.inr i, Sum.inr j).2 (Sum.inr i, Sum.inr j).2 *
∂_ (Sum.inr i, Sum.inr j).2 A.val ((toTimeAndSpace c).symm (t, x)) (Sum.inr i, Sum.inr j).1 =
Space.deriv j (fun x => (vectorPotential c A t x).ofLp i) x -
Space.deriv i (fun x => (vectorPotential c A t x).ofLp j) x] d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:Differentiable ℝ A.valt:Timex:Space di:Fin dj:Fin d⊢ η (Sum.inr i, Sum.inr j).1 (Sum.inr i, Sum.inr j).1 *
∂_ (Sum.inr i, Sum.inr j).1 A.val ((toTimeAndSpace c).symm (t, x)) (Sum.inr i, Sum.inr j).2 -
η (Sum.inr i, Sum.inr j).2 (Sum.inr i, Sum.inr j).2 *
∂_ (Sum.inr i, Sum.inr j).2 A.val ((toTimeAndSpace c).symm (t, x)) (Sum.inr i, Sum.inr j).1 =
Space.deriv j (fun x => (vectorPotential c A t x).ofLp i) x -
Space.deriv i (fun x => (vectorPotential c A t x).ofLp j) x
simp only [inr_i_inr_i, neg_mul, one_mul, sub_neg_eq_add] d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:Differentiable ℝ A.valt:Timex:Space di:Fin dj:Fin d⊢ -∂_ (Sum.inr i) A.val ((toTimeAndSpace c).symm (t, x)) (Sum.inr j) +
∂_ (Sum.inr j) A.val ((toTimeAndSpace c).symm (t, x)) (Sum.inr i) =
Space.deriv j (fun x => (vectorPotential c A t x).ofLp i) x -
Space.deriv i (fun x => (vectorPotential c A t x).ofLp j) x
rw [SpaceTime.deriv_sum_inr c _ hA, d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:Differentiable ℝ A.valt:Timex:Space di:Fin dj:Fin d⊢ -Space.deriv i (fun y => A.val ((toTimeAndSpace c).symm (((toTimeAndSpace c) ((toTimeAndSpace c).symm (t, x))).1, y)))
((toTimeAndSpace c) ((toTimeAndSpace c).symm (t, x))).2 (Sum.inr j) +
∂_ (Sum.inr j) A.val ((toTimeAndSpace c).symm (t, x)) (Sum.inr i) =
Space.deriv j (fun x => (vectorPotential c A t x).ofLp i) x -
Space.deriv i (fun x => (vectorPotential c A t x).ofLp j) x d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:Differentiable ℝ A.valt:Timex:Space di:Fin dj:Fin d⊢ -Space.deriv i (fun y => A.val ((toTimeAndSpace c).symm (((toTimeAndSpace c) ((toTimeAndSpace c).symm (t, x))).1, y)))
((toTimeAndSpace c) ((toTimeAndSpace c).symm (t, x))).2 (Sum.inr j) +
Space.deriv j
(fun y => A.val ((toTimeAndSpace c).symm (((toTimeAndSpace c) ((toTimeAndSpace c).symm (t, x))).1, y)))
((toTimeAndSpace c) ((toTimeAndSpace c).symm (t, x))).2 (Sum.inr i) =
Space.deriv j (fun x => (vectorPotential c A t x).ofLp i) x -
Space.deriv i (fun x => (vectorPotential c A t x).ofLp j) x SpaceTime.deriv_sum_inr c _ hA d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:Differentiable ℝ A.valt:Timex:Space di:Fin dj:Fin d⊢ -Space.deriv i (fun y => A.val ((toTimeAndSpace c).symm (((toTimeAndSpace c) ((toTimeAndSpace c).symm (t, x))).1, y)))
((toTimeAndSpace c) ((toTimeAndSpace c).symm (t, x))).2 (Sum.inr j) +
Space.deriv j
(fun y => A.val ((toTimeAndSpace c).symm (((toTimeAndSpace c) ((toTimeAndSpace c).symm (t, x))).1, y)))
((toTimeAndSpace c) ((toTimeAndSpace c).symm (t, x))).2 (Sum.inr i) =
Space.deriv j (fun x => (vectorPotential c A t x).ofLp i) x -
Space.deriv i (fun x => (vectorPotential c A t x).ofLp j) x d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:Differentiable ℝ A.valt:Timex:Space di:Fin dj:Fin d⊢ -Space.deriv i (fun y => A.val ((toTimeAndSpace c).symm (((toTimeAndSpace c) ((toTimeAndSpace c).symm (t, x))).1, y)))
((toTimeAndSpace c) ((toTimeAndSpace c).symm (t, x))).2 (Sum.inr j) +
Space.deriv j
(fun y => A.val ((toTimeAndSpace c).symm (((toTimeAndSpace c) ((toTimeAndSpace c).symm (t, x))).1, y)))
((toTimeAndSpace c) ((toTimeAndSpace c).symm (t, x))).2 (Sum.inr i) =
Space.deriv j (fun x => (vectorPotential c A t x).ofLp i) x -
Space.deriv i (fun x => (vectorPotential c A t x).ofLp j) x] d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:Differentiable ℝ A.valt:Timex:Space di:Fin dj:Fin d⊢ -Space.deriv i (fun y => A.val ((toTimeAndSpace c).symm (((toTimeAndSpace c) ((toTimeAndSpace c).symm (t, x))).1, y)))
((toTimeAndSpace c) ((toTimeAndSpace c).symm (t, x))).2 (Sum.inr j) +
Space.deriv j
(fun y => A.val ((toTimeAndSpace c).symm (((toTimeAndSpace c) ((toTimeAndSpace c).symm (t, x))).1, y)))
((toTimeAndSpace c) ((toTimeAndSpace c).symm (t, x))).2 (Sum.inr i) =
Space.deriv j (fun x => (vectorPotential c A t x).ofLp i) x -
Space.deriv i (fun x => (vectorPotential c A t x).ofLp j) x
simp [vectorPotential] d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:Differentiable ℝ A.valt:Timex:Space di:Fin dj:Fin d⊢ -Space.deriv i (fun y => A.val ((toTimeAndSpace c).symm (t, y))) x (Sum.inr j) +
Space.deriv j (fun y => A.val ((toTimeAndSpace c).symm (t, y))) x (Sum.inr i) =
Space.deriv j (fun x => ((timeSlice c) (fun x => WithLp.toLp 2 fun i => A.val x (Sum.inr i)) t x).ofLp i) x -
Space.deriv i (fun x => ((timeSlice c) (fun x => WithLp.toLp 2 fun i => A.val x (Sum.inr i)) t x).ofLp j) x
rw [add_comm d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:Differentiable ℝ A.valt:Timex:Space di:Fin dj:Fin d⊢ Space.deriv j (fun y => A.val ((toTimeAndSpace c).symm (t, y))) x (Sum.inr i) +
-Space.deriv i (fun y => A.val ((toTimeAndSpace c).symm (t, y))) x (Sum.inr j) =
Space.deriv j (fun x => ((timeSlice c) (fun x => WithLp.toLp 2 fun i => A.val x (Sum.inr i)) t x).ofLp i) x -
Space.deriv i (fun x => ((timeSlice c) (fun x => WithLp.toLp 2 fun i => A.val x (Sum.inr i)) t x).ofLp j) x d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:Differentiable ℝ A.valt:Timex:Space di:Fin dj:Fin d⊢ Space.deriv j (fun y => A.val ((toTimeAndSpace c).symm (t, y))) x (Sum.inr i) +
-Space.deriv i (fun y => A.val ((toTimeAndSpace c).symm (t, y))) x (Sum.inr j) =
Space.deriv j (fun x => ((timeSlice c) (fun x => WithLp.toLp 2 fun i => A.val x (Sum.inr i)) t x).ofLp i) x -
Space.deriv i (fun x => ((timeSlice c) (fun x => WithLp.toLp 2 fun i => A.val x (Sum.inr i)) t x).ofLp j) x] d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:Differentiable ℝ A.valt:Timex:Space di:Fin dj:Fin d⊢ Space.deriv j (fun y => A.val ((toTimeAndSpace c).symm (t, y))) x (Sum.inr i) +
-Space.deriv i (fun y => A.val ((toTimeAndSpace c).symm (t, y))) x (Sum.inr j) =
Space.deriv j (fun x => ((timeSlice c) (fun x => WithLp.toLp 2 fun i => A.val x (Sum.inr i)) t x).ofLp i) x -
Space.deriv i (fun x => ((timeSlice c) (fun x => WithLp.toLp 2 fun i => A.val x (Sum.inr i)) t x).ofLp j) x
congr e_a d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:Differentiable ℝ A.valt:Timex:Space di:Fin dj:Fin d⊢ Space.deriv j (fun y => A.val ((toTimeAndSpace c).symm (t, y))) x (Sum.inr i) =
Space.deriv j (fun x => ((timeSlice c) (fun x => WithLp.toLp 2 fun i => A.val x (Sum.inr i)) t x).ofLp i) xe_a d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:Differentiable ℝ A.valt:Timex:Space di:Fin dj:Fin d⊢ Space.deriv i (fun y => A.val ((toTimeAndSpace c).symm (t, y))) x (Sum.inr j) =
Space.deriv i (fun x => ((timeSlice c) (fun x => WithLp.toLp 2 fun i => A.val x (Sum.inr i)) t x).ofLp j) x
all_goals
· e_a d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:Differentiable ℝ A.valt:Timex:Space di:Fin dj:Fin d⊢ Space.deriv i (fun y => A.val ((toTimeAndSpace c).symm (t, y))) x (Sum.inr j) =
Space.deriv i (fun x => ((timeSlice c) (fun x => WithLp.toLp 2 fun i => A.val x (Sum.inr i)) t x).ofLp j) x rw [← Space.deriv_lorentz_vector e_a d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:Differentiable ℝ A.valt:Timex:Space di:Fin dj:Fin d⊢ Space.deriv j (fun x => A.val ((toTimeAndSpace c).symm (t, x)) (Sum.inr i)) x =
Space.deriv j (fun x => ((timeSlice c) (fun x => WithLp.toLp 2 fun i => A.val x (Sum.inr i)) t x).ofLp i) xe_a.hf d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:Differentiable ℝ A.valt:Timex:Space di:Fin dj:Fin d⊢ Differentiable ℝ fun y => A.val ((toTimeAndSpace c).symm (t, y)) e_a d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:Differentiable ℝ A.valt:Timex:Space di:Fin dj:Fin d⊢ Space.deriv i (fun x => A.val ((toTimeAndSpace c).symm (t, x)) (Sum.inr j)) x =
Space.deriv i (fun x => ((timeSlice c) (fun x => WithLp.toLp 2 fun i => A.val x (Sum.inr i)) t x).ofLp j) xe_a.hf d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:Differentiable ℝ A.valt:Timex:Space di:Fin dj:Fin d⊢ Differentiable ℝ fun y => A.val ((toTimeAndSpace c).symm (t, y))] e_a d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:Differentiable ℝ A.valt:Timex:Space di:Fin dj:Fin d⊢ Space.deriv j (fun x => A.val ((toTimeAndSpace c).symm (t, x)) (Sum.inr i)) x =
Space.deriv j (fun x => ((timeSlice c) (fun x => WithLp.toLp 2 fun i => A.val x (Sum.inr i)) t x).ofLp i) xe_a.hf d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:Differentiable ℝ A.valt:Timex:Space di:Fin dj:Fin d⊢ Differentiable ℝ fun y => A.val ((toTimeAndSpace c).symm (t, y))e_a d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:Differentiable ℝ A.valt:Timex:Space di:Fin dj:Fin d⊢ Space.deriv i (fun x => A.val ((toTimeAndSpace c).symm (t, x)) (Sum.inr j)) x =
Space.deriv i (fun x => ((timeSlice c) (fun x => WithLp.toLp 2 fun i => A.val x (Sum.inr i)) t x).ofLp j) xe_a.hf d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:Differentiable ℝ A.valt:Timex:Space di:Fin dj:Fin d⊢ Differentiable ℝ fun y => A.val ((toTimeAndSpace c).symm (t, y))e_a d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:Differentiable ℝ A.valt:Timex:Space di:Fin dj:Fin d⊢ Space.deriv i (fun x => A.val ((toTimeAndSpace c).symm (t, x)) (Sum.inr j)) x =
Space.deriv i (fun x => ((timeSlice c) (fun x => WithLp.toLp 2 fun i => A.val x (Sum.inr i)) t x).ofLp j) xe_a.hf d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:Differentiable ℝ A.valt:Timex:Space di:Fin dj:Fin d⊢ Differentiable ℝ fun y => A.val ((toTimeAndSpace c).symm (t, y))
rfl e_a.hf d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:Differentiable ℝ A.valt:Timex:Space di:Fin dj:Fin d⊢ Differentiable ℝ fun y => A.val ((toTimeAndSpace c).symm (t, y))
fun_prop All goals completed! 🐙C.4. Smoothness of the magnetic field matrix
lemma magneticFieldMatrix_contDiff {n} {c : SpeedOfLight} (A : ElectromagneticPotential d)
(hA : ContDiff ℝ (n + 1) A) (ij) :
ContDiff ℝ n ↿(fun t x => A.magneticFieldMatrix c t x ij) := by d:ℕn:WithTop ℕ∞c:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ (n + 1) A.valij:Fin d × Fin d⊢ ContDiff ℝ n ↿fun t x => magneticFieldMatrix c A t x ij
exact (fieldStrengthMatrix_contDiff hA).comp (toTimeAndSpace c).symm.contDiff All goals completed! 🐙lemma magneticFieldMatrix_space_contDiff {n} {c : SpeedOfLight} (A : ElectromagneticPotential d)
(hA : ContDiff ℝ (n + 1) A) (t : Time) (ij) :
ContDiff ℝ n (fun x => A.magneticFieldMatrix c t x ij) := by d:ℕn:WithTop ℕ∞c:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ (n + 1) A.valt:Timeij:Fin d × Fin d⊢ ContDiff ℝ n fun x => magneticFieldMatrix c A t x ij
exact (magneticFieldMatrix_contDiff A hA ij).comp (f := fun x => (t, x)) (by d:ℕn:WithTop ℕ∞c:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ (n + 1) A.valt:Timeij:Fin d × Fin d⊢ ContDiff ℝ n fun x => (t, x) fun_prop All goals completed! 🐙)lemma magneticFieldMatrix_time_contDiff {n} {c : SpeedOfLight} (A : ElectromagneticPotential d)
(hA : ContDiff ℝ (n + 1) A) (x : Space d) (ij) :
ContDiff ℝ n (fun t => A.magneticFieldMatrix c t x ij) := by d:ℕn:WithTop ℕ∞c:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ (n + 1) A.valx:Space dij:Fin d × Fin d⊢ ContDiff ℝ n fun t => magneticFieldMatrix c A t x ij
exact (magneticFieldMatrix_contDiff A hA ij).comp (f := fun t => (t, x)) (by d:ℕn:WithTop ℕ∞c:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ (n + 1) A.valx:Space dij:Fin d × Fin d⊢ ContDiff ℝ n fun t => (t, x) fun_prop All goals completed! 🐙)C.5. Differentiablity of the magnetic field matrix
lemma magneticFieldMatrix_differentiable {c : SpeedOfLight} (A : ElectromagneticPotential d)
(hA : ContDiff ℝ 2 A) (ij) : Differentiable ℝ ↿(fun t x => A.magneticFieldMatrix c t x ij) := by d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valij:Fin d × Fin d⊢ Differentiable ℝ ↿fun t x => magneticFieldMatrix c A t x ij
exact (fieldStrengthMatrix_differentiable hA).comp (toTimeAndSpace c).symm.differentiable All goals completed! 🐙lemma magneticFieldMatrix_differentiable_space {c : SpeedOfLight} (A : ElectromagneticPotential d)
(hA : ContDiff ℝ 2 A) (t : Time) (ij) :
Differentiable ℝ (fun x => A.magneticFieldMatrix c t x ij) := by d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timeij:Fin d × Fin d⊢ Differentiable ℝ fun x => magneticFieldMatrix c A t x ij
exact (magneticFieldMatrix_differentiable A hA ij).comp (f := fun x => (t, x)) (by d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timeij:Fin d × Fin d⊢ Differentiable ℝ fun x => (t, x) fun_prop All goals completed! 🐙)lemma magneticFieldMatrix_differentiable_time {c : SpeedOfLight} (A : ElectromagneticPotential d)
(hA : ContDiff ℝ 2 A) (x : Space d) (ij) :
Differentiable ℝ (fun t => A.magneticFieldMatrix c t x ij) := by d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valx:Space dij:Fin d × Fin d⊢ Differentiable ℝ fun t => magneticFieldMatrix c A t x ij
exact (magneticFieldMatrix_differentiable A hA ij).comp (f := fun t => (t, x)) (by d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valx:Space dij:Fin d × Fin d⊢ Differentiable ℝ fun t => (t, x) fun_prop All goals completed! 🐙)C.6. Spatial derivative of the magnetic field matrix
lemma magneticFieldMatrix_space_deriv_eq {c : SpeedOfLight} (A : ElectromagneticPotential d)
(hA : ContDiff ℝ 2 A) (t : Time) (x : Space d) (i j k : Fin d) :
∂[k] (A.magneticFieldMatrix c t · (i, j)) x =
∂[i] (A.magneticFieldMatrix c t · (k, j)) x
- ∂[j] (A.magneticFieldMatrix c t · (k, i)) x := by d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Space.deriv k (fun x => magneticFieldMatrix c A t x (i, j)) x =
Space.deriv i (fun x => magneticFieldMatrix c A t x (k, j)) x -
Space.deriv j (fun x => magneticFieldMatrix c A t x (k, i)) x
conv_lhs =>
enter [2, x] d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex✝:Space di:Fin dj:Fin dk:Fin dx:Space d| magneticFieldMatrix c A t x (i, j)
rw [magneticFieldMatrix_eq_vectorPotential A (hA.differentiable (by d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex✝:Space di:Fin dj:Fin dk:Fin dx:Space d⊢ 2 ≠ 0 simp All goals completed! 🐙)) t x i j]
conv_rhs =>
enter [1, 2, x] d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex✝:Space di:Fin dj:Fin dk:Fin dx:Space d| magneticFieldMatrix c A t x (k, j)
rw [magneticFieldMatrix_eq_vectorPotential A (hA.differentiable (by d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex✝:Space di:Fin dj:Fin dk:Fin dx:Space d⊢ 2 ≠ 0 simp All goals completed! 🐙)) t x]
conv_rhs =>
enter [2, 2, x] d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex✝:Space di:Fin dj:Fin dk:Fin dx:Space d| magneticFieldMatrix c A t x (k, i)
rw [magneticFieldMatrix_eq_vectorPotential A (hA.differentiable (by d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex✝:Space di:Fin dj:Fin dk:Fin dx:Space d⊢ 2 ≠ 0 simp All goals completed! 🐙)) t x]
rw [fun_deriv_sub, d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ (fun i_1 =>
Space.deriv k (Space.deriv j fun x => (vectorPotential c A t x).ofLp i) i_1 -
Space.deriv k (Space.deriv i fun x => (vectorPotential c A t x).ofLp j) i_1)
x =
Space.deriv i
(fun x =>
Space.deriv j (fun x => (vectorPotential c A t x).ofLp k) x -
Space.deriv k (fun x => (vectorPotential c A t x).ofLp j) x)
x -
Space.deriv j
(fun x =>
Space.deriv i (fun x => (vectorPotential c A t x).ofLp k) x -
Space.deriv k (fun x => (vectorPotential c A t x).ofLp i) x)
xhf1 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv j fun x => (vectorPotential c A t x).ofLp i)hf2 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv i fun x => (vectorPotential c A t x).ofLp j) d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ (fun i_1 =>
Space.deriv k (Space.deriv j fun x => (vectorPotential c A t x).ofLp i) i_1 -
Space.deriv k (Space.deriv i fun x => (vectorPotential c A t x).ofLp j) i_1)
x =
(fun i_1 =>
Space.deriv i (Space.deriv j fun x => (vectorPotential c A t x).ofLp k) i_1 -
Space.deriv i (Space.deriv k fun x => (vectorPotential c A t x).ofLp j) i_1)
x -
(fun i_1 =>
Space.deriv j (Space.deriv i fun x => (vectorPotential c A t x).ofLp k) i_1 -
Space.deriv j (Space.deriv k fun x => (vectorPotential c A t x).ofLp i) i_1)
xhf1 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv i fun x => (vectorPotential c A t x).ofLp k)hf2 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv k fun x => (vectorPotential c A t x).ofLp i)hf1 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv j fun x => (vectorPotential c A t x).ofLp k)hf2 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv k fun x => (vectorPotential c A t x).ofLp j)hf1 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv j fun x => (vectorPotential c A t x).ofLp i)hf2 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv i fun x => (vectorPotential c A t x).ofLp j) fun_deriv_sub, d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ (fun i_1 =>
Space.deriv k (Space.deriv j fun x => (vectorPotential c A t x).ofLp i) i_1 -
Space.deriv k (Space.deriv i fun x => (vectorPotential c A t x).ofLp j) i_1)
x =
(fun i_1 =>
Space.deriv i (Space.deriv j fun x => (vectorPotential c A t x).ofLp k) i_1 -
Space.deriv i (Space.deriv k fun x => (vectorPotential c A t x).ofLp j) i_1)
x -
Space.deriv j
(fun x =>
Space.deriv i (fun x => (vectorPotential c A t x).ofLp k) x -
Space.deriv k (fun x => (vectorPotential c A t x).ofLp i) x)
xhf1 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv j fun x => (vectorPotential c A t x).ofLp k)hf2 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv k fun x => (vectorPotential c A t x).ofLp j)hf1 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv j fun x => (vectorPotential c A t x).ofLp i)hf2 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv i fun x => (vectorPotential c A t x).ofLp j) d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ (fun i_1 =>
Space.deriv k (Space.deriv j fun x => (vectorPotential c A t x).ofLp i) i_1 -
Space.deriv k (Space.deriv i fun x => (vectorPotential c A t x).ofLp j) i_1)
x =
(fun i_1 =>
Space.deriv i (Space.deriv j fun x => (vectorPotential c A t x).ofLp k) i_1 -
Space.deriv i (Space.deriv k fun x => (vectorPotential c A t x).ofLp j) i_1)
x -
(fun i_1 =>
Space.deriv j (Space.deriv i fun x => (vectorPotential c A t x).ofLp k) i_1 -
Space.deriv j (Space.deriv k fun x => (vectorPotential c A t x).ofLp i) i_1)
xhf1 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv i fun x => (vectorPotential c A t x).ofLp k)hf2 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv k fun x => (vectorPotential c A t x).ofLp i)hf1 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv j fun x => (vectorPotential c A t x).ofLp k)hf2 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv k fun x => (vectorPotential c A t x).ofLp j)hf1 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv j fun x => (vectorPotential c A t x).ofLp i)hf2 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv i fun x => (vectorPotential c A t x).ofLp j) fun_deriv_sub d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ (fun i_1 =>
Space.deriv k (Space.deriv j fun x => (vectorPotential c A t x).ofLp i) i_1 -
Space.deriv k (Space.deriv i fun x => (vectorPotential c A t x).ofLp j) i_1)
x =
(fun i_1 =>
Space.deriv i (Space.deriv j fun x => (vectorPotential c A t x).ofLp k) i_1 -
Space.deriv i (Space.deriv k fun x => (vectorPotential c A t x).ofLp j) i_1)
x -
(fun i_1 =>
Space.deriv j (Space.deriv i fun x => (vectorPotential c A t x).ofLp k) i_1 -
Space.deriv j (Space.deriv k fun x => (vectorPotential c A t x).ofLp i) i_1)
xhf1 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv i fun x => (vectorPotential c A t x).ofLp k)hf2 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv k fun x => (vectorPotential c A t x).ofLp i)hf1 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv j fun x => (vectorPotential c A t x).ofLp k)hf2 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv k fun x => (vectorPotential c A t x).ofLp j)hf1 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv j fun x => (vectorPotential c A t x).ofLp i)hf2 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv i fun x => (vectorPotential c A t x).ofLp j) d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ (fun i_1 =>
Space.deriv k (Space.deriv j fun x => (vectorPotential c A t x).ofLp i) i_1 -
Space.deriv k (Space.deriv i fun x => (vectorPotential c A t x).ofLp j) i_1)
x =
(fun i_1 =>
Space.deriv i (Space.deriv j fun x => (vectorPotential c A t x).ofLp k) i_1 -
Space.deriv i (Space.deriv k fun x => (vectorPotential c A t x).ofLp j) i_1)
x -
(fun i_1 =>
Space.deriv j (Space.deriv i fun x => (vectorPotential c A t x).ofLp k) i_1 -
Space.deriv j (Space.deriv k fun x => (vectorPotential c A t x).ofLp i) i_1)
xhf1 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv i fun x => (vectorPotential c A t x).ofLp k)hf2 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv k fun x => (vectorPotential c A t x).ofLp i)hf1 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv j fun x => (vectorPotential c A t x).ofLp k)hf2 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv k fun x => (vectorPotential c A t x).ofLp j)hf1 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv j fun x => (vectorPotential c A t x).ofLp i)hf2 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv i fun x => (vectorPotential c A t x).ofLp j)] d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ (fun i_1 =>
Space.deriv k (Space.deriv j fun x => (vectorPotential c A t x).ofLp i) i_1 -
Space.deriv k (Space.deriv i fun x => (vectorPotential c A t x).ofLp j) i_1)
x =
(fun i_1 =>
Space.deriv i (Space.deriv j fun x => (vectorPotential c A t x).ofLp k) i_1 -
Space.deriv i (Space.deriv k fun x => (vectorPotential c A t x).ofLp j) i_1)
x -
(fun i_1 =>
Space.deriv j (Space.deriv i fun x => (vectorPotential c A t x).ofLp k) i_1 -
Space.deriv j (Space.deriv k fun x => (vectorPotential c A t x).ofLp i) i_1)
xhf1 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv i fun x => (vectorPotential c A t x).ofLp k)hf2 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv k fun x => (vectorPotential c A t x).ofLp i)hf1 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv j fun x => (vectorPotential c A t x).ofLp k)hf2 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv k fun x => (vectorPotential c A t x).ofLp j)hf1 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv j fun x => (vectorPotential c A t x).ofLp i)hf2 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv i fun x => (vectorPotential c A t x).ofLp j)
rw [Space.deriv_commute _ (vectorPotential_apply_contDiff_space _ hA _ i), d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ (fun i_1 =>
Space.deriv j (Space.deriv k fun x => (vectorPotential c A t x).ofLp i) i_1 -
Space.deriv k (Space.deriv i fun x => (vectorPotential c A t x).ofLp j) i_1)
x =
(fun i_1 =>
Space.deriv i (Space.deriv j fun x => (vectorPotential c A t x).ofLp k) i_1 -
Space.deriv i (Space.deriv k fun x => (vectorPotential c A t x).ofLp j) i_1)
x -
(fun i_1 =>
Space.deriv j (Space.deriv i fun x => (vectorPotential c A t x).ofLp k) i_1 -
Space.deriv j (Space.deriv k fun x => (vectorPotential c A t x).ofLp i) i_1)
xhf1 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv i fun x => (vectorPotential c A t x).ofLp k)hf2 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv k fun x => (vectorPotential c A t x).ofLp i)hf1 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv j fun x => (vectorPotential c A t x).ofLp k)hf2 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv k fun x => (vectorPotential c A t x).ofLp j)hf1 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv j fun x => (vectorPotential c A t x).ofLp i)hf2 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv i fun x => (vectorPotential c A t x).ofLp j) d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ (fun i_1 =>
Space.deriv j (Space.deriv k fun x => (vectorPotential c A t x).ofLp i) i_1 -
Space.deriv i (Space.deriv k fun x => (vectorPotential c A t x).ofLp j) i_1)
x =
(fun i_1 =>
Space.deriv j (Space.deriv i fun x => (vectorPotential c A t x).ofLp k) i_1 -
Space.deriv i (Space.deriv k fun x => (vectorPotential c A t x).ofLp j) i_1)
x -
(fun i_1 =>
Space.deriv j (Space.deriv i fun x => (vectorPotential c A t x).ofLp k) i_1 -
Space.deriv j (Space.deriv k fun x => (vectorPotential c A t x).ofLp i) i_1)
xhf1 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv i fun x => (vectorPotential c A t x).ofLp k)hf2 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv k fun x => (vectorPotential c A t x).ofLp i)hf1 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv j fun x => (vectorPotential c A t x).ofLp k)hf2 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv k fun x => (vectorPotential c A t x).ofLp j)hf1 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv j fun x => (vectorPotential c A t x).ofLp i)hf2 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv i fun x => (vectorPotential c A t x).ofLp j)
Space.deriv_commute _ (vectorPotential_apply_contDiff_space _ hA _ j), d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ (fun i_1 =>
Space.deriv j (Space.deriv k fun x => (vectorPotential c A t x).ofLp i) i_1 -
Space.deriv i (Space.deriv k fun x => (vectorPotential c A t x).ofLp j) i_1)
x =
(fun i_1 =>
Space.deriv i (Space.deriv j fun x => (vectorPotential c A t x).ofLp k) i_1 -
Space.deriv i (Space.deriv k fun x => (vectorPotential c A t x).ofLp j) i_1)
x -
(fun i_1 =>
Space.deriv j (Space.deriv i fun x => (vectorPotential c A t x).ofLp k) i_1 -
Space.deriv j (Space.deriv k fun x => (vectorPotential c A t x).ofLp i) i_1)
xhf1 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv i fun x => (vectorPotential c A t x).ofLp k)hf2 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv k fun x => (vectorPotential c A t x).ofLp i)hf1 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv j fun x => (vectorPotential c A t x).ofLp k)hf2 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv k fun x => (vectorPotential c A t x).ofLp j)hf1 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv j fun x => (vectorPotential c A t x).ofLp i)hf2 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv i fun x => (vectorPotential c A t x).ofLp j) d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ (fun i_1 =>
Space.deriv j (Space.deriv k fun x => (vectorPotential c A t x).ofLp i) i_1 -
Space.deriv i (Space.deriv k fun x => (vectorPotential c A t x).ofLp j) i_1)
x =
(fun i_1 =>
Space.deriv j (Space.deriv i fun x => (vectorPotential c A t x).ofLp k) i_1 -
Space.deriv i (Space.deriv k fun x => (vectorPotential c A t x).ofLp j) i_1)
x -
(fun i_1 =>
Space.deriv j (Space.deriv i fun x => (vectorPotential c A t x).ofLp k) i_1 -
Space.deriv j (Space.deriv k fun x => (vectorPotential c A t x).ofLp i) i_1)
xhf1 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv i fun x => (vectorPotential c A t x).ofLp k)hf2 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv k fun x => (vectorPotential c A t x).ofLp i)hf1 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv j fun x => (vectorPotential c A t x).ofLp k)hf2 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv k fun x => (vectorPotential c A t x).ofLp j)hf1 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv j fun x => (vectorPotential c A t x).ofLp i)hf2 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv i fun x => (vectorPotential c A t x).ofLp j)
Space.deriv_commute _ (vectorPotential_apply_contDiff_space _ hA _ k) d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ (fun i_1 =>
Space.deriv j (Space.deriv k fun x => (vectorPotential c A t x).ofLp i) i_1 -
Space.deriv i (Space.deriv k fun x => (vectorPotential c A t x).ofLp j) i_1)
x =
(fun i_1 =>
Space.deriv j (Space.deriv i fun x => (vectorPotential c A t x).ofLp k) i_1 -
Space.deriv i (Space.deriv k fun x => (vectorPotential c A t x).ofLp j) i_1)
x -
(fun i_1 =>
Space.deriv j (Space.deriv i fun x => (vectorPotential c A t x).ofLp k) i_1 -
Space.deriv j (Space.deriv k fun x => (vectorPotential c A t x).ofLp i) i_1)
xhf1 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv i fun x => (vectorPotential c A t x).ofLp k)hf2 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv k fun x => (vectorPotential c A t x).ofLp i)hf1 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv j fun x => (vectorPotential c A t x).ofLp k)hf2 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv k fun x => (vectorPotential c A t x).ofLp j)hf1 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv j fun x => (vectorPotential c A t x).ofLp i)hf2 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv i fun x => (vectorPotential c A t x).ofLp j) d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ (fun i_1 =>
Space.deriv j (Space.deriv k fun x => (vectorPotential c A t x).ofLp i) i_1 -
Space.deriv i (Space.deriv k fun x => (vectorPotential c A t x).ofLp j) i_1)
x =
(fun i_1 =>
Space.deriv j (Space.deriv i fun x => (vectorPotential c A t x).ofLp k) i_1 -
Space.deriv i (Space.deriv k fun x => (vectorPotential c A t x).ofLp j) i_1)
x -
(fun i_1 =>
Space.deriv j (Space.deriv i fun x => (vectorPotential c A t x).ofLp k) i_1 -
Space.deriv j (Space.deriv k fun x => (vectorPotential c A t x).ofLp i) i_1)
xhf1 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv i fun x => (vectorPotential c A t x).ofLp k)hf2 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv k fun x => (vectorPotential c A t x).ofLp i)hf1 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv j fun x => (vectorPotential c A t x).ofLp k)hf2 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv k fun x => (vectorPotential c A t x).ofLp j)hf1 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv j fun x => (vectorPotential c A t x).ofLp i)hf2 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv i fun x => (vectorPotential c A t x).ofLp j)] d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ (fun i_1 =>
Space.deriv j (Space.deriv k fun x => (vectorPotential c A t x).ofLp i) i_1 -
Space.deriv i (Space.deriv k fun x => (vectorPotential c A t x).ofLp j) i_1)
x =
(fun i_1 =>
Space.deriv j (Space.deriv i fun x => (vectorPotential c A t x).ofLp k) i_1 -
Space.deriv i (Space.deriv k fun x => (vectorPotential c A t x).ofLp j) i_1)
x -
(fun i_1 =>
Space.deriv j (Space.deriv i fun x => (vectorPotential c A t x).ofLp k) i_1 -
Space.deriv j (Space.deriv k fun x => (vectorPotential c A t x).ofLp i) i_1)
xhf1 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv i fun x => (vectorPotential c A t x).ofLp k)hf2 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv k fun x => (vectorPotential c A t x).ofLp i)hf1 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv j fun x => (vectorPotential c A t x).ofLp k)hf2 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv k fun x => (vectorPotential c A t x).ofLp j)hf1 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv j fun x => (vectorPotential c A t x).ofLp i)hf2 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv i fun x => (vectorPotential c A t x).ofLp j)
ring hf1 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv i fun x => (vectorPotential c A t x).ofLp k)hf2 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv k fun x => (vectorPotential c A t x).ofLp i)hf1 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv j fun x => (vectorPotential c A t x).ofLp k)hf2 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv k fun x => (vectorPotential c A t x).ofLp j)hf1 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv j fun x => (vectorPotential c A t x).ofLp i)hf2 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv i fun x => (vectorPotential c A t x).ofLp j)
all_goals
· hf2 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ Differentiable ℝ (Space.deriv i fun x => (vectorPotential c A t x).ofLp j) apply Space.deriv_differentiable hf2 d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dk:Fin d⊢ ContDiff ℝ 2 fun x => (vectorPotential c A t x).ofLp j
apply vectorPotential_apply_contDiff_space _ hA All goals completed! 🐙C.7. Temporal derivative of the magnetic field matrix
lemma time_deriv_magneticFieldMatrix {d : ℕ} {c : SpeedOfLight} (A : ElectromagneticPotential d)
(hA : ContDiff ℝ 2 A) (t : Time) (x : Space d) (i j : Fin d) :
∂ₜ (A.magneticFieldMatrix c · x (i, j)) t =
∂[i] (A.electricField c t · j) x - ∂[j] (A.electricField c t · i) x := by d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin d⊢ ∂ₜ (fun x_1 => magneticFieldMatrix c A x_1 x (i, j)) t =
Space.deriv i (fun x => (electricField c A t x).ofLp j) x - Space.deriv j (fun x => (electricField c A t x).ofLp i) x
calc _
_ = ∂ₜ (fun t => ∂[j] (fun x => A.vectorPotential c t x i) x) t
- ∂ₜ (fun t => ∂[i] (fun x => A.vectorPotential c t x j) x) t := by d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin d⊢ ∂ₜ (fun x_1 => magneticFieldMatrix c A x_1 x (i, j)) t =
∂ₜ (fun t => Space.deriv j (fun x => (vectorPotential c A t x).ofLp i) x) t -
∂ₜ (fun t => Space.deriv i (fun x => (vectorPotential c A t x).ofLp j) x) t
conv_lhs =>
enter [1, t] d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt✝:Timex:Space di:Fin dj:Fin dt:Time| magneticFieldMatrix c A t x (i, j)
rw [magneticFieldMatrix_eq_vectorPotential _ (hA.differentiable (by d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt✝:Timex:Space di:Fin dj:Fin dt:Time⊢ 2 ≠ 0 simp All goals completed! 🐙))]
rw [Time.deriv, d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin d⊢ (fderiv ℝ
(fun t =>
Space.deriv j (fun x => (vectorPotential c A t x).ofLp i) x -
Space.deriv i (fun x => (vectorPotential c A t x).ofLp j) x)
t)
1 =
∂ₜ (fun t => Space.deriv j (fun x => (vectorPotential c A t x).ofLp i) x) t -
∂ₜ (fun t => Space.deriv i (fun x => (vectorPotential c A t x).ofLp j) x) t d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin d⊢ (fderiv ℝ (fun t => Space.deriv j (fun x => (vectorPotential c A t x).ofLp i) x) t -
fderiv ℝ (fun t => Space.deriv i (fun x => (vectorPotential c A t x).ofLp j) x) t)
1 =
∂ₜ (fun t => Space.deriv j (fun x => (vectorPotential c A t x).ofLp i) x) t -
∂ₜ (fun t => Space.deriv i (fun x => (vectorPotential c A t x).ofLp j) x) thf d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin d⊢ DifferentiableAt ℝ (fun t => Space.deriv j (fun x => (vectorPotential c A t x).ofLp i) x) thg d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin d⊢ DifferentiableAt ℝ (fun t => Space.deriv i (fun x => (vectorPotential c A t x).ofLp j) x) t fderiv_fun_sub d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin d⊢ (fderiv ℝ (fun t => Space.deriv j (fun x => (vectorPotential c A t x).ofLp i) x) t -
fderiv ℝ (fun t => Space.deriv i (fun x => (vectorPotential c A t x).ofLp j) x) t)
1 =
∂ₜ (fun t => Space.deriv j (fun x => (vectorPotential c A t x).ofLp i) x) t -
∂ₜ (fun t => Space.deriv i (fun x => (vectorPotential c A t x).ofLp j) x) thf d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin d⊢ DifferentiableAt ℝ (fun t => Space.deriv j (fun x => (vectorPotential c A t x).ofLp i) x) thg d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin d⊢ DifferentiableAt ℝ (fun t => Space.deriv i (fun x => (vectorPotential c A t x).ofLp j) x) t d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin d⊢ (fderiv ℝ (fun t => Space.deriv j (fun x => (vectorPotential c A t x).ofLp i) x) t -
fderiv ℝ (fun t => Space.deriv i (fun x => (vectorPotential c A t x).ofLp j) x) t)
1 =
∂ₜ (fun t => Space.deriv j (fun x => (vectorPotential c A t x).ofLp i) x) t -
∂ₜ (fun t => Space.deriv i (fun x => (vectorPotential c A t x).ofLp j) x) thf d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin d⊢ DifferentiableAt ℝ (fun t => Space.deriv j (fun x => (vectorPotential c A t x).ofLp i) x) thg d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin d⊢ DifferentiableAt ℝ (fun t => Space.deriv i (fun x => (vectorPotential c A t x).ofLp j) x) t] d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin d⊢ (fderiv ℝ (fun t => Space.deriv j (fun x => (vectorPotential c A t x).ofLp i) x) t -
fderiv ℝ (fun t => Space.deriv i (fun x => (vectorPotential c A t x).ofLp j) x) t)
1 =
∂ₜ (fun t => Space.deriv j (fun x => (vectorPotential c A t x).ofLp i) x) t -
∂ₜ (fun t => Space.deriv i (fun x => (vectorPotential c A t x).ofLp j) x) thf d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin d⊢ DifferentiableAt ℝ (fun t => Space.deriv j (fun x => (vectorPotential c A t x).ofLp i) x) thg d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin d⊢ DifferentiableAt ℝ (fun t => Space.deriv i (fun x => (vectorPotential c A t x).ofLp j) x) t
rfl hf d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin d⊢ DifferentiableAt ℝ (fun t => Space.deriv j (fun x => (vectorPotential c A t x).ofLp i) x) thg d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin d⊢ DifferentiableAt ℝ (fun t => Space.deriv i (fun x => (vectorPotential c A t x).ofLp j) x) t
all_goals
· hg d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin d⊢ DifferentiableAt ℝ (fun t => Space.deriv i (fun x => (vectorPotential c A t x).ofLp j) x) t apply Differentiable.differentiableAt hg d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin d⊢ Differentiable ℝ fun t => Space.deriv i (fun x => (vectorPotential c A t x).ofLp j) x
apply Space.space_deriv_differentiable_time hg d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin d⊢ ContDiff ℝ 2 ↿fun t x => (vectorPotential c A t x).ofLp j
apply vectorPotential_comp_contDiff _ hA All goals completed! 🐙
_ = ∂[j] (fun x => ∂ₜ (fun t => A.vectorPotential c t x i) t) x
- ∂[i] (fun x => ∂ₜ (fun t => A.vectorPotential c t x j) t) x := by d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin d⊢ ∂ₜ (fun t => Space.deriv j (fun x => (vectorPotential c A t x).ofLp i) x) t -
∂ₜ (fun t => Space.deriv i (fun x => (vectorPotential c A t x).ofLp j) x) t =
Space.deriv j (fun x => ∂ₜ (fun t => (vectorPotential c A t x).ofLp i) t) x -
Space.deriv i (fun x => ∂ₜ (fun t => (vectorPotential c A t x).ofLp j) t) x
rw [Space.time_deriv_comm_space_deriv _, d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin d⊢ Space.deriv j (fun x' => ∂ₜ (fun t' => (vectorPotential c A t' x').ofLp i) t) x -
∂ₜ (fun t => Space.deriv i (fun x => (vectorPotential c A t x).ofLp j) x) t =
Space.deriv j (fun x => ∂ₜ (fun t => (vectorPotential c A t x).ofLp i) t) x -
Space.deriv i (fun x => ∂ₜ (fun t => (vectorPotential c A t x).ofLp j) t) xd:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin d⊢ ContDiff ℝ 2 ↿fun t x => (vectorPotential c A t x).ofLp i d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin d⊢ ContDiff ℝ 2 ↿fun t x => (vectorPotential c A t x).ofLp jd:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin d⊢ ContDiff ℝ 2 ↿fun t x => (vectorPotential c A t x).ofLp i Space.time_deriv_comm_space_deriv _ d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin d⊢ Space.deriv j (fun x' => ∂ₜ (fun t' => (vectorPotential c A t' x').ofLp i) t) x -
Space.deriv i (fun x' => ∂ₜ (fun t' => (vectorPotential c A t' x').ofLp j) t) x =
Space.deriv j (fun x => ∂ₜ (fun t => (vectorPotential c A t x).ofLp i) t) x -
Space.deriv i (fun x => ∂ₜ (fun t => (vectorPotential c A t x).ofLp j) t) xd:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin d⊢ ContDiff ℝ 2 ↿fun t x => (vectorPotential c A t x).ofLp jd:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin d⊢ ContDiff ℝ 2 ↿fun t x => (vectorPotential c A t x).ofLp i d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin d⊢ ContDiff ℝ 2 ↿fun t x => (vectorPotential c A t x).ofLp jd:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin d⊢ ContDiff ℝ 2 ↿fun t x => (vectorPotential c A t x).ofLp i] d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin d⊢ ContDiff ℝ 2 ↿fun t x => (vectorPotential c A t x).ofLp jd:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin d⊢ ContDiff ℝ 2 ↿fun t x => (vectorPotential c A t x).ofLp i
all_goals
· d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin d⊢ ContDiff ℝ 2 ↿fun t x => (vectorPotential c A t x).ofLp i apply vectorPotential_comp_contDiff _ hA All goals completed! 🐙
_ = ∂[i] (A.electricField c t · j) x - ∂[j] (A.electricField c t · i) x := by d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin d⊢ Space.deriv j (fun x => ∂ₜ (fun t => (vectorPotential c A t x).ofLp i) t) x -
Space.deriv i (fun x => ∂ₜ (fun t => (vectorPotential c A t x).ofLp j) t) x =
Space.deriv i (fun x => (electricField c A t x).ofLp j) x - Space.deriv j (fun x => (electricField c A t x).ofLp i) x
have hφ := scalarPotential_contDiff_space c A hA t d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dhφ:ContDiff ℝ 2 (scalarPotential c A t)⊢ Space.deriv j (fun x => ∂ₜ (fun t => (vectorPotential c A t x).ofLp i) t) x -
Space.deriv i (fun x => ∂ₜ (fun t => (vectorPotential c A t x).ofLp j) t) x =
Space.deriv i (fun x => (electricField c A t x).ofLp j) x - Space.deriv j (fun x => (electricField c A t x).ofLp i) x
have hd1 : ∀ k : Fin d, DifferentiableAt ℝ (fun x => -(A.electricField c t x).ofLp k) x :=
fun k => (electricField_apply_differentiable_space hA t k).neg.differentiableAt d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dhφ:ContDiff ℝ 2 (scalarPotential c A t)hd1:∀ (k : Fin d), DifferentiableAt ℝ (fun x => -(electricField c A t x).ofLp k) x⊢ Space.deriv j (fun x => ∂ₜ (fun t => (vectorPotential c A t x).ofLp i) t) x -
Space.deriv i (fun x => ∂ₜ (fun t => (vectorPotential c A t x).ofLp j) t) x =
Space.deriv i (fun x => (electricField c A t x).ofLp j) x - Space.deriv j (fun x => (electricField c A t x).ofLp i) x
have hd2 : ∀ k : Fin d, DifferentiableAt ℝ (Space.deriv k (scalarPotential c A t)) x :=
fun k => (Space.deriv_differentiable hφ k).differentiableAt d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dhφ:ContDiff ℝ 2 (scalarPotential c A t)hd1:∀ (k : Fin d), DifferentiableAt ℝ (fun x => -(electricField c A t x).ofLp k) xhd2:∀ (k : Fin d), DifferentiableAt ℝ (Space.deriv k (scalarPotential c A t)) x⊢ Space.deriv j (fun x => ∂ₜ (fun t => (vectorPotential c A t x).ofLp i) t) x -
Space.deriv i (fun x => ∂ₜ (fun t => (vectorPotential c A t x).ofLp j) t) x =
Space.deriv i (fun x => (electricField c A t x).ofLp j) x - Space.deriv j (fun x => (electricField c A t x).ofLp i) x
conv_lhs =>
enter [1, 2, x] d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex✝:Space di:Fin dj:Fin dhφ:ContDiff ℝ 2 (scalarPotential c A t)hd1:∀ (k : Fin d), DifferentiableAt ℝ (fun x => -(electricField c A t x).ofLp k) xhd2:∀ (k : Fin d), DifferentiableAt ℝ (Space.deriv k (scalarPotential c A t)) xx:Space d| ∂ₜ (fun t => (vectorPotential c A t x).ofLp i) t
rw [time_deriv_comp_vectorPotential_eq_electricField (hA.differentiable (by d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex✝:Space di:Fin dj:Fin dhφ:ContDiff ℝ 2 (scalarPotential c A t)hd1:∀ (k : Fin d), DifferentiableAt ℝ (fun x => -(electricField c A t x).ofLp k) xhd2:∀ (k : Fin d), DifferentiableAt ℝ (Space.deriv k (scalarPotential c A t)) xx:Space d⊢ 2 ≠ 0 simp All goals completed! 🐙))]
conv_lhs =>
enter [2, 2, x] d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex✝:Space di:Fin dj:Fin dhφ:ContDiff ℝ 2 (scalarPotential c A t)hd1:∀ (k : Fin d), DifferentiableAt ℝ (fun x => -(electricField c A t x).ofLp k) xhd2:∀ (k : Fin d), DifferentiableAt ℝ (Space.deriv k (scalarPotential c A t)) xx:Space d| ∂ₜ (fun t => (vectorPotential c A t x).ofLp j) t
rw [time_deriv_comp_vectorPotential_eq_electricField (hA.differentiable (by d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex✝:Space di:Fin dj:Fin dhφ:ContDiff ℝ 2 (scalarPotential c A t)hd1:∀ (k : Fin d), DifferentiableAt ℝ (fun x => -(electricField c A t x).ofLp k) xhd2:∀ (k : Fin d), DifferentiableAt ℝ (Space.deriv k (scalarPotential c A t)) xx:Space d⊢ 2 ≠ 0 simp All goals completed! 🐙))]
rw [Space.deriv_eq_fderiv_basis, d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dhφ:ContDiff ℝ 2 (scalarPotential c A t)hd1:∀ (k : Fin d), DifferentiableAt ℝ (fun x => -(electricField c A t x).ofLp k) xhd2:∀ (k : Fin d), DifferentiableAt ℝ (Space.deriv k (scalarPotential c A t)) x⊢ (fderiv ℝ (fun x => -(electricField c A t x).ofLp i - Space.deriv i (scalarPotential c A t) x) x) (Space.basis j) -
Space.deriv i (fun x => -(electricField c A t x).ofLp j - Space.deriv j (scalarPotential c A t) x) x =
Space.deriv i (fun x => (electricField c A t x).ofLp j) x - Space.deriv j (fun x => (electricField c A t x).ofLp i) x d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dhφ:ContDiff ℝ 2 (scalarPotential c A t)hd1:∀ (k : Fin d), DifferentiableAt ℝ (fun x => -(electricField c A t x).ofLp k) xhd2:∀ (k : Fin d), DifferentiableAt ℝ (Space.deriv k (scalarPotential c A t)) x⊢ (-fderiv ℝ (fun x => (electricField c A t x).ofLp i) x - fderiv ℝ (Space.deriv i (scalarPotential c A t)) x)
(Space.basis j) -
Space.deriv i (fun x => -(electricField c A t x).ofLp j - Space.deriv j (scalarPotential c A t) x) x =
Space.deriv i (fun x => (electricField c A t x).ofLp j) x - Space.deriv j (fun x => (electricField c A t x).ofLp i) x fderiv_fun_sub (hd1 i) (hd2 i), d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dhφ:ContDiff ℝ 2 (scalarPotential c A t)hd1:∀ (k : Fin d), DifferentiableAt ℝ (fun x => -(electricField c A t x).ofLp k) xhd2:∀ (k : Fin d), DifferentiableAt ℝ (Space.deriv k (scalarPotential c A t)) x⊢ (fderiv ℝ (fun x => -(electricField c A t x).ofLp i) x - fderiv ℝ (Space.deriv i (scalarPotential c A t)) x)
(Space.basis j) -
Space.deriv i (fun x => -(electricField c A t x).ofLp j - Space.deriv j (scalarPotential c A t) x) x =
Space.deriv i (fun x => (electricField c A t x).ofLp j) x - Space.deriv j (fun x => (electricField c A t x).ofLp i) x d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dhφ:ContDiff ℝ 2 (scalarPotential c A t)hd1:∀ (k : Fin d), DifferentiableAt ℝ (fun x => -(electricField c A t x).ofLp k) xhd2:∀ (k : Fin d), DifferentiableAt ℝ (Space.deriv k (scalarPotential c A t)) x⊢ (-fderiv ℝ (fun x => (electricField c A t x).ofLp i) x - fderiv ℝ (Space.deriv i (scalarPotential c A t)) x)
(Space.basis j) -
Space.deriv i (fun x => -(electricField c A t x).ofLp j - Space.deriv j (scalarPotential c A t) x) x =
Space.deriv i (fun x => (electricField c A t x).ofLp j) x - Space.deriv j (fun x => (electricField c A t x).ofLp i) x fderiv_fun_neg d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dhφ:ContDiff ℝ 2 (scalarPotential c A t)hd1:∀ (k : Fin d), DifferentiableAt ℝ (fun x => -(electricField c A t x).ofLp k) xhd2:∀ (k : Fin d), DifferentiableAt ℝ (Space.deriv k (scalarPotential c A t)) x⊢ (-fderiv ℝ (fun x => (electricField c A t x).ofLp i) x - fderiv ℝ (Space.deriv i (scalarPotential c A t)) x)
(Space.basis j) -
Space.deriv i (fun x => -(electricField c A t x).ofLp j - Space.deriv j (scalarPotential c A t) x) x =
Space.deriv i (fun x => (electricField c A t x).ofLp j) x - Space.deriv j (fun x => (electricField c A t x).ofLp i) x d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dhφ:ContDiff ℝ 2 (scalarPotential c A t)hd1:∀ (k : Fin d), DifferentiableAt ℝ (fun x => -(electricField c A t x).ofLp k) xhd2:∀ (k : Fin d), DifferentiableAt ℝ (Space.deriv k (scalarPotential c A t)) x⊢ (-fderiv ℝ (fun x => (electricField c A t x).ofLp i) x - fderiv ℝ (Space.deriv i (scalarPotential c A t)) x)
(Space.basis j) -
Space.deriv i (fun x => -(electricField c A t x).ofLp j - Space.deriv j (scalarPotential c A t) x) x =
Space.deriv i (fun x => (electricField c A t x).ofLp j) x - Space.deriv j (fun x => (electricField c A t x).ofLp i) x] d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dhφ:ContDiff ℝ 2 (scalarPotential c A t)hd1:∀ (k : Fin d), DifferentiableAt ℝ (fun x => -(electricField c A t x).ofLp k) xhd2:∀ (k : Fin d), DifferentiableAt ℝ (Space.deriv k (scalarPotential c A t)) x⊢ (-fderiv ℝ (fun x => (electricField c A t x).ofLp i) x - fderiv ℝ (Space.deriv i (scalarPotential c A t)) x)
(Space.basis j) -
Space.deriv i (fun x => -(electricField c A t x).ofLp j - Space.deriv j (scalarPotential c A t) x) x =
Space.deriv i (fun x => (electricField c A t x).ofLp j) x - Space.deriv j (fun x => (electricField c A t x).ofLp i) x
conv_lhs =>
enter [2] d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dhφ:ContDiff ℝ 2 (scalarPotential c A t)hd1:∀ (k : Fin d), DifferentiableAt ℝ (fun x => -(electricField c A t x).ofLp k) xhd2:∀ (k : Fin d), DifferentiableAt ℝ (Space.deriv k (scalarPotential c A t)) x| Space.deriv i (fun x => -(electricField c A t x).ofLp j - Space.deriv j (scalarPotential c A t) x) x
rw [Space.deriv_eq_fderiv_basis, fderiv_fun_sub (hd1 j) (hd2 j), fderiv_fun_neg] d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dhφ:ContDiff ℝ 2 (scalarPotential c A t)hd1:∀ (k : Fin d), DifferentiableAt ℝ (fun x => -(electricField c A t x).ofLp k) xhd2:∀ (k : Fin d), DifferentiableAt ℝ (Space.deriv k (scalarPotential c A t)) x| (-fderiv ℝ (fun x => (electricField c A t x).ofLp j) x - fderiv ℝ (Space.deriv j (scalarPotential c A t)) x)
(Space.basis i)
simp only [FunLike.coe_sub, Pi.sub_apply, _root_.neg_apply, ← Space.deriv_eq_fderiv_basis] d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dhφ:ContDiff ℝ 2 (scalarPotential c A t)hd1:∀ (k : Fin d), DifferentiableAt ℝ (fun x => -(electricField c A t x).ofLp k) xhd2:∀ (k : Fin d), DifferentiableAt ℝ (Space.deriv k (scalarPotential c A t)) x⊢ -Space.deriv j (fun x => (electricField c A t x).ofLp i) x - Space.deriv j (Space.deriv i (scalarPotential c A t)) x -
(-Space.deriv i (fun x => (electricField c A t x).ofLp j) x -
Space.deriv i (Space.deriv j (scalarPotential c A t)) x) =
Space.deriv i (fun x => (electricField c A t x).ofLp j) x - Space.deriv j (fun x => (electricField c A t x).ofLp i) x
rw [Space.deriv_commute _ hφ d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dhφ:ContDiff ℝ 2 (scalarPotential c A t)hd1:∀ (k : Fin d), DifferentiableAt ℝ (fun x => -(electricField c A t x).ofLp k) xhd2:∀ (k : Fin d), DifferentiableAt ℝ (Space.deriv k (scalarPotential c A t)) x⊢ -Space.deriv j (fun x => (electricField c A t x).ofLp i) x - Space.deriv i (Space.deriv j (scalarPotential c A t)) x -
(-Space.deriv i (fun x => (electricField c A t x).ofLp j) x -
Space.deriv i (Space.deriv j (scalarPotential c A t)) x) =
Space.deriv i (fun x => (electricField c A t x).ofLp j) x - Space.deriv j (fun x => (electricField c A t x).ofLp i) x d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dhφ:ContDiff ℝ 2 (scalarPotential c A t)hd1:∀ (k : Fin d), DifferentiableAt ℝ (fun x => -(electricField c A t x).ofLp k) xhd2:∀ (k : Fin d), DifferentiableAt ℝ (Space.deriv k (scalarPotential c A t)) x⊢ -Space.deriv j (fun x => (electricField c A t x).ofLp i) x - Space.deriv i (Space.deriv j (scalarPotential c A t)) x -
(-Space.deriv i (fun x => (electricField c A t x).ofLp j) x -
Space.deriv i (Space.deriv j (scalarPotential c A t)) x) =
Space.deriv i (fun x => (electricField c A t x).ofLp j) x - Space.deriv j (fun x => (electricField c A t x).ofLp i) x] d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin dhφ:ContDiff ℝ 2 (scalarPotential c A t)hd1:∀ (k : Fin d), DifferentiableAt ℝ (fun x => -(electricField c A t x).ofLp k) xhd2:∀ (k : Fin d), DifferentiableAt ℝ (Space.deriv k (scalarPotential c A t)) x⊢ -Space.deriv j (fun x => (electricField c A t x).ofLp i) x - Space.deriv i (Space.deriv j (scalarPotential c A t)) x -
(-Space.deriv i (fun x => (electricField c A t x).ofLp j) x -
Space.deriv i (Space.deriv j (scalarPotential c A t)) x) =
Space.deriv i (fun x => (electricField c A t x).ofLp j) x - Space.deriv j (fun x => (electricField c A t x).ofLp i) x
ring All goals completed! 🐙
lemma time_deriv_time_deriv_magneticFieldMatrix {d : ℕ} {c : SpeedOfLight}
(A : ElectromagneticPotential d)
(hA : ContDiff ℝ 3 A) (t : Time) (x : Space d) (i j : Fin d) :
∂ₜ (∂ₜ (A.magneticFieldMatrix c · x (i, j))) t =
∂[i] (fun x => ∂ₜ (fun t => A.electricField c t x) t j) x -
∂[j] (fun x => ∂ₜ (fun t => A.electricField c t x) t i) x := by d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex:Space di:Fin dj:Fin d⊢ ∂ₜ (∂ₜ fun x_1 => magneticFieldMatrix c A x_1 x (i, j)) t =
Space.deriv i (fun x => (∂ₜ (fun t => electricField c A t x) t).ofLp j) x -
Space.deriv j (fun x => (∂ₜ (fun t => electricField c A t x) t).ofLp i) x
conv_lhs =>
enter [1, t] d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt✝:Timex:Space di:Fin dj:Fin dt:Time| ∂ₜ (fun x_1 => magneticFieldMatrix c A x_1 x (i, j)) t
rw [time_deriv_magneticFieldMatrix A (hA.of_le (right_eq_inf.mp rfl)) t x i j] d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt✝:Timex:Space di:Fin dj:Fin dt:Time| Space.deriv i (fun x => (electricField c A t x).ofLp j) x - Space.deriv j (fun x => (electricField c A t x).ofLp i) x
rw [Time.deriv, d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex:Space di:Fin dj:Fin d⊢ (fderiv ℝ
(fun t =>
Space.deriv i (fun x => (electricField c A t x).ofLp j) x -
Space.deriv j (fun x => (electricField c A t x).ofLp i) x)
t)
1 =
Space.deriv i (fun x => (∂ₜ (fun t => electricField c A t x) t).ofLp j) x -
Space.deriv j (fun x => (∂ₜ (fun t => electricField c A t x) t).ofLp i) x d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex:Space di:Fin dj:Fin d⊢ (fderiv ℝ (fun t => Space.deriv i (fun x => (electricField c A t x).ofLp j) x) t -
fderiv ℝ (fun t => Space.deriv j (fun x => (electricField c A t x).ofLp i) x) t)
1 =
Space.deriv i (fun x => (∂ₜ (fun t => electricField c A t x) t).ofLp j) x -
Space.deriv j (fun x => (∂ₜ (fun t => electricField c A t x) t).ofLp i) xhf d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex:Space di:Fin dj:Fin d⊢ DifferentiableAt ℝ (fun t => Space.deriv i (fun x => (electricField c A t x).ofLp j) x) thg d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex:Space di:Fin dj:Fin d⊢ DifferentiableAt ℝ (fun t => Space.deriv j (fun x => (electricField c A t x).ofLp i) x) t fderiv_fun_sub d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex:Space di:Fin dj:Fin d⊢ (fderiv ℝ (fun t => Space.deriv i (fun x => (electricField c A t x).ofLp j) x) t -
fderiv ℝ (fun t => Space.deriv j (fun x => (electricField c A t x).ofLp i) x) t)
1 =
Space.deriv i (fun x => (∂ₜ (fun t => electricField c A t x) t).ofLp j) x -
Space.deriv j (fun x => (∂ₜ (fun t => electricField c A t x) t).ofLp i) xhf d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex:Space di:Fin dj:Fin d⊢ DifferentiableAt ℝ (fun t => Space.deriv i (fun x => (electricField c A t x).ofLp j) x) thg d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex:Space di:Fin dj:Fin d⊢ DifferentiableAt ℝ (fun t => Space.deriv j (fun x => (electricField c A t x).ofLp i) x) t d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex:Space di:Fin dj:Fin d⊢ (fderiv ℝ (fun t => Space.deriv i (fun x => (electricField c A t x).ofLp j) x) t -
fderiv ℝ (fun t => Space.deriv j (fun x => (electricField c A t x).ofLp i) x) t)
1 =
Space.deriv i (fun x => (∂ₜ (fun t => electricField c A t x) t).ofLp j) x -
Space.deriv j (fun x => (∂ₜ (fun t => electricField c A t x) t).ofLp i) xhf d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex:Space di:Fin dj:Fin d⊢ DifferentiableAt ℝ (fun t => Space.deriv i (fun x => (electricField c A t x).ofLp j) x) thg d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex:Space di:Fin dj:Fin d⊢ DifferentiableAt ℝ (fun t => Space.deriv j (fun x => (electricField c A t x).ofLp i) x) t] d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex:Space di:Fin dj:Fin d⊢ (fderiv ℝ (fun t => Space.deriv i (fun x => (electricField c A t x).ofLp j) x) t -
fderiv ℝ (fun t => Space.deriv j (fun x => (electricField c A t x).ofLp i) x) t)
1 =
Space.deriv i (fun x => (∂ₜ (fun t => electricField c A t x) t).ofLp j) x -
Space.deriv j (fun x => (∂ₜ (fun t => electricField c A t x) t).ofLp i) xhf d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex:Space di:Fin dj:Fin d⊢ DifferentiableAt ℝ (fun t => Space.deriv i (fun x => (electricField c A t x).ofLp j) x) thg d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex:Space di:Fin dj:Fin d⊢ DifferentiableAt ℝ (fun t => Space.deriv j (fun x => (electricField c A t x).ofLp i) x) t
simp [← Time.deriv_eq] d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex:Space di:Fin dj:Fin d⊢ ∂ₜ (fun t => Space.deriv i (fun x => (electricField c A t x).ofLp j) x) t -
∂ₜ (fun t => Space.deriv j (fun x => (electricField c A t x).ofLp i) x) t =
Space.deriv i (fun x => (∂ₜ (fun t => electricField c A t x) t).ofLp j) x -
Space.deriv j (fun x => (∂ₜ (fun t => electricField c A t x) t).ofLp i) xhf d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex:Space di:Fin dj:Fin d⊢ DifferentiableAt ℝ (fun t => Space.deriv i (fun x => (electricField c A t x).ofLp j) x) thg d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex:Space di:Fin dj:Fin d⊢ DifferentiableAt ℝ (fun t => Space.deriv j (fun x => (electricField c A t x).ofLp i) x) t
rw [Space.time_deriv_comm_space_deriv _, d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex:Space di:Fin dj:Fin d⊢ Space.deriv i (fun x' => ∂ₜ (fun t' => (electricField c A t' x').ofLp j) t) x -
∂ₜ (fun t => Space.deriv j (fun x => (electricField c A t x).ofLp i) x) t =
Space.deriv i (fun x => (∂ₜ (fun t => electricField c A t x) t).ofLp j) x -
Space.deriv j (fun x => (∂ₜ (fun t => electricField c A t x) t).ofLp i) xd:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex:Space di:Fin dj:Fin d⊢ ContDiff ℝ 2 ↿fun t x => (electricField c A t x).ofLp jhf d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex:Space di:Fin dj:Fin d⊢ DifferentiableAt ℝ (fun t => Space.deriv i (fun x => (electricField c A t x).ofLp j) x) thg d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex:Space di:Fin dj:Fin d⊢ DifferentiableAt ℝ (fun t => Space.deriv j (fun x => (electricField c A t x).ofLp i) x) t d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex:Space di:Fin dj:Fin d⊢ Space.deriv i (fun x' => ∂ₜ (fun t' => (electricField c A t' x').ofLp j) t) x -
Space.deriv j (fun x' => ∂ₜ (fun t' => (electricField c A t' x').ofLp i) t) x =
Space.deriv i (fun x => (∂ₜ (fun t => electricField c A t x) t).ofLp j) x -
Space.deriv j (fun x => (∂ₜ (fun t => electricField c A t x) t).ofLp i) xd:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex:Space di:Fin dj:Fin d⊢ ContDiff ℝ 2 ↿fun t x => (electricField c A t x).ofLp id:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex:Space di:Fin dj:Fin d⊢ ContDiff ℝ 2 ↿fun t x => (electricField c A t x).ofLp jhf d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex:Space di:Fin dj:Fin d⊢ DifferentiableAt ℝ (fun t => Space.deriv i (fun x => (electricField c A t x).ofLp j) x) thg d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex:Space di:Fin dj:Fin d⊢ DifferentiableAt ℝ (fun t => Space.deriv j (fun x => (electricField c A t x).ofLp i) x) t Space.time_deriv_comm_space_deriv _ d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex:Space di:Fin dj:Fin d⊢ Space.deriv i (fun x' => ∂ₜ (fun t' => (electricField c A t' x').ofLp j) t) x -
Space.deriv j (fun x' => ∂ₜ (fun t' => (electricField c A t' x').ofLp i) t) x =
Space.deriv i (fun x => (∂ₜ (fun t => electricField c A t x) t).ofLp j) x -
Space.deriv j (fun x => (∂ₜ (fun t => electricField c A t x) t).ofLp i) xd:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex:Space di:Fin dj:Fin d⊢ ContDiff ℝ 2 ↿fun t x => (electricField c A t x).ofLp id:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex:Space di:Fin dj:Fin d⊢ ContDiff ℝ 2 ↿fun t x => (electricField c A t x).ofLp jhf d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex:Space di:Fin dj:Fin d⊢ DifferentiableAt ℝ (fun t => Space.deriv i (fun x => (electricField c A t x).ofLp j) x) thg d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex:Space di:Fin dj:Fin d⊢ DifferentiableAt ℝ (fun t => Space.deriv j (fun x => (electricField c A t x).ofLp i) x) t d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex:Space di:Fin dj:Fin d⊢ Space.deriv i (fun x' => ∂ₜ (fun t' => (electricField c A t' x').ofLp j) t) x -
Space.deriv j (fun x' => ∂ₜ (fun t' => (electricField c A t' x').ofLp i) t) x =
Space.deriv i (fun x => (∂ₜ (fun t => electricField c A t x) t).ofLp j) x -
Space.deriv j (fun x => (∂ₜ (fun t => electricField c A t x) t).ofLp i) xd:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex:Space di:Fin dj:Fin d⊢ ContDiff ℝ 2 ↿fun t x => (electricField c A t x).ofLp id:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex:Space di:Fin dj:Fin d⊢ ContDiff ℝ 2 ↿fun t x => (electricField c A t x).ofLp jhf d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex:Space di:Fin dj:Fin d⊢ DifferentiableAt ℝ (fun t => Space.deriv i (fun x => (electricField c A t x).ofLp j) x) thg d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex:Space di:Fin dj:Fin d⊢ DifferentiableAt ℝ (fun t => Space.deriv j (fun x => (electricField c A t x).ofLp i) x) t] d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex:Space di:Fin dj:Fin d⊢ Space.deriv i (fun x' => ∂ₜ (fun t' => (electricField c A t' x').ofLp j) t) x -
Space.deriv j (fun x' => ∂ₜ (fun t' => (electricField c A t' x').ofLp i) t) x =
Space.deriv i (fun x => (∂ₜ (fun t => electricField c A t x) t).ofLp j) x -
Space.deriv j (fun x => (∂ₜ (fun t => electricField c A t x) t).ofLp i) xd:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex:Space di:Fin dj:Fin d⊢ ContDiff ℝ 2 ↿fun t x => (electricField c A t x).ofLp id:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex:Space di:Fin dj:Fin d⊢ ContDiff ℝ 2 ↿fun t x => (electricField c A t x).ofLp jhf d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex:Space di:Fin dj:Fin d⊢ DifferentiableAt ℝ (fun t => Space.deriv i (fun x => (electricField c A t x).ofLp j) x) thg d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex:Space di:Fin dj:Fin d⊢ DifferentiableAt ℝ (fun t => Space.deriv j (fun x => (electricField c A t x).ofLp i) x) t
congr e_a.e_f d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex:Space di:Fin dj:Fin d⊢ (fun x' => ∂ₜ (fun t' => (electricField c A t' x').ofLp j) t) = fun x => (∂ₜ (fun t => electricField c A t x) t).ofLp je_a.e_f d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex:Space di:Fin dj:Fin d⊢ (fun x' => ∂ₜ (fun t' => (electricField c A t' x').ofLp i) t) = fun x => (∂ₜ (fun t => electricField c A t x) t).ofLp id:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex:Space di:Fin dj:Fin d⊢ ContDiff ℝ 2 ↿fun t x => (electricField c A t x).ofLp id:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex:Space di:Fin dj:Fin d⊢ ContDiff ℝ 2 ↿fun t x => (electricField c A t x).ofLp jhf d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex:Space di:Fin dj:Fin d⊢ DifferentiableAt ℝ (fun t => Space.deriv i (fun x => (electricField c A t x).ofLp j) x) thg d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex:Space di:Fin dj:Fin d⊢ DifferentiableAt ℝ (fun t => Space.deriv j (fun x => (electricField c A t x).ofLp i) x) t
all_goals first
| (funext x hg d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex:Space di:Fin dj:Fin d⊢ DifferentiableAt ℝ (fun t => Space.deriv j (fun x => (electricField c A t x).ofLp i) x) t
rw [Time.deriv_euclid e_a.e_f d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex✝:Space di:Fin dj:Fin dx:Space d⊢ (∂ₜ (fun t => electricField c A t x) t).ofLp j = (∂ₜ (fun t => electricField c A t x) t).ofLp je_a.e_f.hf d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex✝:Space di:Fin dj:Fin dx:Space d⊢ Differentiable ℝ fun t' => electricField c A t' x e_a.e_f.hf d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex✝:Space di:Fin dj:Fin dx:Space d⊢ Differentiable ℝ fun t' => electricField c A t' x]e_a.e_f.hf d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex✝:Space di:Fin dj:Fin dx:Space d⊢ Differentiable ℝ fun t' => electricField c A t' x
apply electricField_differentiable_time (hA.of_le (right_eq_inf.mp rfl)) All goals completed! 🐙)
| apply electricField_apply_contDiff hA hg d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex:Space di:Fin dj:Fin d⊢ DifferentiableAt ℝ (fun t => Space.deriv j (fun x => (electricField c A t x).ofLp i) x) t
| (apply Differentiable.differentiableAt hg d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex:Space di:Fin dj:Fin d⊢ Differentiable ℝ fun t => Space.deriv j (fun x => (electricField c A t x).ofLp i) x
apply Space.space_deriv_differentiable_time hg d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 3 A.valt:Timex:Space di:Fin dj:Fin d⊢ ContDiff ℝ 2 ↿fun t x => (electricField c A t x).ofLp i
apply electricField_apply_contDiff hA All goals completed! 🐙)
C.8. curl of the magnetic field matrix
lemma curl_magneticFieldMatrix_eq_electricField_fieldStrengthMatrix {d : ℕ} {c : SpeedOfLight}
(A : ElectromagneticPotential d)
(hA : ContDiff ℝ 2 A) (t : Time) (x : Space d) (i : Fin d) :
∑ j, Space.deriv j (A.magneticFieldMatrix c t · (j, i)) x =
(1/c^2) * ∂ₜ (fun t => A.electricField c t x) t i +
(∑ (μ : (Fin 1 ⊕ Fin d)), (∂_ μ (A.fieldStrengthMatrix · (μ, Sum.inr i))
((toTimeAndSpace c).symm (t, x)))) := by d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ ∑ j, Space.deriv j (fun x => magneticFieldMatrix c A t x (j, i)) x =
1 / c.val ^ 2 * (∂ₜ (fun t => electricField c A t x) t).ofLp i +
∑ μ, ∂_ μ (fun x => (A.fieldStrengthMatrix x) (μ, Sum.inr i)) ((toTimeAndSpace c).symm (t, x))
trans (1/c^2) * ∂ₜ (fun t => A.electricField c t x) t i +
(- (1/c^2) * ∂ₜ (fun t => A.electricField c t x) t i +
∑ j, Space.deriv j (A.magneticFieldMatrix c t · (j, i)) x) d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ ∑ j, Space.deriv j (fun x => magneticFieldMatrix c A t x (j, i)) x =
1 / c.val ^ 2 * (∂ₜ (fun t => electricField c A t x) t).ofLp i +
(-(1 / c.val ^ 2) * (∂ₜ (fun t => electricField c A t x) t).ofLp i +
∑ j, Space.deriv j (fun x => magneticFieldMatrix c A t x (j, i)) x)d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ 1 / c.val ^ 2 * (∂ₜ (fun t => electricField c A t x) t).ofLp i +
(-(1 / c.val ^ 2) * (∂ₜ (fun t => electricField c A t x) t).ofLp i +
∑ j, Space.deriv j (fun x => magneticFieldMatrix c A t x (j, i)) x) =
1 / c.val ^ 2 * (∂ₜ (fun t => electricField c A t x) t).ofLp i +
∑ μ, ∂_ μ (fun x => (A.fieldStrengthMatrix x) (μ, Sum.inr i)) ((toTimeAndSpace c).symm (t, x))
· d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ ∑ j, Space.deriv j (fun x => magneticFieldMatrix c A t x (j, i)) x =
1 / c.val ^ 2 * (∂ₜ (fun t => electricField c A t x) t).ofLp i +
(-(1 / c.val ^ 2) * (∂ₜ (fun t => electricField c A t x) t).ofLp i +
∑ j, Space.deriv j (fun x => magneticFieldMatrix c A t x (j, i)) x) ring All goals completed! 🐙
congr 1 e_a d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ -(1 / c.val ^ 2) * (∂ₜ (fun t => electricField c A t x) t).ofLp i +
∑ j, Space.deriv j (fun x => magneticFieldMatrix c A t x (j, i)) x =
∑ μ, ∂_ μ (fun x => (A.fieldStrengthMatrix x) (μ, Sum.inr i)) ((toTimeAndSpace c).symm (t, x))
rw [Fintype.sum_sum_type e_a d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ -(1 / c.val ^ 2) * (∂ₜ (fun t => electricField c A t x) t).ofLp i +
∑ j, Space.deriv j (fun x => magneticFieldMatrix c A t x (j, i)) x =
∑ a₁, ∂_ (Sum.inl a₁) (fun x => (A.fieldStrengthMatrix x) (Sum.inl a₁, Sum.inr i)) ((toTimeAndSpace c).symm (t, x)) +
∑ a₂, ∂_ (Sum.inr a₂) (fun x => (A.fieldStrengthMatrix x) (Sum.inr a₂, Sum.inr i)) ((toTimeAndSpace c).symm (t, x)) e_a d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ -(1 / c.val ^ 2) * (∂ₜ (fun t => electricField c A t x) t).ofLp i +
∑ j, Space.deriv j (fun x => magneticFieldMatrix c A t x (j, i)) x =
∑ a₁, ∂_ (Sum.inl a₁) (fun x => (A.fieldStrengthMatrix x) (Sum.inl a₁, Sum.inr i)) ((toTimeAndSpace c).symm (t, x)) +
∑ a₂, ∂_ (Sum.inr a₂) (fun x => (A.fieldStrengthMatrix x) (Sum.inr a₂, Sum.inr i)) ((toTimeAndSpace c).symm (t, x))] e_a d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ -(1 / c.val ^ 2) * (∂ₜ (fun t => electricField c A t x) t).ofLp i +
∑ j, Space.deriv j (fun x => magneticFieldMatrix c A t x (j, i)) x =
∑ a₁, ∂_ (Sum.inl a₁) (fun x => (A.fieldStrengthMatrix x) (Sum.inl a₁, Sum.inr i)) ((toTimeAndSpace c).symm (t, x)) +
∑ a₂, ∂_ (Sum.inr a₂) (fun x => (A.fieldStrengthMatrix x) (Sum.inr a₂, Sum.inr i)) ((toTimeAndSpace c).symm (t, x))
congr e_a.e_a d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ -(1 / c.val ^ 2) * (∂ₜ (fun t => electricField c A t x) t).ofLp i =
∑ a₁, ∂_ (Sum.inl a₁) (fun x => (A.fieldStrengthMatrix x) (Sum.inl a₁, Sum.inr i)) ((toTimeAndSpace c).symm (t, x))e_a.e_a.e_f d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ (fun j => Space.deriv j (fun x => magneticFieldMatrix c A t x (j, i)) x) = fun a₂ =>
∂_ (Sum.inr a₂) (fun x => (A.fieldStrengthMatrix x) (Sum.inr a₂, Sum.inr i)) ((toTimeAndSpace c).symm (t, x))
· e_a.e_a d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ -(1 / c.val ^ 2) * (∂ₜ (fun t => electricField c A t x) t).ofLp i =
∑ a₁, ∂_ (Sum.inl a₁) (fun x => (A.fieldStrengthMatrix x) (Sum.inl a₁, Sum.inr i)) ((toTimeAndSpace c).symm (t, x)) simp e_a.e_a d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ -((c.val ^ 2)⁻¹ * (∂ₜ (fun t => electricField c A t x) t).ofLp i) =
∂_ (Sum.inl 0) (fun x => (A.fieldStrengthMatrix x) (Sum.inl 0, Sum.inr i)) ((toTimeAndSpace c).symm (t, x))
rw [time_deriv_electricField_eq_fieldStrengthMatrix hA t x i e_a.e_a d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ -((c.val ^ 2)⁻¹ *
(-c.val ^ 2 *
∂_ (Sum.inl 0) (fun x => (A.fieldStrengthMatrix x) (Sum.inl 0, Sum.inr i)) ((toTimeAndSpace c).symm (t, x)))) =
∂_ (Sum.inl 0) (fun x => (A.fieldStrengthMatrix x) (Sum.inl 0, Sum.inr i)) ((toTimeAndSpace c).symm (t, x)) e_a.e_a d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ -((c.val ^ 2)⁻¹ *
(-c.val ^ 2 *
∂_ (Sum.inl 0) (fun x => (A.fieldStrengthMatrix x) (Sum.inl 0, Sum.inr i)) ((toTimeAndSpace c).symm (t, x)))) =
∂_ (Sum.inl 0) (fun x => (A.fieldStrengthMatrix x) (Sum.inl 0, Sum.inr i)) ((toTimeAndSpace c).symm (t, x))]e_a.e_a d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ -((c.val ^ 2)⁻¹ *
(-c.val ^ 2 *
∂_ (Sum.inl 0) (fun x => (A.fieldStrengthMatrix x) (Sum.inl 0, Sum.inr i)) ((toTimeAndSpace c).symm (t, x)))) =
∂_ (Sum.inl 0) (fun x => (A.fieldStrengthMatrix x) (Sum.inl 0, Sum.inr i)) ((toTimeAndSpace c).symm (t, x))
field_simp All goals completed! 🐙
· e_a.e_a.e_f d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin d⊢ (fun j => Space.deriv j (fun x => magneticFieldMatrix c A t x (j, i)) x) = fun a₂ =>
∂_ (Sum.inr a₂) (fun x => (A.fieldStrengthMatrix x) (Sum.inr a₂, Sum.inr i)) ((toTimeAndSpace c).symm (t, x)) funext j e_a.e_a.e_f d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin d⊢ Space.deriv j (fun x => magneticFieldMatrix c A t x (j, i)) x =
∂_ (Sum.inr j) (fun x => (A.fieldStrengthMatrix x) (Sum.inr j, Sum.inr i)) ((toTimeAndSpace c).symm (t, x))
rw [SpaceTime.deriv_sum_inr c e_a.e_a.e_f d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin d⊢ Space.deriv j (fun x => magneticFieldMatrix c A t x (j, i)) x =
Space.deriv j
(fun y =>
(A.fieldStrengthMatrix ((toTimeAndSpace c).symm (((toTimeAndSpace c) ((toTimeAndSpace c).symm (t, x))).1, y)))
(Sum.inr j, Sum.inr i))
((toTimeAndSpace c) ((toTimeAndSpace c).symm (t, x))).2e_a.e_a.e_f.hf d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin d⊢ Differentiable ℝ fun x => (A.fieldStrengthMatrix x) (Sum.inr j, Sum.inr i) e_a.e_a.e_f d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin d⊢ Space.deriv j (fun x => magneticFieldMatrix c A t x (j, i)) x =
Space.deriv j
(fun y =>
(A.fieldStrengthMatrix ((toTimeAndSpace c).symm (((toTimeAndSpace c) ((toTimeAndSpace c).symm (t, x))).1, y)))
(Sum.inr j, Sum.inr i))
((toTimeAndSpace c) ((toTimeAndSpace c).symm (t, x))).2e_a.e_a.e_f.hf d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin d⊢ Differentiable ℝ fun x => (A.fieldStrengthMatrix x) (Sum.inr j, Sum.inr i)]e_a.e_a.e_f d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin d⊢ Space.deriv j (fun x => magneticFieldMatrix c A t x (j, i)) x =
Space.deriv j
(fun y =>
(A.fieldStrengthMatrix ((toTimeAndSpace c).symm (((toTimeAndSpace c) ((toTimeAndSpace c).symm (t, x))).1, y)))
(Sum.inr j, Sum.inr i))
((toTimeAndSpace c) ((toTimeAndSpace c).symm (t, x))).2e_a.e_a.e_f.hf d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin d⊢ Differentiable ℝ fun x => (A.fieldStrengthMatrix x) (Sum.inr j, Sum.inr i)
simp e_a.e_a.e_f d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin d⊢ Space.deriv j (fun x => magneticFieldMatrix c A t x (j, i)) x =
Space.deriv j (fun y => (A.fieldStrengthMatrix ((toTimeAndSpace c).symm (t, y))) (Sum.inr j, Sum.inr i)) xe_a.e_a.e_f.hf d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin d⊢ Differentiable ℝ fun x => (A.fieldStrengthMatrix x) (Sum.inr j, Sum.inr i)
rfl e_a.e_a.e_f.hf d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin d⊢ Differentiable ℝ fun x => (A.fieldStrengthMatrix x) (Sum.inr j, Sum.inr i)
· e_a.e_a.e_f.hf d:ℕc:SpeedOfLightA:ElectromagneticPotential dhA:ContDiff ℝ 2 A.valt:Timex:Space di:Fin dj:Fin d⊢ Differentiable ℝ fun x => (A.fieldStrengthMatrix x) (Sum.inr j, Sum.inr i) apply fieldStrengthMatrix_differentiable hA All goals completed! 🐙