Polyakov action: worldsheet, induced metric, Polyakov and Nambu–Goto actions, stress–energy tensor
DefinitionPolyakovAction_DefsShared definitions for the Polyakov-action mission (namespace PolyakovAction). Worldsheet points are and target points .
- Partial derivatives. and , computed from the Fréchet derivative of .
- Induced metric. for a target metric .
- Polyakov action. For a worldsheet metric with inverse and determinant , and string tension ,
- Nambu–Goto action. , .
- Stress–energy tensor. .
- Minkowski metric. (timelike , spacelike , as in the source).
These are the objects in terms of which every statement of the mission is phrased.
Formalization Note. Indices are Fin 2 / Fin D; is Mathlib's matrix inverse (zero for a singular matrix); is Real.sqrt (zero on negative inputs); integrals are Bochner integrals for Lebesgue measure on restricted to .
import Mathlib
namespace PolyakovAction
open MeasureTheory
/-- Worldsheet coordinates `σ = (σ 0, σ 1) = (τ, σ)`: index `0` is the timelike
coordinate `τ`, index `1` the spacelike coordinate `σ`. -/
abbrev Worldsheet := Fin 2 → ℝ
/-- The `D`-dimensional target manifold (coordinates `X^μ`). -/
abbrev Spacetime (D : ℕ) := Fin D → ℝ
/-- `∂_a X^μ (σ)`: partial derivative of the `μ`-th component of the embedding
`X` with respect to the worldsheet coordinate `σ^a`. -/
noncomputable def partialDeriv {D : ℕ} (X : Worldsheet → Spacetime D) (a : Fin 2)
(μ : Fin D) (σ : Worldsheet) : ℝ :=
fderiv ℝ X σ (Pi.single a 1) μ
/-- `∂_a ∂_b X^μ (σ)`: second partial derivative of the `μ`-th component of `X`. -/
noncomputable def secondPartialDeriv {D : ℕ} (X : Worldsheet → Spacetime D) (a b : Fin 2)
(μ : Fin D) (σ : Worldsheet) : ℝ :=
fderiv ℝ (fun σ' => fderiv ℝ X σ' (Pi.single b 1)) σ (Pi.single a 1) μ
/-- Induced (pull-back) metric `G_ab = g_μν(X) ∂_a X^μ ∂_b X^ν`. -/
noncomputable def inducedMetric {D : ℕ} (g : Spacetime D → Matrix (Fin D) (Fin D) ℝ)
(X : Worldsheet → Spacetime D) (σ : Worldsheet) : Matrix (Fin 2) (Fin 2) ℝ :=
Matrix.of fun a b => ∑ μ, ∑ ν, g (X σ) μ ν * partialDeriv X a μ σ * partialDeriv X b ν σ
/-- Polyakov Lagrangian density `√(-h) h^{ab} g_μν(X) ∂_a X^μ ∂_b X^ν`, where
`h = det (h_ab)` and `h^{ab}` is the inverse of the worldsheet metric `h_ab`. -/
noncomputable def polyakovLagrangian {D : ℕ} (g : Spacetime D → Matrix (Fin D) (Fin D) ℝ)
(h : Worldsheet → Matrix (Fin 2) (Fin 2) ℝ) (X : Worldsheet → Spacetime D)
(σ : Worldsheet) : ℝ :=
Real.sqrt (-(h σ).det) * ∑ a, ∑ b, (h σ)⁻¹ a b * inducedMetric g X σ a b
/-- Polyakov action over a worldsheet region `U`:
`S = (T/2) ∫_U d²σ √(-h) h^{ab} g_μν(X) ∂_a X^μ ∂_b X^ν`. -/
noncomputable def polyakovAction {D : ℕ} (T : ℝ) (g : Spacetime D → Matrix (Fin D) (Fin D) ℝ)
(h : Worldsheet → Matrix (Fin 2) (Fin 2) ℝ) (X : Worldsheet → Spacetime D)
(U : Set Worldsheet) : ℝ :=
T / 2 * ∫ σ in U, polyakovLagrangian g h X σ
/-- Nambu–Goto action over a worldsheet region `U`: `S = T ∫_U d²σ √(-G)`, `G = det G_ab`. -/
noncomputable def nambuGotoAction {D : ℕ} (T : ℝ) (g : Spacetime D → Matrix (Fin D) (Fin D) ℝ)
(X : Worldsheet → Spacetime D) (U : Set Worldsheet) : ℝ :=
T * ∫ σ in U, Real.sqrt (-(inducedMetric g X σ).det)
/-- Stress–energy tensor (lower indices) `T_ab = T (G_ab - ½ h_ab h^{cd} G_cd)`. -/
noncomputable def stressEnergyTensor {D : ℕ} (T : ℝ)
(g : Spacetime D → Matrix (Fin D) (Fin D) ℝ) (h : Worldsheet → Matrix (Fin 2) (Fin 2) ℝ)
(X : Worldsheet → Spacetime D) (σ : Worldsheet) : Matrix (Fin 2) (Fin 2) ℝ :=
Matrix.of fun a b => T * (inducedMetric g X σ a b
- 1 / 2 * h σ a b * ∑ c, ∑ d, (h σ)⁻¹ c d * inducedMetric g X σ c d)
/-- Minkowski metric `diag(+1, -1, …, -1)` on `ℝⁿ` (timelike `+`, spacelike `-`). -/
def minkowskiMetric (n : ℕ) : Matrix (Fin n) (Fin n) ℝ :=
Matrix.diagonal fun i => if i.val = 0 then 1 else -1
end PolyakovAction
Read-back
What the Lean code literally says, in plain math · Aristotle (Harmonic)
Non-blind read-back — not independent testimony. This read-back was written by the same agent (Aristotle, by Harmonic) that drafted the Lean statements of this proposal, at the account owner's explicit instruction. Its author knew the source material and the intended meaning of the code while writing it, so it is not a blind audit and must not be mistaken for independent testimony. Reviewers should compare it against the Lean code themselves.
The file declares, inside the namespace PolyakovAction:
- (functions ) and .
- : for , the -th coordinate of , where is the Fréchet derivative (defined to be the zero map if is not differentiable at ) and the -th standard basis vector.
- : the -th coordinate of the derivative at , in direction , of the map (again with zero junk at non-differentiable points).
- for an arbitrary matrix-valued (no symmetry or signature is imposed).
- for an arbitrary -matrix-valued ; here for and when .
- (Lebesgue measure on ; value if the integrand is not integrable on ).
- , same conventions.
- .
- : the diagonal matrix with entry at index and at every other index.
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.