Imports
/- Copyright (c) 2024 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.QFT.AnomalyCancellation.Basic public import Mathlib.RepresentationTheory.Basic

Group actions on ACC systems.

We define a group action on an ACC system as a representation on the vector spaces of charges under which the anomaly equations are invariant.

From this we define

    The representation acting on the vector space of solutions to the linear ACCs.

    The group action acting on solutions to the linear + quadratic equations.

    The group action acting on solutions to the anomaly cancellation conditions.

@[expose] public section

The type of a group action on a system of charges is defined as a representation on the vector spaces of charges under which the anomaly equations are invariant.

The underlying type of the group.

An instance given the group component the structure of a Group.

The representation of group acting on the vector space of charges.

The invariance of the linear ACCs under the group action.

The invariance of the quadratic ACCs under the group action.

The invariance of the cubic ACC under the group action.

structure ACCSystemGroupAction (χ : ACCSystem) where group : Type groupInst : Group group rep : Representation group χ.Charges linearInvariant : i g S, χ.linearACCs i (rep g S) = χ.linearACCs i S quadInvariant : i g S, (χ.quadraticACCs i) (rep g S) = (χ.quadraticACCs i) S cubicInvariant : g S, χ.cubicACC (rep g S) = χ.cubicACC S

The given instance of a group on the group field of a ACCSystemGroupAction.

instance {χ : ACCSystem} (G : ACCSystemGroupAction χ) : Group G.group := G.groupInst

The action of a group element on the vector space of linear solutions.

All goals completed! 🐙 map_add' S T := ACCSystemLinear.LinSols.ext ((G.rep g).map_add' _ _) map_smul' a S := ACCSystemLinear.LinSols.ext ((G.rep g).map_smul' _ _)

The representation acting on the vector space of solutions to the linear ACCs.

χ:ACCSystemG:ACCSystemGroupAction χS:χ.LinSols1 S.val = (1 S).val All goals completed! 🐙

The representation on the charges and anomaly free solutions commutes with the inclusion.

lemma rep_linSolRep_commute {χ : ACCSystem} (G : ACCSystemGroupAction χ) (g : G.group) (S : χ.LinSols) : χ.linSolsIncl (G.linSolRep g S) = G.rep g (χ.linSolsIncl S) := rfl

A multiplicative action of G.group on quadSols.

set_option backward.isDefEq.respectTransparency false inχ:ACCSystemG:ACCSystemGroupAction χS:χ.QuadSols1 S.val = S.val All goals completed! 🐙
lemma linSolRep_quadSolAction_commute {χ : ACCSystem} (G : ACCSystemGroupAction χ) (g : G.group) (S : χ.QuadSols) : χ.quadSolsInclLinSols (G.quadSolAction.toFun _ _ S g) = G.linSolRep g (χ.quadSolsInclLinSols S) := rfllemma rep_quadSolAction_commute {χ : ACCSystem} (G : ACCSystemGroupAction χ) (g : G.group) (S : χ.QuadSols) : χ.quadSolsIncl (G.quadSolAction.toFun _ _ S g) = G.rep g (χ.quadSolsIncl S) := rfl

The group action acting on solutions to the anomaly cancellation conditions.

χ:ACCSystemG:ACCSystemGroupAction χS:χ.Sols1 S.val = S.val All goals completed! 🐙
lemma quadSolAction_solAction_commute {χ : ACCSystem} (G : ACCSystemGroupAction χ) (g : G.group) (S : χ.Sols) : χ.solsInclQuadSols (G.solAction.toFun _ _ S g) = G.quadSolAction.toFun _ _ (χ.solsInclQuadSols S) g := rfllemma linSolRep_solAction_commute {χ : ACCSystem} (G : ACCSystemGroupAction χ) (g : G.group) (S : χ.Sols) : χ.solsInclLinSols (G.solAction.toFun _ _ S g) = G.linSolRep g (χ.solsInclLinSols S) := rfllemma rep_solAction_commute {χ : ACCSystem} (G : ACCSystemGroupAction χ) (g : G.group) (S : χ.Sols) : χ.solsIncl (G.solAction.toFun _ _ S g) = G.rep g (χ.solsIncl S) := rfl