PhysLean Documentation

PhysLean.Relativity.Tensors.OverColor.Basic

Over color category. #

Color #

The notion of color will plays a critical role of the formalisation of index notation used here. The way to describe color is through examples. Indices of real Lorentz tensors can either be up-colored or down-colored. On the other hand, indices of Einstein tensors can just down-colored. In the case of complex Lorentz tensors, indices can take one of six different colors, corresponding to up and down, dotted and undotted weyl fermion indices and up and down Lorentz indices.

The core of the category of Types over C.

Equations
Instances For
    theorem IndexNotation.OverColor.Hom.ext {C : Type} {f g : OverColor C} (m n : f g) (h : m.hom = n.hom) :
    m = n

    If m and n are morphisms in OverColor C, they are equal if their underlying morphisms in Over C are equal.

    theorem IndexNotation.OverColor.Hom.ext_iff {C : Type} {f g : OverColor C} (m n : f g) :
    (∀ (x : f.left), m.hom.left x = n.hom.left x) m = n

    Given a hom in OverColor C the underlying equivalence between types.

    Equations
    Instances For
      @[simp]

      The equivalence of types underlying the identity morphism is the reflexive equivalence.

      @[simp]

      The function toEquiv obeys compositions.

      theorem IndexNotation.OverColor.Hom.toEquiv_symm_apply {C : Type} {f g : OverColor C} (m : f g) (i : g.left) :
      f.hom ((toEquiv m).symm i) = g.hom i
      theorem IndexNotation.OverColor.Hom.toEquiv_comp_inv_apply {C : Type} {f g : OverColor C} (m : f g) (i : g.left) :
      f.hom ((toEquiv m).symm i) = g.hom i
      theorem IndexNotation.OverColor.Hom.toEquiv_comp_apply {C : Type} {f g : OverColor C} (m : f g) (i : f.left) :
      f.hom i = g.hom ((toEquiv m) i)
      def IndexNotation.OverColor.Hom.toIso {C : Type} {f g : OverColor C} (m : f g) :
      f g

      Given a morphism in OverColor C, the corresponding isomorphism.

      Equations
      Instances For

        The monoidal structure on OverColor C. #

        The category OverColor C can, through the disjoint union, be given the structure of a symmetric monoidal category.

        The category OverColor C carries an instance of a Monoidal category structure.

        Equations
        • One or more equations did not get rendered due to their size.
        @[simp]
        theorem IndexNotation.OverColor.instMonoidalCategoryStruct_tensorHom_hom_left (C : Type) {X₁ Y₁ X₂ Y₂ : OverColor C} (f : X₁ Y₁) (g : X₂ Y₂) (a✝ : (CategoryTheory.Over.mk (Sum.elim X₁.hom X₂.hom)).left) :
        @[simp]
        theorem IndexNotation.OverColor.instMonoidalCategoryStruct_whiskerRight_inv_left (C : Type) {X₁✝ X₂✝ : OverColor C} (m : X₁✝ X₂✝) (X : OverColor C) (a✝ : ((fun (f g : OverColor C) => CategoryTheory.Over.mk (Sum.elim f.hom g.hom)) X₂✝ X).left) :
        @[simp]
        theorem IndexNotation.OverColor.instMonoidalCategoryStruct_tensorHom_inv_left (C : Type) {X₁ Y₁ X₂ Y₂ : OverColor C} (f : X₁ Y₁) (g : X₂ Y₂) (a✝ : (CategoryTheory.Over.mk (Sum.elim Y₁.hom Y₂.hom)).left) :
        @[simp]
        theorem IndexNotation.OverColor.instMonoidalCategoryStruct_whiskerRight_hom_left (C : Type) {X₁✝ X₂✝ : OverColor C} (m : X₁✝ X₂✝) (X : OverColor C) (a✝ : ((fun (f g : OverColor C) => CategoryTheory.Over.mk (Sum.elim f.hom g.hom)) X₁✝ X).left) :

        The category OverColor C carries an instance of a Monoidal category.

        Equations

        The category OverColor C carries an instance of a braided category.

        Equations
        • One or more equations did not get rendered due to their size.
        def IndexNotation.OverColor.mk {X C : Type} (f : XC) :

        Make an object of OverColor C from a map X → C.

        Equations
        Instances For
          @[simp]
          theorem IndexNotation.OverColor.mk_hom {X C : Type} (f : XC) :
          (mk f).hom = f
          @[simp]
          theorem IndexNotation.OverColor.mk_left {X C : Type} (f : XC) :
          (mk f).left = X
          theorem IndexNotation.OverColor.Hom.fin_ext {C : Type} {n : } {f g : Fin nC} (σ σ' : mk f mk g) (h : ∀ (i : Fin n), σ.hom.left i = σ'.hom.left i) :
          σ = σ'
          @[simp]
          theorem IndexNotation.OverColor.β_hom_toEquiv {X C Y : Type} (f : XC) (g : YC) :
          @[simp]
          theorem IndexNotation.OverColor.β_inv_toEquiv {X C Y : Type} (f : XC) (g : YC) :
          @[simp]
          theorem IndexNotation.OverColor.whiskeringLeft_toEquiv {X C Y Z : Type} (f : XC) (g : YC) (h : ZC) (σ : mk f mk g) :
          @[simp]
          theorem IndexNotation.OverColor.whiskeringRight_toEquiv {X C Y Z : Type} (f : XC) (g : YC) (h : ZC) (σ : mk f mk g) :
          @[simp]
          theorem IndexNotation.OverColor.α_hom_toEquiv {X C Y Z : Type} (f : XC) (g : YC) (h : ZC) :
          @[simp]
          theorem IndexNotation.OverColor.α_inv_toEquiv {X C Y Z : Type} (f : XC) (g : YC) (h : ZC) :