Documentation

CatCryptCore.Category.Cocartesian

Cocartesian Monoidal Categories #

This file defines cocartesian monoidal categories (dual of cartesian monoidal) and proves that KlSPComp is cocartesian with Sum as coproduct and Empty as initial object.

Main definitions #

A monoidal category is semicocartesian if the unit for the tensor product is an initial object. Dual of SemiCartesianMonoidalCategory.

Instances
    @[simp]

    Bridge lemma: isInitialTensorUnit.to X is the same as fromUnit X.

    A monoidal category is cocartesian if the tensor product is the categorical coproduct and the unit is initial. Dual of CartesianMonoidalCategory.

    Instances

      Simp library for CocartesianMonoidalCategory #

      Dual of Mathlib's CartesianMonoidalCategory simp library.

      Core desc identities #

      Coprojections and whiskering #

      desc + tensor #

      Unitor projections #

      Concrete instance: KlSPComp is cocartesian #

      IsInitial for Empty #

      Empty is initial in KlSPComp: there is a unique morphism from Empty to any type.

      Equations
      Instances For

        Coprojections #

        noncomputable def CatCrypt.Core.KlSPComp.klInl (α β : KlSPComp) :
        α have this := α β; this

        Left coprojection: embed into the left summand via pure.

        Equations
        Instances For
          noncomputable def CatCrypt.Core.KlSPComp.klInr (α β : KlSPComp) :
          β have this := α β; this

          Right coprojection: embed into the right summand via pure.

          Equations
          Instances For

            Copairing #

            noncomputable def CatCrypt.Core.KlSPComp.klDesc {α β γ : KlSPComp} (f : α γ) (g : β γ) :
            (have this := α β; this) γ

            Copairing: given morphisms from each summand, produce a morphism from the coproduct.

            Equations
            Instances For
              theorem CatCrypt.Core.KlSPComp.klInl_klDesc {α β γ : KlSPComp} (f : α γ) (g : β γ) :
              theorem CatCrypt.Core.KlSPComp.klInr_klDesc {α β γ : KlSPComp} (f : α γ) (g : β γ) :
              theorem CatCrypt.Core.KlSPComp.klDesc_unique {α β γ : KlSPComp} {f : α γ} {g : β γ} {h : (have this := α β; this) γ} (hl : CategoryTheory.CategoryStruct.comp (α.klInl β) h = f) (hr : CategoryTheory.CategoryStruct.comp (α.klInr β) h = g) :
              h = klDesc f g

              Coproduct is colimit #

              inl_def / inr_def compatibility #

              CocartesianMonoidalCategory instance #

              @[implicit_reducible]
              Equations
              • One or more equations did not get rendered due to their size.
              @[implicit_reducible]
              Equations
              • One or more equations did not get rendered due to their size.