docs: Fix typos in docs
This commit is contained in:
parent
cc20d096ea
commit
d2ce55ddd0
27 changed files with 67 additions and 63 deletions
|
@ -83,7 +83,7 @@ lemma S₂₃_nonneg (V : Quotient CKMMatrixSetoid) : 0 ≤ S₂₃ V := by
|
||||||
· rw [S₂₃, if_neg ha, @div_nonneg_iff]
|
· rw [S₂₃, if_neg ha, @div_nonneg_iff]
|
||||||
exact .inl (.intro (VAbs_ge_zero 1 2 V) (Real.sqrt_nonneg (VudAbs V ^ 2 + VusAbs V ^ 2)))
|
exact .inl (.intro (VAbs_ge_zero 1 2 V) (Real.sqrt_nonneg (VudAbs V ^ 2 + VusAbs V ^ 2)))
|
||||||
|
|
||||||
/-- For a CKM matrix `sin θ₁₂` is less then or equal to 1. -/
|
/-- For a CKM matrix `sin θ₁₂` is less than or equal to 1. -/
|
||||||
lemma S₁₂_leq_one (V : Quotient CKMMatrixSetoid) : S₁₂ V ≤ 1 := by
|
lemma S₁₂_leq_one (V : Quotient CKMMatrixSetoid) : S₁₂ V ≤ 1 := by
|
||||||
rw [S₁₂, @div_le_one_iff]
|
rw [S₁₂, @div_le_one_iff]
|
||||||
by_cases h1 : √(VudAbs V ^ 2 + VusAbs V ^ 2) = 0
|
by_cases h1 : √(VudAbs V ^ 2 + VusAbs V ^ 2) = 0
|
||||||
|
@ -99,11 +99,11 @@ lemma S₁₂_leq_one (V : Quotient CKMMatrixSetoid) : S₁₂ V ≤ 1 := by
|
||||||
simp only [Fin.isValue, le_add_iff_nonneg_left]
|
simp only [Fin.isValue, le_add_iff_nonneg_left]
|
||||||
exact sq_nonneg (VAbs 0 0 V)
|
exact sq_nonneg (VAbs 0 0 V)
|
||||||
|
|
||||||
/-- For a CKM matrix `sin θ₁₃` is less then or equal to 1. -/
|
/-- For a CKM matrix `sin θ₁₃` is less than or equal to 1. -/
|
||||||
lemma S₁₃_leq_one (V : Quotient CKMMatrixSetoid) : S₁₃ V ≤ 1 :=
|
lemma S₁₃_leq_one (V : Quotient CKMMatrixSetoid) : S₁₃ V ≤ 1 :=
|
||||||
VAbs_leq_one 0 2 V
|
VAbs_leq_one 0 2 V
|
||||||
|
|
||||||
/-- For a CKM matrix `sin θ₂₃` is less then or equal to 1. -/
|
/-- For a CKM matrix `sin θ₂₃` is less than or equal to 1. -/
|
||||||
lemma S₂₃_leq_one (V : Quotient CKMMatrixSetoid) : S₂₃ V ≤ 1 := by
|
lemma S₂₃_leq_one (V : Quotient CKMMatrixSetoid) : S₂₃ V ≤ 1 := by
|
||||||
by_cases ha : VubAbs V = 1
|
by_cases ha : VubAbs V = 1
|
||||||
· rw [S₂₃, if_pos ha]
|
· rw [S₂₃, if_pos ha]
|
||||||
|
|
|
@ -47,7 +47,7 @@ lemma IsOrthochronous_iff_ge_one :
|
||||||
rw [IsOrthochronous_iff_futurePointing, NormOne.FuturePointing.mem_iff_inl_one_le_inl,
|
rw [IsOrthochronous_iff_futurePointing, NormOne.FuturePointing.mem_iff_inl_one_le_inl,
|
||||||
toNormOne_inl]
|
toNormOne_inl]
|
||||||
|
|
||||||
/-- A Lorentz transformation is not orthochronous if and only if its `0 0` element is less then
|
/-- A Lorentz transformation is not orthochronous if and only if its `0 0` element is less than
|
||||||
or equal to minus one. -/
|
or equal to minus one. -/
|
||||||
lemma not_orthochronous_iff_le_neg_one :
|
lemma not_orthochronous_iff_le_neg_one :
|
||||||
¬ IsOrthochronous Λ ↔ Λ.1 (Sum.inl 0) (Sum.inl 0) ≤ -1 := by
|
¬ IsOrthochronous Λ ↔ Λ.1 (Sum.inl 0) (Sum.inl 0) ≤ -1 := by
|
||||||
|
@ -65,8 +65,8 @@ def timeCompCont : C(LorentzGroup d, ℝ) := ⟨fun Λ => Λ.1 (Sum.inl 0) (Sum.
|
||||||
Continuous.matrix_elem (continuous_iff_le_induced.mpr fun _ a => a) (Sum.inl 0) (Sum.inl 0)⟩
|
Continuous.matrix_elem (continuous_iff_le_induced.mpr fun _ a => a) (Sum.inl 0) (Sum.inl 0)⟩
|
||||||
|
|
||||||
/-- An auxiliary function used in the definition of `orthchroMapReal`.
|
/-- An auxiliary function used in the definition of `orthchroMapReal`.
|
||||||
This function takes all elements of `ℝ` less then `-1` to `-1`,
|
This function takes all elements of `ℝ` less than `-1` to `-1`,
|
||||||
all elements of `R` greater then `1` to `1` and preserves all other elements. -/
|
all elements of `R` greater than `1` to `1` and preserves all other elements. -/
|
||||||
def stepFunction : ℝ → ℝ := fun t =>
|
def stepFunction : ℝ → ℝ := fun t =>
|
||||||
if t ≤ -1 then -1 else
|
if t ≤ -1 then -1 else
|
||||||
if 1 ≤ t then 1 else t
|
if 1 ≤ t then 1 else t
|
||||||
|
|
|
@ -42,7 +42,7 @@ def fieldOpIdealSet : Set (FieldOpFreeAlgebra 𝓕) :=
|
||||||
This corresponds to the condition that two operators with different statistics always
|
This corresponds to the condition that two operators with different statistics always
|
||||||
super-commute. In other words, fermions and bosons always super-commute.
|
super-commute. In other words, fermions and bosons always super-commute.
|
||||||
- `[ofCrAnOpF φ1, [ofCrAnOpF φ2, ofCrAnOpF φ3]ₛca]ₛca`. This corresponds to the condition,
|
- `[ofCrAnOpF φ1, [ofCrAnOpF φ2, ofCrAnOpF φ3]ₛca]ₛca`. This corresponds to the condition,
|
||||||
when combined with the conditions above, that the super-commutator is in the center of the
|
when combined with the conditions above, that the super-commutator is in the center
|
||||||
of the algebra.
|
of the algebra.
|
||||||
-/
|
-/
|
||||||
abbrev FieldOpAlgebra : Type := (TwoSidedIdeal.span 𝓕.fieldOpIdealSet).ringCon.Quotient
|
abbrev FieldOpAlgebra : Type := (TwoSidedIdeal.span 𝓕.fieldOpIdealSet).ringCon.Quotient
|
||||||
|
|
|
@ -223,9 +223,9 @@ lemma ι_normalOrderF_eq_of_equiv (a b : 𝓕.FieldOpFreeAlgebra) (h : a ≈ b)
|
||||||
|
|
||||||
`FieldOpAlgebra 𝓕 →ₗ[ℂ] FieldOpAlgebra 𝓕`
|
`FieldOpAlgebra 𝓕 →ₗ[ℂ] FieldOpAlgebra 𝓕`
|
||||||
|
|
||||||
defined as the decent of `ι ∘ₗ normalOrderF : FieldOpFreeAlgebra 𝓕 →ₗ[ℂ] FieldOpAlgebra 𝓕`
|
defined as the descent of `ι ∘ₗ normalOrderF : FieldOpFreeAlgebra 𝓕 →ₗ[ℂ] FieldOpAlgebra 𝓕`
|
||||||
from `FieldOpFreeAlgebra 𝓕` to `FieldOpAlgebra 𝓕`.
|
from `FieldOpFreeAlgebra 𝓕` to `FieldOpAlgebra 𝓕`.
|
||||||
This decent exists because `ι ∘ₗ normalOrderF` is well-defined on equivalence classes.
|
This descent exists because `ι ∘ₗ normalOrderF` is well-defined on equivalence classes.
|
||||||
|
|
||||||
The notation `𝓝(a)` is used for `normalOrder a` for `a` an element of `FieldOpAlgebra 𝓕`. -/
|
The notation `𝓝(a)` is used for `normalOrder a` for `a` an element of `FieldOpAlgebra 𝓕`. -/
|
||||||
noncomputable def normalOrder : FieldOpAlgebra 𝓕 →ₗ[ℂ] FieldOpAlgebra 𝓕 where
|
noncomputable def normalOrder : FieldOpAlgebra 𝓕 →ₗ[ℂ] FieldOpAlgebra 𝓕 where
|
||||||
|
|
|
@ -350,7 +350,7 @@ then `φ * 𝓝(φ₀φ₁…φₙ)` is equal to
|
||||||
|
|
||||||
`𝓝(φφ₀φ₁…φₙ) + ∑ i, (𝓢(φ,φ₀φ₁…φᵢ₋₁) • [anPart φ, φᵢ]ₛ) * 𝓝(φ₀…φᵢ₋₁φᵢ₊₁…φₙ)`.
|
`𝓝(φφ₀φ₁…φₙ) + ∑ i, (𝓢(φ,φ₀φ₁…φᵢ₋₁) • [anPart φ, φᵢ]ₛ) * 𝓝(φ₀…φᵢ₋₁φᵢ₊₁…φₙ)`.
|
||||||
|
|
||||||
The proof of ultimately goes as follows:
|
The proof ultimately goes as follows:
|
||||||
- `ofFieldOp_eq_crPart_add_anPart` is used to split `φ` into its creation and annihilation parts.
|
- `ofFieldOp_eq_crPart_add_anPart` is used to split `φ` into its creation and annihilation parts.
|
||||||
- The following relation is then used
|
- The following relation is then used
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,7 @@ variable {𝓕 : FieldSpecification}
|
||||||
|
|
||||||
where `s` is the exchange sign for `φ` and the uncontracted fields in `φ₀…φᵢ₋₁`.
|
where `s` is the exchange sign for `φ` and the uncontracted fields in `φ₀…φᵢ₋₁`.
|
||||||
|
|
||||||
The prove of this result ultimately a consequence of `normalOrder_superCommute_eq_zero`.
|
The proof of this result ultimately is a consequence of `normalOrder_superCommute_eq_zero`.
|
||||||
-/
|
-/
|
||||||
lemma normalOrder_uncontracted_none (φ : 𝓕.FieldOp) (φs : List 𝓕.FieldOp)
|
lemma normalOrder_uncontracted_none (φ : 𝓕.FieldOp) (φs : List 𝓕.FieldOp)
|
||||||
(i : Fin φs.length.succ) (φsΛ : WickContraction φs.length) :
|
(i : Fin φs.length.succ) (φsΛ : WickContraction φs.length) :
|
||||||
|
@ -104,7 +104,7 @@ lemma normalOrder_uncontracted_none (φ : 𝓕.FieldOp) (φs : List 𝓕.FieldOp
|
||||||
`𝓝([φsΛ ↩Λ φ i (some k)]ᵘᶜ)` is equal to the normal ordering of `[φsΛ]ᵘᶜ` with the `𝓕.FieldOp`
|
`𝓝([φsΛ ↩Λ φ i (some k)]ᵘᶜ)` is equal to the normal ordering of `[φsΛ]ᵘᶜ` with the `𝓕.FieldOp`
|
||||||
corresponding to `k` removed.
|
corresponding to `k` removed.
|
||||||
|
|
||||||
The proof of this result ultimately a consequence of definitions.
|
The proof of this result ultimately is a consequence of definitions.
|
||||||
-/
|
-/
|
||||||
lemma normalOrder_uncontracted_some (φ : 𝓕.FieldOp) (φs : List 𝓕.FieldOp)
|
lemma normalOrder_uncontracted_some (φ : 𝓕.FieldOp) (φs : List 𝓕.FieldOp)
|
||||||
(i : Fin φs.length.succ) (φsΛ : WickContraction φs.length) (k : φsΛ.uncontracted) :
|
(i : Fin φs.length.succ) (φsΛ : WickContraction φs.length) (k : φsΛ.uncontracted) :
|
||||||
|
|
|
@ -27,7 +27,7 @@ noncomputable section
|
||||||
|
|
||||||
`φsΛ.sign • φsΛ.staticContract * 𝓝([φsΛ]ᵘᶜ)`.
|
`φsΛ.sign • φsΛ.staticContract * 𝓝([φsΛ]ᵘᶜ)`.
|
||||||
|
|
||||||
This is term which appears in the static version Wick's theorem. -/
|
This is a term which appears in the static version Wick's theorem. -/
|
||||||
def staticWickTerm {φs : List 𝓕.FieldOp} (φsΛ : WickContraction φs.length) : 𝓕.FieldOpAlgebra :=
|
def staticWickTerm {φs : List 𝓕.FieldOp} (φsΛ : WickContraction φs.length) : 𝓕.FieldOpAlgebra :=
|
||||||
φsΛ.sign • φsΛ.staticContract * 𝓝(ofFieldOpList [φsΛ]ᵘᶜ)
|
φsΛ.sign • φsΛ.staticContract * 𝓝(ofFieldOpList [φsΛ]ᵘᶜ)
|
||||||
|
|
||||||
|
@ -120,7 +120,7 @@ holds
|
||||||
|
|
||||||
where the sum is over all `k` in `Option φsΛ.uncontracted`, so `k` is either `none` or `some k`.
|
where the sum is over all `k` in `Option φsΛ.uncontracted`, so `k` is either `none` or `some k`.
|
||||||
|
|
||||||
The proof of proceeds as follows:
|
The proof proceeds as follows:
|
||||||
- `ofFieldOp_mul_normalOrder_ofFieldOpList_eq_sum` is used to expand `φ 𝓝([φsΛ]ᵘᶜ)` as
|
- `ofFieldOp_mul_normalOrder_ofFieldOpList_eq_sum` is used to expand `φ 𝓝([φsΛ]ᵘᶜ)` as
|
||||||
a sum over `k` in `Option φsΛ.uncontracted` of terms involving `[anPart φ, φs[k]]ₛ`.
|
a sum over `k` in `Option φsΛ.uncontracted` of terms involving `[anPart φ, φs[k]]ₛ`.
|
||||||
- Then `staticWickTerm_insert_zero_none` and `staticWickTerm_insert_zero_some` are
|
- Then `staticWickTerm_insert_zero_none` and `staticWickTerm_insert_zero_some` are
|
||||||
|
|
|
@ -32,7 +32,7 @@ The proof is via induction on `φs`.
|
||||||
The inductive step works as follows:
|
The inductive step works as follows:
|
||||||
|
|
||||||
For the LHS:
|
For the LHS:
|
||||||
1. The proof considers `φ₀…φₙ` as `φ₀(φ₁…φₙ)` and use the induction hypothesis on `φ₁…φₙ`.
|
1. The proof considers `φ₀…φₙ` as `φ₀(φ₁…φₙ)` and uses the induction hypothesis on `φ₁…φₙ`.
|
||||||
2. This gives terms of the form `φ * φsΛ.staticWickTerm` on which
|
2. This gives terms of the form `φ * φsΛ.staticWickTerm` on which
|
||||||
`mul_staticWickTerm_eq_sum` is used where `φsΛ` is a Wick contraction of `φ₁…φₙ`,
|
`mul_staticWickTerm_eq_sum` is used where `φsΛ` is a Wick contraction of `φ₁…φₙ`,
|
||||||
to rewrite terms as a sum over optional uncontracted elements of `φsΛ`
|
to rewrite terms as a sum over optional uncontracted elements of `φsΛ`
|
||||||
|
@ -45,7 +45,7 @@ For the RHS:
|
||||||
is split via `insertLift_sum` into a sum over Wick contractions `φsΛ` of `φ₁…φₙ` and
|
is split via `insertLift_sum` into a sum over Wick contractions `φsΛ` of `φ₁…φₙ` and
|
||||||
sum over optional uncontracted elements of `φsΛ`.
|
sum over optional uncontracted elements of `φsΛ`.
|
||||||
|
|
||||||
Both side now are sums over the same thing and their terms equate by the nature of the
|
Both sides are now sums over the same thing and their terms equate by the nature of the
|
||||||
lemmas used.
|
lemmas used.
|
||||||
|
|
||||||
-/
|
-/
|
||||||
|
|
|
@ -92,7 +92,7 @@ lemma superCommuteRight_eq_of_equiv (a1 a2 : 𝓕.FieldOpFreeAlgebra) (h : a1
|
||||||
|
|
||||||
`FieldOpAlgebra 𝓕 →ₗ[ℂ] FieldOpAlgebra 𝓕 →ₗ[ℂ] FieldOpAlgebra 𝓕`
|
`FieldOpAlgebra 𝓕 →ₗ[ℂ] FieldOpAlgebra 𝓕 →ₗ[ℂ] FieldOpAlgebra 𝓕`
|
||||||
|
|
||||||
defined as the decent of `ι ∘ superCommuteF` in both arguments.
|
defined as the descent of `ι ∘ superCommuteF` in both arguments.
|
||||||
In particular for `φs` and `φs'` lists of `𝓕.CrAnFieldOp` in `FieldOpAlgebra 𝓕` the following
|
In particular for `φs` and `φs'` lists of `𝓕.CrAnFieldOp` in `FieldOpAlgebra 𝓕` the following
|
||||||
relation holds:
|
relation holds:
|
||||||
|
|
||||||
|
|
|
@ -371,9 +371,9 @@ lemma ι_timeOrderF_eq_of_equiv (a b : 𝓕.FieldOpFreeAlgebra) (h : a ≈ b) :
|
||||||
|
|
||||||
`FieldOpAlgebra 𝓕 →ₗ[ℂ] FieldOpAlgebra 𝓕`
|
`FieldOpAlgebra 𝓕 →ₗ[ℂ] FieldOpAlgebra 𝓕`
|
||||||
|
|
||||||
defined as the decent of `ι ∘ₗ timeOrderF : FieldOpFreeAlgebra 𝓕 →ₗ[ℂ] FieldOpAlgebra 𝓕` from
|
defined as the descent of `ι ∘ₗ timeOrderF : FieldOpFreeAlgebra 𝓕 →ₗ[ℂ] FieldOpAlgebra 𝓕` from
|
||||||
`FieldOpFreeAlgebra 𝓕` to `FieldOpAlgebra 𝓕`.
|
`FieldOpFreeAlgebra 𝓕` to `FieldOpAlgebra 𝓕`.
|
||||||
This decent exists because `ι ∘ₗ timeOrderF` is well-defined on equivalence classes.
|
This descent exists because `ι ∘ₗ timeOrderF` is well-defined on equivalence classes.
|
||||||
|
|
||||||
The notation `𝓣(a)` is used for `timeOrder a`. -/
|
The notation `𝓣(a)` is used for `timeOrder a`. -/
|
||||||
noncomputable def timeOrder : FieldOpAlgebra 𝓕 →ₗ[ℂ] FieldOpAlgebra 𝓕 where
|
noncomputable def timeOrder : FieldOpAlgebra 𝓕 →ₗ[ℂ] FieldOpAlgebra 𝓕 where
|
||||||
|
|
|
@ -29,7 +29,7 @@ noncomputable section
|
||||||
|
|
||||||
`φsΛ.sign • φsΛ.timeContract * 𝓝([φsΛ]ᵘᶜ)`.
|
`φsΛ.sign • φsΛ.timeContract * 𝓝([φsΛ]ᵘᶜ)`.
|
||||||
|
|
||||||
This is term which appears in the Wick's theorem. -/
|
This is a term which appears in the Wick's theorem. -/
|
||||||
def wickTerm {φs : List 𝓕.FieldOp} (φsΛ : WickContraction φs.length) : 𝓕.FieldOpAlgebra :=
|
def wickTerm {φs : List 𝓕.FieldOp} (φsΛ : WickContraction φs.length) : 𝓕.FieldOpAlgebra :=
|
||||||
φsΛ.sign • φsΛ.timeContract * 𝓝(ofFieldOpList [φsΛ]ᵘᶜ)
|
φsΛ.sign • φsΛ.timeContract * 𝓝(ofFieldOpList [φsΛ]ᵘᶜ)
|
||||||
|
|
||||||
|
@ -95,10 +95,10 @@ lemma wickTerm_insert_none (φ : 𝓕.FieldOp) (φs : List 𝓕.FieldOp)
|
||||||
|
|
||||||
/-- For a list `φs = φ₀…φₙ` of `𝓕.FieldOp`, a Wick contraction `φsΛ` of `φs`, an element `φ` of
|
/-- For a list `φs = φ₀…φₙ` of `𝓕.FieldOp`, a Wick contraction `φsΛ` of `φs`, an element `φ` of
|
||||||
`𝓕.FieldOp`, `i ≤ φs.length` and a `k` in `φsΛ.uncontracted`,
|
`𝓕.FieldOp`, `i ≤ φs.length` and a `k` in `φsΛ.uncontracted`,
|
||||||
such that all `𝓕.FieldOp` in `φ₀…φᵢ₋₁` have time strictly less then `φ` and
|
such that all `𝓕.FieldOp` in `φ₀…φᵢ₋₁` have time strictly less than `φ` and
|
||||||
`φ` has a time greater then or equal to all `FieldOp` in `φ₀…φₙ`, then
|
`φ` has a time greater than or equal to all `FieldOp` in `φ₀…φₙ`, then
|
||||||
`(φsΛ ↩Λ φ i (some k)).staticWickTerm`
|
`(φsΛ ↩Λ φ i (some k)).staticWickTerm`
|
||||||
is equal the product of
|
is equal to the product of
|
||||||
- the sign `𝓢(φ, φ₀…φᵢ₋₁) `
|
- the sign `𝓢(φ, φ₀…φᵢ₋₁) `
|
||||||
- the sign `φsΛ.sign`
|
- the sign `φsΛ.sign`
|
||||||
- `φsΛ.timeContract`
|
- `φsΛ.timeContract`
|
||||||
|
@ -177,14 +177,14 @@ lemma wickTerm_insert_some (φ : 𝓕.FieldOp) (φs : List 𝓕.FieldOp)
|
||||||
/--
|
/--
|
||||||
For a list `φs = φ₀…φₙ` of `𝓕.FieldOp`, a Wick contraction `φsΛ` of `φs`, an element `φ` of
|
For a list `φs = φ₀…φₙ` of `𝓕.FieldOp`, a Wick contraction `φsΛ` of `φs`, an element `φ` of
|
||||||
`𝓕.FieldOp`, and `i ≤ φs.length`
|
`𝓕.FieldOp`, and `i ≤ φs.length`
|
||||||
such that all `𝓕.FieldOp` in `φ₀…φᵢ₋₁` have time strictly less then `φ` and
|
such that all `𝓕.FieldOp` in `φ₀…φᵢ₋₁` have time strictly less than `φ` and
|
||||||
`φ` has a time greater then or equal to all `FieldOp` in `φ₀…φₙ`, then
|
`φ` has a time greater than or equal to all `FieldOp` in `φ₀…φₙ`, then
|
||||||
|
|
||||||
`φ * φsΛ.wickTerm = 𝓢(φ, φ₀…φᵢ₋₁) • ∑ k, (φsΛ ↩Λ φ i k).wickTerm`
|
`φ * φsΛ.wickTerm = 𝓢(φ, φ₀…φᵢ₋₁) • ∑ k, (φsΛ ↩Λ φ i k).wickTerm`
|
||||||
|
|
||||||
where the sum is over all `k` in `Option φsΛ.uncontracted`, so `k` is either `none` or `some k`.
|
where the sum is over all `k` in `Option φsΛ.uncontracted`, so `k` is either `none` or `some k`.
|
||||||
|
|
||||||
The proof of proceeds as follows:
|
The proof proceeds as follows:
|
||||||
- `ofFieldOp_mul_normalOrder_ofFieldOpList_eq_sum` is used to expand `φ 𝓝([φsΛ]ᵘᶜ)` as
|
- `ofFieldOp_mul_normalOrder_ofFieldOpList_eq_sum` is used to expand `φ 𝓝([φsΛ]ᵘᶜ)` as
|
||||||
a sum over `k` in `Option φsΛ.uncontracted` of terms involving `[anPart φ, φs[k]]ₛ`.
|
a sum over `k` in `Option φsΛ.uncontracted` of terms involving `[anPart φ, φs[k]]ₛ`.
|
||||||
- Then `wickTerm_insert_none` and `wickTerm_insert_some` are used to equate terms.
|
- Then `wickTerm_insert_none` and `wickTerm_insert_some` are used to equate terms.
|
||||||
|
|
|
@ -91,7 +91,7 @@ For the RHS:
|
||||||
is split via `insertLift_sum` into a sum over Wick contractions `φsΛ` of `φ₀…φᵢ₋₁φᵢ₊₁φ` and
|
is split via `insertLift_sum` into a sum over Wick contractions `φsΛ` of `φ₀…φᵢ₋₁φᵢ₊₁φ` and
|
||||||
sum over optional uncontracted elements of `φsΛ`.
|
sum over optional uncontracted elements of `φsΛ`.
|
||||||
|
|
||||||
Both side now are sums over the same thing and their terms equate by the nature of the
|
Both sides are now sums over the same thing and their terms equate by the nature of the
|
||||||
lemmas used.
|
lemmas used.
|
||||||
-/
|
-/
|
||||||
theorem wicks_theorem : (φs : List 𝓕.FieldOp) → 𝓣(ofFieldOpList φs) =
|
theorem wicks_theorem : (φs : List 𝓕.FieldOp) → 𝓣(ofFieldOpList φs) =
|
||||||
|
|
|
@ -117,9 +117,9 @@ For a list `φs` of `𝓕.FieldOp`, then `𝓣(φs)` is equal to the sum of
|
||||||
and the second sum is over all Wick contraction `φssucΛ` of the uncontracted elements of `φsΛ`
|
and the second sum is over all Wick contraction `φssucΛ` of the uncontracted elements of `φsΛ`
|
||||||
which do not have any equal time contractions.
|
which do not have any equal time contractions.
|
||||||
|
|
||||||
The proof of proceeds as follows
|
The proof proceeds as follows
|
||||||
- `wicks_theorem` is used to rewrite `𝓣(φs)` as a sum over all Wick contractions.
|
- `wicks_theorem` is used to rewrite `𝓣(φs)` as a sum over all Wick contractions.
|
||||||
- The sum over all Wick contractions is then split additively into two parts using based on having
|
- The sum over all Wick contractions is then split additively into two parts based on having
|
||||||
or not having an equal time contractions.
|
or not having an equal time contractions.
|
||||||
- Using `join`, the sum `∑ φsΛ, _` over Wick contractions which do have equal time contractions
|
- Using `join`, the sum `∑ φsΛ, _` over Wick contractions which do have equal time contractions
|
||||||
is split into two sums `∑ φsΛ, ∑ φsucΛ, _`, the first over non-zero elements
|
is split into two sums `∑ φsΛ, ∑ φsucΛ, _`, the first over non-zero elements
|
||||||
|
|
|
@ -43,7 +43,7 @@ The structure `FieldSpecification` is defined to have the following content:
|
||||||
index of the field and its conjugate.
|
index of the field and its conjugate.
|
||||||
- For every field `f` in `Field`, a type `AsymptoticLabel f` whose elements label the different
|
- For every field `f` in `Field`, a type `AsymptoticLabel f` whose elements label the different
|
||||||
types of incoming asymptotic field operators associated with the
|
types of incoming asymptotic field operators associated with the
|
||||||
field `f` (this is also matches the types of outgoing asymptotic field operators).
|
field `f` (this also matches the types of outgoing asymptotic field operators).
|
||||||
For example,
|
For example,
|
||||||
- For `f` a *real-scalar field*, `AsymptoticLabel f` will have a unique element.
|
- For `f` a *real-scalar field*, `AsymptoticLabel f` will have a unique element.
|
||||||
- For `f` a *complex-scalar field*, `AsymptoticLabel f` will have two elements, one for the
|
- For `f` a *complex-scalar field*, `AsymptoticLabel f` will have two elements, one for the
|
||||||
|
@ -81,7 +81,7 @@ variable (𝓕 : FieldSpecification)
|
||||||
element labelled `outAsymp f e p` corresponding to an outgoing asymptotic field operator of the
|
element labelled `outAsymp f e p` corresponding to an outgoing asymptotic field operator of the
|
||||||
field `f`, of label `e` (e.g. specifying the spin), and momentum `p`.
|
field `f`, of label `e` (e.g. specifying the spin), and momentum `p`.
|
||||||
|
|
||||||
As some intuition, if `f` corresponds to a Weyl-fermion field, then
|
As an example, if `f` corresponds to a Weyl-fermion field, then
|
||||||
- For `inAsymp f e p`, `e` would correspond to a spin `s`, and `inAsymp f e p` would, once
|
- For `inAsymp f e p`, `e` would correspond to a spin `s`, and `inAsymp f e p` would, once
|
||||||
represented in the operator algebra,
|
represented in the operator algebra,
|
||||||
be proportional to the creation operator `a(p, s)`.
|
be proportional to the creation operator `a(p, s)`.
|
||||||
|
@ -120,7 +120,7 @@ def fieldOpToField : 𝓕.FieldOp → 𝓕.Field
|
||||||
- For `φ` an element of `𝓕.FieldOp`, `𝓕 |>ₛ φ` is `fieldOpStatistic φ`.
|
- For `φ` an element of `𝓕.FieldOp`, `𝓕 |>ₛ φ` is `fieldOpStatistic φ`.
|
||||||
- For `φs` a list of `𝓕.FieldOp`, `𝓕 |>ₛ φs` is the product of `fieldOpStatistic φ` over
|
- For `φs` a list of `𝓕.FieldOp`, `𝓕 |>ₛ φs` is the product of `fieldOpStatistic φ` over
|
||||||
the list `φs`.
|
the list `φs`.
|
||||||
- For a function `f : Fin n → 𝓕.FieldOp` and a finset `a` of `Fin n`, `𝓕 |>ₛ ⟨f, a⟩` is the
|
- For a function `f : Fin n → 𝓕.FieldOp` and a finite set `a` of `Fin n`, `𝓕 |>ₛ ⟨f, a⟩` is the
|
||||||
product of `fieldOpStatistic (f i)` for all `i ∈ a`. -/
|
product of `fieldOpStatistic (f i)` for all `i ∈ a`. -/
|
||||||
def fieldOpStatistic : 𝓕.FieldOp → FieldStatistic := 𝓕.statistic ∘ 𝓕.fieldOpToField
|
def fieldOpStatistic : 𝓕.FieldOp → FieldStatistic := 𝓕.statistic ∘ 𝓕.fieldOpToField
|
||||||
|
|
||||||
|
|
|
@ -66,18 +66,18 @@ def fieldOpToCreateAnnihilateTypeCongr : {i j : 𝓕.FieldOp} → i = j →
|
||||||
For a field specification `𝓕`, the (sigma) type `𝓕.CrAnFieldOp`
|
For a field specification `𝓕`, the (sigma) type `𝓕.CrAnFieldOp`
|
||||||
corresponds to the type of creation and annihilation parts of field operators.
|
corresponds to the type of creation and annihilation parts of field operators.
|
||||||
It formally defined to consist of the following elements:
|
It formally defined to consist of the following elements:
|
||||||
- for each in incoming asymptotic field operator `φ` in `𝓕.FieldOp` an element
|
- for each incoming asymptotic field operator `φ` in `𝓕.FieldOp` an element
|
||||||
written as `⟨φ, ()⟩` in `𝓕.CrAnFieldOp`, corresponding to the creation part of `φ`.
|
written as `⟨φ, ()⟩` in `𝓕.CrAnFieldOp`, corresponding to the creation part of `φ`.
|
||||||
Here `φ` has no annihilation part. (Here `()` is the unique element of `Unit`.)
|
Here `φ` has no annihilation part. (Here `()` is the unique element of `Unit`.)
|
||||||
- for each position field operator `φ` in `𝓕.FieldOp` an element of `𝓕.CrAnFieldOp`
|
- for each position field operator `φ` in `𝓕.FieldOp` an element of `𝓕.CrAnFieldOp`
|
||||||
written as `⟨φ, .create⟩`, corresponding to the creation part of `φ`.
|
written as `⟨φ, .create⟩`, corresponding to the creation part of `φ`.
|
||||||
- for each position field operator `φ` in `𝓕.FieldOp` an element of `𝓕.CrAnFieldOp`
|
- for each position field operator `φ` in `𝓕.FieldOp` an element of `𝓕.CrAnFieldOp`
|
||||||
written as `⟨φ, .annihilate⟩`, corresponding to the annihilation part of `φ`.
|
written as `⟨φ, .annihilate⟩`, corresponding to the annihilation part of `φ`.
|
||||||
- for each out outgoing asymptotic field operator `φ` in `𝓕.FieldOp` an element
|
- for each outgoing asymptotic field operator `φ` in `𝓕.FieldOp` an element
|
||||||
written as `⟨φ, ()⟩` in `𝓕.CrAnFieldOp`, corresponding to the annihilation part of `φ`.
|
written as `⟨φ, ()⟩` in `𝓕.CrAnFieldOp`, corresponding to the annihilation part of `φ`.
|
||||||
Here `φ` has no creation part. (Here `()` is the unique element of `Unit`.)
|
Here `φ` has no creation part. (Here `()` is the unique element of `Unit`.)
|
||||||
|
|
||||||
As some intuition, if `f` corresponds to a Weyl-fermion field, it would contribute
|
As an example, if `f` corresponds to a Weyl-fermion field, it would contribute
|
||||||
the following elements to `𝓕.CrAnFieldOp`
|
the following elements to `𝓕.CrAnFieldOp`
|
||||||
- an element corresponding to incoming asymptotic operators for each spin `s`: `a(p, s)`.
|
- an element corresponding to incoming asymptotic operators for each spin `s`: `a(p, s)`.
|
||||||
- an element corresponding to the creation parts of position operators for each each Lorentz
|
- an element corresponding to the creation parts of position operators for each each Lorentz
|
||||||
|
|
|
@ -20,7 +20,7 @@ variable {𝓕 : FieldSpecification}
|
||||||
- `φ₀` is a field creation operator
|
- `φ₀` is a field creation operator
|
||||||
- `φ₁` is a field annihilation operator.
|
- `φ₁` is a field annihilation operator.
|
||||||
|
|
||||||
Thus, colloquially `𝓕.normalOrderRel φ₀ φ₁` says the creation operators are 'less then'
|
Thus, colloquially `𝓕.normalOrderRel φ₀ φ₁` says the creation operators are less than
|
||||||
annihilation operators. -/
|
annihilation operators. -/
|
||||||
def normalOrderRel : 𝓕.CrAnFieldOp → 𝓕.CrAnFieldOp → Prop :=
|
def normalOrderRel : 𝓕.CrAnFieldOp → 𝓕.CrAnFieldOp → Prop :=
|
||||||
fun a b => CreateAnnihilate.normalOrder (𝓕 |>ᶜ a) (𝓕 |>ᶜ b)
|
fun a b => CreateAnnihilate.normalOrder (𝓕 |>ᶜ a) (𝓕 |>ᶜ b)
|
||||||
|
|
|
@ -198,10 +198,10 @@ lemma timeOrderList_eq_maxTimeField_timeOrderList (φ : 𝓕.FieldOp) (φs : Lis
|
||||||
- `φ₀` is an *outgoing* asymptotic operator
|
- `φ₀` is an *outgoing* asymptotic operator
|
||||||
- `φ₁` is an *incoming* asymptotic field operator
|
- `φ₁` is an *incoming* asymptotic field operator
|
||||||
- `φ₀` and `φ₁` are both position field operators where
|
- `φ₀` and `φ₁` are both position field operators where
|
||||||
the `SpaceTime` point of `φ₀` has a time *greater* then or equal to that of `φ₁`.
|
the `SpaceTime` point of `φ₀` has a time *greater* than or equal to that of `φ₁`.
|
||||||
|
|
||||||
Thus, colloquially `𝓕.crAnTimeOrderRel φ₀ φ₁` if `φ₀` has time *greater* then or equal to `φ₁`.
|
Thus, colloquially `𝓕.crAnTimeOrderRel φ₀ φ₁` if `φ₀` has time *greater* than or equal to `φ₁`.
|
||||||
The use of *greater* then rather then *less* then is because on ordering lists of operators
|
The use of *greater* than rather then *less* than is because on ordering lists of operators
|
||||||
it is needed that the operator with the greatest time is to the left.
|
it is needed that the operator with the greatest time is to the left.
|
||||||
-/
|
-/
|
||||||
def crAnTimeOrderRel (a b : 𝓕.CrAnFieldOp) : Prop := 𝓕.timeOrderRel a.1 b.1
|
def crAnTimeOrderRel (a b : 𝓕.CrAnFieldOp) : Prop := 𝓕.timeOrderRel a.1 b.1
|
||||||
|
|
|
@ -17,7 +17,7 @@ variable {𝓕 : FieldSpecification}
|
||||||
Given a natural number `n`, which will correspond to the number of fields needing
|
Given a natural number `n`, which will correspond to the number of fields needing
|
||||||
contracting, a Wick contraction
|
contracting, a Wick contraction
|
||||||
is a finite set of pairs of `Fin n` (numbers `0`, ..., `n-1`), such that no
|
is a finite set of pairs of `Fin n` (numbers `0`, ..., `n-1`), such that no
|
||||||
element of `Fin n` occurs in more then one pair. The pairs are the positions of fields we
|
element of `Fin n` occurs in more than one pair. The pairs are the positions of fields we
|
||||||
'contract' together.
|
'contract' together.
|
||||||
-/
|
-/
|
||||||
def WickContraction (n : ℕ) : Type :=
|
def WickContraction (n : ℕ) : Type :=
|
||||||
|
@ -520,8 +520,8 @@ lemma prod_finset_eq_mul_fst_snd (c : WickContraction n) (a : c.1)
|
||||||
/-- For a field specification `𝓕`, `φs` a list of `𝓕.FieldOp` and a Wick contraction
|
/-- For a field specification `𝓕`, `φs` a list of `𝓕.FieldOp` and a Wick contraction
|
||||||
`φsΛ` of `φs`, the Wick contraction `φsΛ` is said to be `GradingCompliant` if
|
`φsΛ` of `φs`, the Wick contraction `φsΛ` is said to be `GradingCompliant` if
|
||||||
for every pair in `φsΛ` the contracted fields are either both `fermionic` or both `bosonic`.
|
for every pair in `φsΛ` the contracted fields are either both `fermionic` or both `bosonic`.
|
||||||
In other words, in a `GradingCompliant` Wick contraction no contractions occur between
|
In other words, in a `GradingCompliant` Wick contraction if
|
||||||
`fermionic` and `bosonic` fields. -/
|
no contracted pairs occur between `fermionic` and `bosonic` fields. -/
|
||||||
def GradingCompliant (φs : List 𝓕.FieldOp) (φsΛ : WickContraction φs.length) :=
|
def GradingCompliant (φs : List 𝓕.FieldOp) (φsΛ : WickContraction φs.length) :=
|
||||||
∀ (a : φsΛ.1), (𝓕 |>ₛ φs[φsΛ.fstFieldOfContract a]) = (𝓕 |>ₛ φs[φsΛ.sndFieldOfContract a])
|
∀ (a : φsΛ.1), (𝓕 |>ₛ φs[φsΛ.fstFieldOfContract a]) = (𝓕 |>ₛ φs[φsΛ.sndFieldOfContract a])
|
||||||
|
|
||||||
|
|
|
@ -34,8 +34,8 @@ open HepLean.Fin
|
||||||
of `φ` (at position `i`) with the new position of `j` after `φ` is added.
|
of `φ` (at position `i`) with the new position of `j` after `φ` is added.
|
||||||
|
|
||||||
In other words, `φsΛ.insertAndContract φ i j` is formed by adding `φ` to `φs` at position `i`,
|
In other words, `φsΛ.insertAndContract φ i j` is formed by adding `φ` to `φs` at position `i`,
|
||||||
and contracting `φ` with the field originally at position `j` if `j` is not none.
|
and contracting `φ` with the field originally at position `j` if `j` is not `none`.
|
||||||
It is a Wick contraction of `φs.insertIdx φ i`, the list `φs` with `φ` inserted at
|
It is a Wick contraction of the list `φs.insertIdx φ i` corresponding to `φs` with `φ` inserted at
|
||||||
position `i`.
|
position `i`.
|
||||||
|
|
||||||
The notation `φsΛ ↩Λ φ i j` is used to denote `φsΛ.insertAndContract φ i j`. -/
|
The notation `φsΛ ↩Λ φ i j` is used to denote `φsΛ.insertAndContract φ i j`. -/
|
||||||
|
|
|
@ -241,7 +241,7 @@ lemma signInsertNone_eq_filterset (φ : 𝓕.FieldOp) (φs : List 𝓕.FieldOp)
|
||||||
/-- For a list `φs = φ₀…φₙ` of `𝓕.FieldOp`, a graded compliant Wick contraction `φsΛ` of `φs`,
|
/-- For a list `φs = φ₀…φₙ` of `𝓕.FieldOp`, a graded compliant Wick contraction `φsΛ` of `φs`,
|
||||||
an `i ≤ φs.length`, and a `φ` in `𝓕.FieldOp`, then
|
an `i ≤ φs.length`, and a `φ` in `𝓕.FieldOp`, then
|
||||||
`(φsΛ ↩Λ φ i none).sign = s * φsΛ.sign`
|
`(φsΛ ↩Λ φ i none).sign = s * φsΛ.sign`
|
||||||
where `s` is the sign got by moving `φ` through the elements of `φ₀…φᵢ₋₁` which
|
where `s` is the sign arrived at by moving `φ` through the elements of `φ₀…φᵢ₋₁` which
|
||||||
are contracted with some element.
|
are contracted with some element.
|
||||||
|
|
||||||
The proof of this result involves a careful consideration of the contributions of different
|
The proof of this result involves a careful consideration of the contributions of different
|
||||||
|
|
|
@ -35,7 +35,7 @@ noncomputable def staticContract {φs : List 𝓕.FieldOp}
|
||||||
|
|
||||||
`(φsΛ ↩Λ φ i none).staticContract = φsΛ.staticContract`
|
`(φsΛ ↩Λ φ i none).staticContract = φsΛ.staticContract`
|
||||||
|
|
||||||
The prove of this result ultimately a consequence of definitions.
|
The proof of this result ultimately is a consequence of definitions.
|
||||||
-/
|
-/
|
||||||
@[simp]
|
@[simp]
|
||||||
lemma staticContract_insert_none (φ : 𝓕.FieldOp) (φs : List 𝓕.FieldOp)
|
lemma staticContract_insert_none (φ : 𝓕.FieldOp) (φs : List 𝓕.FieldOp)
|
||||||
|
@ -53,7 +53,7 @@ lemma staticContract_insert_none (φ : 𝓕.FieldOp) (φs : List 𝓕.FieldOp)
|
||||||
- `[anPart φ, φs[k]]ₛ` if `i ≤ k` or `[anPart φs[k], φ]ₛ` if `k < i`
|
- `[anPart φ, φs[k]]ₛ` if `i ≤ k` or `[anPart φs[k], φ]ₛ` if `k < i`
|
||||||
- `φsΛ.staticContract`.
|
- `φsΛ.staticContract`.
|
||||||
|
|
||||||
The proof of this result ultimately a consequence of definitions.
|
The proof of this result ultimately is a consequence of definitions.
|
||||||
-/
|
-/
|
||||||
lemma staticContract_insert_some
|
lemma staticContract_insert_some
|
||||||
(φ : 𝓕.FieldOp) (φs : List 𝓕.FieldOp)
|
(φ : 𝓕.FieldOp) (φs : List 𝓕.FieldOp)
|
||||||
|
|
|
@ -96,8 +96,8 @@ lemma empty_mem {φs : List 𝓕.FieldOp} : empty (n := φs.length).EqTimeOnly :
|
||||||
rw [eqTimeOnly_iff_forall_finset]
|
rw [eqTimeOnly_iff_forall_finset]
|
||||||
simp [empty]
|
simp [empty]
|
||||||
|
|
||||||
/-- Let `φs` be a list of `𝓕.FieldOp` and `φsΛ` a `WickContraction` of `φs` with
|
/-- Let `φs` be a list of `𝓕.FieldOp` and `φsΛ` a `WickContraction` of `φs` within
|
||||||
in which every contraction involves two `𝓕FieldOp`s that have the same time, then
|
which every contraction involves two `𝓕FieldOp`s that have the same time, then
|
||||||
`φsΛ.staticContract = φsΛ.timeContract`. -/
|
`φsΛ.staticContract = φsΛ.timeContract`. -/
|
||||||
lemma staticContract_eq_timeContract_of_eqTimeOnly (h : φsΛ.EqTimeOnly) :
|
lemma staticContract_eq_timeContract_of_eqTimeOnly (h : φsΛ.EqTimeOnly) :
|
||||||
φsΛ.staticContract = φsΛ.timeContract := by
|
φsΛ.staticContract = φsΛ.timeContract := by
|
||||||
|
@ -193,8 +193,8 @@ lemma timeOrder_timeContract_mul_of_eqTimeOnly_mid {φs : List 𝓕.FieldOp}
|
||||||
𝓣(a * φsΛ.timeContract.1 * b) = φsΛ.timeContract.1 * 𝓣(a * b) := by
|
𝓣(a * φsΛ.timeContract.1 * b) = φsΛ.timeContract.1 * 𝓣(a * b) := by
|
||||||
exact timeOrder_timeContract_mul_of_eqTimeOnly_mid_induction φsΛ hl a b φsΛ.1.card rfl
|
exact timeOrder_timeContract_mul_of_eqTimeOnly_mid_induction φsΛ hl a b φsΛ.1.card rfl
|
||||||
|
|
||||||
/-- Let `φs` be a list of `𝓕.FieldOp`, `φsΛ` a `WickContraction` of `φs` with
|
/-- Let `φs` be a list of `𝓕.FieldOp`, `φsΛ` a `WickContraction` of `φs` within
|
||||||
in which every contraction involves two `𝓕.FieldOp`s that have the same time and
|
which every contraction involves two `𝓕.FieldOp`s that have the same time and
|
||||||
`b` a general element in `𝓕.FieldOpAlgebra`. Then
|
`b` a general element in `𝓕.FieldOpAlgebra`. Then
|
||||||
`𝓣(φsΛ.timeContract.1 * b) = φsΛ.timeContract.1 * 𝓣(b)`.
|
`𝓣(φsΛ.timeContract.1 * b) = φsΛ.timeContract.1 * 𝓣(b)`.
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,7 @@ noncomputable def timeContract {φs : List 𝓕.FieldOp}
|
||||||
|
|
||||||
`(φsΛ ↩Λ φ i none).timeContract = φsΛ.timeContract`
|
`(φsΛ ↩Λ φ i none).timeContract = φsΛ.timeContract`
|
||||||
|
|
||||||
The prove of this result ultimately a consequence of definitions. -/
|
The proof of this result ultimately is a consequence of definitions. -/
|
||||||
@[simp]
|
@[simp]
|
||||||
lemma timeContract_insert_none (φ : 𝓕.FieldOp) (φs : List 𝓕.FieldOp)
|
lemma timeContract_insert_none (φ : 𝓕.FieldOp) (φs : List 𝓕.FieldOp)
|
||||||
(φsΛ : WickContraction φs.length) (i : Fin φs.length.succ) :
|
(φsΛ : WickContraction φs.length) (i : Fin φs.length.succ) :
|
||||||
|
@ -51,7 +51,7 @@ lemma timeContract_insert_none (φ : 𝓕.FieldOp) (φs : List 𝓕.FieldOp)
|
||||||
- `timeContract φ φs[k]` if `i ≤ k` or `timeContract φs[k] φ` if `k < i`
|
- `timeContract φ φs[k]` if `i ≤ k` or `timeContract φs[k] φ` if `k < i`
|
||||||
- `φsΛ.timeContract`.
|
- `φsΛ.timeContract`.
|
||||||
|
|
||||||
The proof of this result ultimately a consequence of definitions. -/
|
The proof of this result ultimately is a consequence of definitions. -/
|
||||||
lemma timeContract_insertAndContract_some
|
lemma timeContract_insertAndContract_some
|
||||||
(φ : 𝓕.FieldOp) (φs : List 𝓕.FieldOp)
|
(φ : 𝓕.FieldOp) (φs : List 𝓕.FieldOp)
|
||||||
(φsΛ : WickContraction φs.length) (i : Fin φs.length.succ) (j : φsΛ.uncontracted) :
|
(φsΛ : WickContraction φs.length) (i : Fin φs.length.succ) (j : φsΛ.uncontracted) :
|
||||||
|
@ -88,7 +88,7 @@ open FieldStatistic
|
||||||
- two copies of the exchange sign of `φ` with the uncontracted fields in `φ₀…φₖ₋₁`.
|
- two copies of the exchange sign of `φ` with the uncontracted fields in `φ₀…φₖ₋₁`.
|
||||||
These two exchange signs cancel each other out but are included for convenience.
|
These two exchange signs cancel each other out but are included for convenience.
|
||||||
|
|
||||||
The proof of this result ultimately a consequence of definitions and
|
The proof of this result ultimately is a consequence of definitions and
|
||||||
`timeContract_of_timeOrderRel`. -/
|
`timeContract_of_timeOrderRel`. -/
|
||||||
lemma timeContract_insert_some_of_lt
|
lemma timeContract_insert_some_of_lt
|
||||||
(φ : 𝓕.FieldOp) (φs : List 𝓕.FieldOp)
|
(φ : 𝓕.FieldOp) (φs : List 𝓕.FieldOp)
|
||||||
|
@ -132,7 +132,7 @@ lemma timeContract_insert_some_of_lt
|
||||||
- the exchange sign of `φ` with the uncontracted fields in `φ₀…φₖ₋₁`.
|
- the exchange sign of `φ` with the uncontracted fields in `φ₀…φₖ₋₁`.
|
||||||
- the exchange sign of `φ` with the uncontracted fields in `φ₀…φₖ`.
|
- the exchange sign of `φ` with the uncontracted fields in `φ₀…φₖ`.
|
||||||
|
|
||||||
The proof of this result ultimately a consequence of definitions and
|
The proof of this result ultimately is a consequence of definitions and
|
||||||
`timeContract_of_not_timeOrderRel_expand`. -/
|
`timeContract_of_not_timeOrderRel_expand`. -/
|
||||||
lemma timeContract_insert_some_of_not_lt
|
lemma timeContract_insert_some_of_not_lt
|
||||||
(φ : 𝓕.FieldOp) (φs : List 𝓕.FieldOp)
|
(φ : 𝓕.FieldOp) (φs : List 𝓕.FieldOp)
|
||||||
|
|
|
@ -583,7 +583,7 @@ lemma uncontractedList_succAboveEmb_toFinset (c : WickContraction n) (i : Fin n.
|
||||||
-/
|
-/
|
||||||
|
|
||||||
/-- Given a Wick contraction `c : WickContraction n` and a `Fin n.succ`, the number of elements
|
/-- Given a Wick contraction `c : WickContraction n` and a `Fin n.succ`, the number of elements
|
||||||
of `c.uncontractedList` which are less then `i`.
|
of `c.uncontractedList` which are less than `i`.
|
||||||
Suppose we want to insert into `c` at position `i`, then this is the position we would
|
Suppose we want to insert into `c` at position `i`, then this is the position we would
|
||||||
need to insert into `c.uncontractedList`. -/
|
need to insert into `c.uncontractedList`. -/
|
||||||
def uncontractedListOrderPos (c : WickContraction n) (i : Fin n.succ) : ℕ :=
|
def uncontractedListOrderPos (c : WickContraction n) (i : Fin n.succ) : ℕ :=
|
||||||
|
|
|
@ -174,7 +174,7 @@ lemma pos_𝓵_quadDiscrim_zero_bound (h : 0 < P.𝓵) (φ : HiggsField) (x : Sp
|
||||||
rw [neg_le, neg_div'] at h1
|
rw [neg_le, neg_div'] at h1
|
||||||
exact h1
|
exact h1
|
||||||
|
|
||||||
/-- If `P.𝓵` is negative, then if `P.μ2` is greater then zero, for all space-time points,
|
/-- If `P.𝓵` is negative, then if `P.μ2` is greater than zero, for all space-time points,
|
||||||
the potential is negative `P.toFun φ x ≤ 0`. -/
|
the potential is negative `P.toFun φ x ≤ 0`. -/
|
||||||
lemma neg_𝓵_toFun_neg (h : P.𝓵 < 0) (φ : HiggsField) (x : SpaceTime) :
|
lemma neg_𝓵_toFun_neg (h : P.𝓵 < 0) (φ : HiggsField) (x : SpaceTime) :
|
||||||
(0 < P.μ2 ∧ P.toFun φ x ≤ 0) ∨ P.μ2 ≤ 0 := by
|
(0 < P.μ2 ∧ P.toFun φ x ≤ 0) ∨ P.μ2 ≤ 0 := by
|
||||||
|
@ -190,7 +190,7 @@ lemma neg_𝓵_toFun_neg (h : P.𝓵 < 0) (φ : HiggsField) (x : SpaceTime) :
|
||||||
exact mul_nonpos_of_nonpos_of_nonneg (mul_nonpos_of_nonpos_of_nonneg (le_of_lt h)
|
exact mul_nonpos_of_nonpos_of_nonneg (mul_nonpos_of_nonpos_of_nonneg (le_of_lt h)
|
||||||
(sq_nonneg ‖φ x‖)) (sq_nonneg ‖φ x‖)
|
(sq_nonneg ‖φ x‖)) (sq_nonneg ‖φ x‖)
|
||||||
|
|
||||||
/-- If `P.𝓵` is bigger then zero, then if `P.μ2` is less then zero, for all space-time points,
|
/-- If `P.𝓵` is bigger then zero, then if `P.μ2` is less than zero, for all space-time points,
|
||||||
the potential is positive `0 ≤ P.toFun φ x`. -/
|
the potential is positive `0 ≤ P.toFun φ x`. -/
|
||||||
lemma pos_𝓵_toFun_pos (h : 0 < P.𝓵) (φ : HiggsField) (x : SpaceTime) :
|
lemma pos_𝓵_toFun_pos (h : 0 < P.𝓵) (φ : HiggsField) (x : SpaceTime) :
|
||||||
(P.μ2 < 0 ∧ 0 ≤ P.toFun φ x) ∨ 0 ≤ P.μ2 := by
|
(P.μ2 < 0 ∧ 0 ≤ P.toFun φ x) ∨ 0 ≤ P.μ2 := by
|
||||||
|
|
|
@ -285,7 +285,7 @@ def termNodeSyntax (T : Term) : TermElabM Term := do
|
||||||
| _ => return Syntax.mkApp (mkIdent ``TensorTree.vecNode) #[T]
|
| _ => return Syntax.mkApp (mkIdent ``TensorTree.vecNode) #[T]
|
||||||
|
|
||||||
/-- Adjusts a list `List ℕ` by subtracting from each natural number the number
|
/-- Adjusts a list `List ℕ` by subtracting from each natural number the number
|
||||||
of elements before it in the list which are less then itself. This is used
|
of elements before it in the list which are less than itself. This is used
|
||||||
to form a list of pairs which can be used for evaluating indices. -/
|
to form a list of pairs which can be used for evaluating indices. -/
|
||||||
def evalAdjustPos (l : List ℕ) : List ℕ :=
|
def evalAdjustPos (l : List ℕ) : List ℕ :=
|
||||||
let l' := List.mapAccumr
|
let l' := List.mapAccumr
|
||||||
|
@ -335,7 +335,7 @@ def toPairs (l : List ℕ) : List (ℕ × ℕ) :=
|
||||||
| [x] => [(x, 0)]
|
| [x] => [(x, 0)]
|
||||||
|
|
||||||
/-- Adjusts a list `List (ℕ × ℕ)` by subtracting from each natural number the number
|
/-- Adjusts a list `List (ℕ × ℕ)` by subtracting from each natural number the number
|
||||||
of elements before it in the list which are less then itself. This is used
|
of elements before it in the list which are less than itself. This is used
|
||||||
to form a list of pairs which can be used for contracting indices. -/
|
to form a list of pairs which can be used for contracting indices. -/
|
||||||
def contrListAdjust (l : List (ℕ × ℕ)) : List (ℕ × ℕ) :=
|
def contrListAdjust (l : List (ℕ × ℕ)) : List (ℕ × ℕ) :=
|
||||||
let l' := l.flatMap (fun p => [p.1, p.2])
|
let l' := l.flatMap (fun p => [p.1, p.2])
|
||||||
|
|
|
@ -40,6 +40,7 @@ structure DeclInfo where
|
||||||
declString : String
|
declString : String
|
||||||
docString : String
|
docString : String
|
||||||
isDef : Bool
|
isDef : Bool
|
||||||
|
isThm : Bool
|
||||||
|
|
||||||
def DeclInfo.ofName (n : Name) (ns : NameStatus): MetaM DeclInfo := do
|
def DeclInfo.ofName (n : Name) (ns : NameStatus): MetaM DeclInfo := do
|
||||||
let line ← Name.lineNumber n
|
let line ← Name.lineNumber n
|
||||||
|
@ -48,6 +49,7 @@ def DeclInfo.ofName (n : Name) (ns : NameStatus): MetaM DeclInfo := do
|
||||||
let docString ← Name.getDocString n
|
let docString ← Name.getDocString n
|
||||||
let constInfo ← getConstInfo n
|
let constInfo ← getConstInfo n
|
||||||
let isDef := constInfo.isDef ∨ Lean.isStructure (← getEnv) n ∨ constInfo.isInductive
|
let isDef := constInfo.isDef ∨ Lean.isStructure (← getEnv) n ∨ constInfo.isInductive
|
||||||
|
let isThm := declString.startsWith "theorem" ∨ declString.startsWith "noncomputable theorem"
|
||||||
pure {
|
pure {
|
||||||
line := line,
|
line := line,
|
||||||
fileName := fileName,
|
fileName := fileName,
|
||||||
|
@ -55,7 +57,8 @@ def DeclInfo.ofName (n : Name) (ns : NameStatus): MetaM DeclInfo := do
|
||||||
status := ns,
|
status := ns,
|
||||||
declString := declString,
|
declString := declString,
|
||||||
docString := docString,
|
docString := docString,
|
||||||
isDef := isDef}
|
isDef := isDef
|
||||||
|
isThm := isThm}
|
||||||
|
|
||||||
def DeclInfo.toYML (d : DeclInfo) : MetaM String := do
|
def DeclInfo.toYML (d : DeclInfo) : MetaM String := do
|
||||||
let declStringIndent := d.declString.replace "\n" "\n "
|
let declStringIndent := d.declString.replace "\n" "\n "
|
||||||
|
@ -69,6 +72,7 @@ def DeclInfo.toYML (d : DeclInfo) : MetaM String := do
|
||||||
status: \"{d.status}\"
|
status: \"{d.status}\"
|
||||||
link: \"{link}\"
|
link: \"{link}\"
|
||||||
isDef: {d.isDef}
|
isDef: {d.isDef}
|
||||||
|
isThm: {d.isThm}
|
||||||
docString: |
|
docString: |
|
||||||
{docStringIndent}
|
{docStringIndent}
|
||||||
declString: |
|
declString: |
|
||||||
|
@ -244,7 +248,7 @@ def perturbationTheory : Note where
|
||||||
.h2 "Normal order",
|
.h2 "Normal order",
|
||||||
.name ``FieldSpecification.FieldOpAlgebra.normalOrder_uncontracted_none .complete,
|
.name ``FieldSpecification.FieldOpAlgebra.normalOrder_uncontracted_none .complete,
|
||||||
.name ``FieldSpecification.FieldOpAlgebra.normalOrder_uncontracted_some .complete,
|
.name ``FieldSpecification.FieldOpAlgebra.normalOrder_uncontracted_some .complete,
|
||||||
.h1 "Static Wicks theorem",
|
.h1 "Static Wick's theorem",
|
||||||
.h2 "Static contractions",
|
.h2 "Static contractions",
|
||||||
.name ``WickContraction.staticContract .complete,
|
.name ``WickContraction.staticContract .complete,
|
||||||
.name ``WickContraction.staticContract_insert_none .complete,
|
.name ``WickContraction.staticContract_insert_none .complete,
|
||||||
|
@ -255,7 +259,7 @@ def perturbationTheory : Note where
|
||||||
.name ``WickContraction.staticWickTerm_insert_zero_none .complete,
|
.name ``WickContraction.staticWickTerm_insert_zero_none .complete,
|
||||||
.name ``WickContraction.staticWickTerm_insert_zero_some .complete,
|
.name ``WickContraction.staticWickTerm_insert_zero_some .complete,
|
||||||
.name ``WickContraction.mul_staticWickTerm_eq_sum .complete,
|
.name ``WickContraction.mul_staticWickTerm_eq_sum .complete,
|
||||||
.h2 "The Static Wicks theorem",
|
.h2 "The Static Wick's theorem",
|
||||||
.name ``FieldSpecification.FieldOpAlgebra.static_wick_theorem .complete,
|
.name ``FieldSpecification.FieldOpAlgebra.static_wick_theorem .complete,
|
||||||
.h1 "Wick's theorem",
|
.h1 "Wick's theorem",
|
||||||
.h2 "Time contractions",
|
.h2 "Time contractions",
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue