PhysLean/HepLean/Tensors/TensorSpecies/RepIso.lean

45 lines
1.6 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/-
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
-/
import HepLean.Tensors.TensorSpecies.Basic
/-!
# Isomorphism between rep of color `c` and rep of dual color.
-/
open IndexNotation
open CategoryTheory
open MonoidalCategory
noncomputable section
namespace TensorSpecies
variable (S : TensorSpecies)
/-- The morphism from `S.FD.obj (Discrete.mk c)` to `S.FD.obj (Discrete.mk (S.τ c))`
defined by contracting with the metric. -/
def toDualRep (c : S.C) : S.FD.obj (Discrete.mk c) ⟶ S.FD.obj (Discrete.mk (S.τ c)) :=
(ρ_ (S.FD.obj (Discrete.mk c))).inv
≫ (S.FD.obj { as := c } ◁ (S.metric.app (Discrete.mk (S.τ c))))
≫ (α_ (S.FD.obj (Discrete.mk c)) (S.FD.obj (Discrete.mk (S.τ c)))
(S.FD.obj (Discrete.mk (S.τ c)))).inv
≫ (S.contr.app (Discrete.mk c) ▷ S.FD.obj { as := S.τ c })
≫ (λ_ (S.FD.obj (Discrete.mk (S.τ c)))).hom
/-- The `toDualRep` for equal colors is the same, up-to conjugation by a trivial equivalence. -/
lemma toDualRep_congr {c c' : S.C} (h : c = c') : S.toDualRep c = S.FD.map (Discrete.eqToHom h) ≫
S.toDualRep c' ≫ S.FD.map (Discrete.eqToHom (congrArg S.τ h.symm)) := by
subst h
simp only [eqToHom_refl, Discrete.functor_map_id, Category.comp_id, Category.id_comp]
/-- The morphism from `S.FD.obj (Discrete.mk (S.τ c))` to `S.FD.obj (Discrete.mk c)`
defined by contracting with the metric. -/
def fromDualRep (c : S.C) : S.FD.obj (Discrete.mk (S.τ c)) ⟶ S.FD.obj (Discrete.mk c) :=
S.toDualRep (S.τ c) ≫ S.FD.map (Discrete.eqToHom (S.τ_involution c))
end TensorSpecies
end