Basic set up for anomaly cancellation conditions #
This file defines the basic structures for the anomaly cancellation conditions.
It defines a module structure on the charges, and the solutions to the linear ACCs.
A system of charges, specified by the number of charges.
- numberCharges : ℕ
The number of charges.
Instances For
Creates an ACCSystemCharges
object with the specified number of charges.
Equations
- ACCSystemChargesMk n = { numberCharges := n }
Instances For
The charges as functions from Fin χ.numberCharges → ℚ
.
Equations
- χ.Charges = (Fin χ.numberCharges → ℚ)
Instances For
An instance to provide the necessary operations and properties for charges
to form an additive
commutative monoid.
Equations
An instance to provide the necessary operations and properties for charges
to form a module
over the field ℚ
.
Equations
- χ.chargesModule = Pi.module (Fin χ.numberCharges) (fun (a : Fin χ.numberCharges) => ℚ) ℚ
An instance provides the necessary operations and properties for charges
to form an additive
commutative group.
Equations
The module χ.Charges
over ℚ
is finite.
The type of charges plus the linear ACCs.
- numberLinear : ℕ
The number of linear ACCs.
The linear ACCs.
Instances For
The type of solutions to the linear ACCs.
- val : χ.Charges
The underlying charge.
The condition that the charge satisfies the linear ACCs.
Instances For
Two solutions are equal if the underlying charges are equal.
An instance providing the operations and properties for LinSols
to form an
additive commutative monoid.
Equations
An instance providing the operations and properties for LinSols
to form a
module over ℚ
.
Equations
- χ.linSolsModule = Module.mk ⋯ ⋯
An instance providing the operations and properties for LinSols
to form an
additive commutative group.
Equations
The type of charges plus the linear ACCs plus the quadratic ACCs.
- linearACCs : Fin self.numberLinear → self.Charges →ₗ[ℚ] ℚ
- numberQuadratic : ℕ
The number of quadratic ACCs.
- quadraticACCs : Fin self.numberQuadratic → HomogeneousQuadratic self.Charges
The quadratic ACCs.
Instances For
The type of solutions to the linear and quadratic ACCs.
The condition that the charge satisfies the quadratic ACCs.
Instances For
Two QuadSols
are equal if the underlying charges are equal.
An instance giving the properties and structures to define an action of ℚ
on QuadSols
.
Equations
- χ.quadSolsMulAction = MulAction.mk ⋯ ⋯
The inclusion of quadratic solutions into linear solutions.
Equations
- χ.quadSolsInclLinSols = { toFun := ACCSystemQuad.QuadSols.toLinSols, map_smul' := ⋯ }
Instances For
The inclusion of the linear solutions into the quadratic solutions, where there is no quadratic equations (i.e. no U(1)'s in the underlying gauge group).
Equations
- χ.linSolsInclQuadSolsZero h = { toFun := fun (S : χ.LinSols) => { toLinSols := S, quadSol := ⋯ }, map_smul' := ⋯ }
Instances For
The inclusion of quadratic solutions into all charges.
Equations
Instances For
The type of charges plus the anomaly cancellation conditions.
- linearACCs : Fin self.numberLinear → self.Charges →ₗ[ℚ] ℚ
- quadraticACCs : Fin self.numberQuadratic → HomogeneousQuadratic self.Charges
- cubicACC : HomogeneousCubic self.Charges
The cubic ACC.
Instances For
The type of solutions to the anomaly cancellation conditions.
The condition that the charge satisfies the cubic ACC.
Instances For
A charge S
is a solution if it extends to a solution.
Equations
- χ.IsSolution S = ∃ (sol : χ.Sols), sol.val = S
Instances For
An instance giving the properties and structures to define an action of ℚ
on Sols
.
Equations
- χ.solsMulAction = MulAction.mk ⋯ ⋯
The inclusion of Sols
into QuadSols
.
Equations
- χ.solsInclQuadSols = { toFun := ACCSystem.Sols.toQuadSols, map_smul' := ⋯ }
Instances For
The structure of a map between two ACCSystems.
The linear map between vector spaces of charges.
The map between solutions.
The condition that the map commutes with the relevant inclusions.
Instances For
The definition of composition between two ACCSystems.
Equations
- g.comp f = { charges := g.charges ∘ₗ f.charges, anomalyFree := g.anomalyFree ∘ f.anomalyFree, commute := ⋯ }