Idris2Doc : Control.Category.Records.Bimonoidal

Control.Category.Records.Bimonoidal

(source)

Definitions

recordBimonoidalR : Type
  A *bimonoidal category* is a category with two monoidal structures,
one additive and one multiplicative, that are compatible with each
other in a similar way to elementary algebra.

Totality: total
Visibility: public export
Constructor: 
MkBimonoidalR : (hom : Homobj) -> (add : (obj->obj->obj)) -> (mul : (obj->obj->obj)) -> (zero : obj) -> (one : obj) ->Bimonoidalhomaddmulzeroone=>BimonoidalR

Projections:
.absorbl : (rec : BimonoidalR) ->rec.hom (rec.mula (rec.zero)) (rec.zero)
  The left absorbor.
.absorbl' : (rec : BimonoidalR) ->rec.hom (rec.zero) (rec.mula (rec.zero))
  The inverse of `(.absorbl)`, the left absorbor.
.absorbr : (rec : BimonoidalR) ->rec.hom (rec.mul (rec.zero) a) (rec.zero)
  The right absorbor.
.absorbr' : (rec : BimonoidalR) ->rec.hom (rec.zero) (rec.mul (rec.zero) a)
  The inverse of `(.absorbr)`, the right absorbor.
.add : ({rec:0} : BimonoidalR) ->{rec:0}.obj->{rec:0}.obj->{rec:0}.obj
.addCatR : BimonoidalR->MonoidalR
  Convert this into a `MonoidalR` with the additive tensor product.
.addR : (rec : BimonoidalR) ->EndoBifunctorR (rec.categoryR)
  The additive tensor product as a `BifunctorR`.
.bimonoidalR : BimonoidalR->BimonoidalR
  Convert this into a `BimonoidalR`.
.categoryR : BimonoidalR->CategoryR
  Convert this into a `CategoryR`.
.comp : (rec : BimonoidalR) ->rec.hombc->rec.homab->rec.homac
  Binary right-to-left composition of morphisms.
.distribl : (rec : BimonoidalR) ->rec.hom (rec.mula (rec.addbc)) (rec.add (rec.mulab) (rec.mulac))
  The left distributor.
.distribl' : (rec : BimonoidalR) ->rec.hom (rec.add (rec.mulab) (rec.mulac)) (rec.mula (rec.addbc))
  The inverse of `(.distribl)`, the left distributor.
.distribr : (rec : BimonoidalR) ->rec.hom (rec.mul (rec.addab) c) (rec.add (rec.mulac) (rec.mulbc))
  The right distributor.
.distribr' : (rec : BimonoidalR) ->rec.hom (rec.add (rec.mulac) (rec.mulbc)) (rec.mul (rec.addab) c)
  The inverse of `(.distribr)`, the right distributor.
.hom : ({rec:0} : BimonoidalR) ->Hom ({rec:0}.obj)
.id : (rec : BimonoidalR) ->rec.homaa
  The identity morphism of an object `a`.
.impl : ({rec:0} : BimonoidalR) ->Bimonoidal ({rec:0}.hom) ({rec:0}.add) ({rec:0}.mul) ({rec:0}.zero) ({rec:0}.one)
.mul : ({rec:0} : BimonoidalR) ->{rec:0}.obj->{rec:0}.obj->{rec:0}.obj
.mulCatR : BimonoidalR->MonoidalR
  Convert this into a `MonoidalR` with the multiplicative tensor product.
.mulR : (rec : BimonoidalR) ->EndoBifunctorR (rec.categoryR)
  The multiplicative tensor product as a `BifunctorR`.
0.obj : BimonoidalR->Type
.one : ({rec:0} : BimonoidalR) ->{rec:0}.obj
.zero : ({rec:0} : BimonoidalR) ->{rec:0}.obj
.hom : ({rec:0} : BimonoidalR) ->Hom ({rec:0}.obj)
Totality: total
Visibility: public export
.mul : ({rec:0} : BimonoidalR) ->{rec:0}.obj->{rec:0}.obj->{rec:0}.obj
Totality: total
Visibility: public export
.add : ({rec:0} : BimonoidalR) ->{rec:0}.obj->{rec:0}.obj->{rec:0}.obj
Totality: total
Visibility: public export
.zero : ({rec:0} : BimonoidalR) ->{rec:0}.obj
Totality: total
Visibility: public export
.one : ({rec:0} : BimonoidalR) ->{rec:0}.obj
Totality: total
Visibility: public export
.impl : ({rec:0} : BimonoidalR) ->Bimonoidal ({rec:0}.hom) ({rec:0}.add) ({rec:0}.mul) ({rec:0}.zero) ({rec:0}.one)
Totality: total
Visibility: public export
PreBimonoidalR : Type
  See `PreMonoidal`.

Totality: total
Visibility: public export
.categoryR : BimonoidalR->CategoryR
  Convert this into a `CategoryR`.

Totality: total
Visibility: public export
.id : (rec : BimonoidalR) ->rec.homaa
  The identity morphism of an object `a`.

Totality: total
Visibility: public export
.comp : (rec : BimonoidalR) ->rec.hombc->rec.homab->rec.homac
  Binary right-to-left composition of morphisms.

Totality: total
Visibility: public export
.addR : (rec : BimonoidalR) ->EndoBifunctorR (rec.categoryR)
  The additive tensor product as a `BifunctorR`.

Totality: total
Visibility: public export
.mulR : (rec : BimonoidalR) ->EndoBifunctorR (rec.categoryR)
  The multiplicative tensor product as a `BifunctorR`.

Totality: total
Visibility: public export
.addCatR : BimonoidalR->MonoidalR
  Convert this into a `MonoidalR` with the additive tensor product.

Totality: total
Visibility: public export
.mulCatR : BimonoidalR->MonoidalR
  Convert this into a `MonoidalR` with the multiplicative tensor product.

Totality: total
Visibility: public export
.bimonoidalR : BimonoidalR->BimonoidalR
  Convert this into a `BimonoidalR`.

Totality: total
Visibility: public export
.distribl : (rec : BimonoidalR) ->rec.hom (rec.mula (rec.addbc)) (rec.add (rec.mulab) (rec.mulac))
  The left distributor.

Totality: total
Visibility: public export
.distribl' : (rec : BimonoidalR) ->rec.hom (rec.add (rec.mulab) (rec.mulac)) (rec.mula (rec.addbc))
  The inverse of `(.distribl)`, the left distributor.

Totality: total
Visibility: public export
.distribr : (rec : BimonoidalR) ->rec.hom (rec.mul (rec.addab) c) (rec.add (rec.mulac) (rec.mulbc))
  The right distributor.

Totality: total
Visibility: public export
.distribr' : (rec : BimonoidalR) ->rec.hom (rec.add (rec.mulac) (rec.mulbc)) (rec.mul (rec.addab) c)
  The inverse of `(.distribr)`, the right distributor.

Totality: total
Visibility: public export
.absorbl : (rec : BimonoidalR) ->rec.hom (rec.mula (rec.zero)) (rec.zero)
  The left absorbor.

Totality: total
Visibility: public export
.absorbl' : (rec : BimonoidalR) ->rec.hom (rec.zero) (rec.mula (rec.zero))
  The inverse of `(.absorbl)`, the left absorbor.

Totality: total
Visibility: public export
.absorbr : (rec : BimonoidalR) ->rec.hom (rec.mul (rec.zero) a) (rec.zero)
  The right absorbor.

Totality: total
Visibility: public export
.absorbr' : (rec : BimonoidalR) ->rec.hom (rec.zero) (rec.mul (rec.zero) a)
  The inverse of `(.absorbr)`, the right absorbor.

Totality: total
Visibility: public export
recordRigCategoryR : Type
  A rig category is a bimonoidal category whose additive structure
is symmetric. The name "rig" comes from the algebraic structure
the definition is based on (a ring without negatives).

Totality: total
Visibility: public export
Constructor: 
MkRigCategoryR : (hom : Homobj) -> (add : (obj->obj->obj)) -> (mul : (obj->obj->obj)) -> (zero : obj) -> (one : obj) ->RigCategoryhomaddmulzeroone=>RigCategoryR

Projections:
.absorbl : (rec : RigCategoryR) ->rec.hom (rec.mula (rec.zero)) (rec.zero)
  The left absorbor.
.absorbl' : (rec : RigCategoryR) ->rec.hom (rec.zero) (rec.mula (rec.zero))
  The inverse of `(.absorbl)`, the left absorbor.
.absorbr : (rec : RigCategoryR) ->rec.hom (rec.mul (rec.zero) a) (rec.zero)
  The right absorbor.
.absorbr' : (rec : RigCategoryR) ->rec.hom (rec.zero) (rec.mul (rec.zero) a)
  The inverse of `(.absorbr)`, the right absorbor.
.add : ({rec:0} : RigCategoryR) ->{rec:0}.obj->{rec:0}.obj->{rec:0}.obj
.addCatR : RigCategoryR->BraidedR
  Convert this into a `BraidedR` with the additive tensor product.
.addR : (rec : RigCategoryR) ->EndoBifunctorR (rec.categoryR)
  The additive tensor product as a `BifunctorR`.
.bimonoidalR : RigCategoryR->BimonoidalR
  Convert this into a `BimonoidalR`.
.categoryR : RigCategoryR->CategoryR
  Convert this into a `CategoryR`.
.comp : (rec : RigCategoryR) ->rec.hombc->rec.homab->rec.homac
  Binary right-to-left composition of morphisms.
.distribl : (rec : RigCategoryR) ->rec.hom (rec.mula (rec.addbc)) (rec.add (rec.mulab) (rec.mulac))
  The left distributor.
.distribl' : (rec : RigCategoryR) ->rec.hom (rec.add (rec.mulab) (rec.mulac)) (rec.mula (rec.addbc))
  The inverse of `(.distribl)`, the left distributor.
.distribr : (rec : RigCategoryR) ->rec.hom (rec.mul (rec.addab) c) (rec.add (rec.mulac) (rec.mulbc))
  The right distributor.
.distribr' : (rec : RigCategoryR) ->rec.hom (rec.add (rec.mulac) (rec.mulbc)) (rec.mul (rec.addab) c)
  The inverse of `(.distribr)`, the right distributor.
.hom : ({rec:0} : RigCategoryR) ->Hom ({rec:0}.obj)
.id : (rec : RigCategoryR) ->rec.homaa
  The identity morphism of an object `a`.
.impl : ({rec:0} : RigCategoryR) ->RigCategory ({rec:0}.hom) ({rec:0}.add) ({rec:0}.mul) ({rec:0}.zero) ({rec:0}.one)
.mul : ({rec:0} : RigCategoryR) ->{rec:0}.obj->{rec:0}.obj->{rec:0}.obj
.mulCatR : RigCategoryR->MonoidalR
  Convert this into a `MonoidalR` with the multiplicative tensor product.
.mulR : (rec : RigCategoryR) ->EndoBifunctorR (rec.categoryR)
  The multiplicative tensor product as a `BifunctorR`.
0.obj : RigCategoryR->Type
.one : ({rec:0} : RigCategoryR) ->{rec:0}.obj
.rigCategoryR : RigCategoryR->RigCategoryR
  Convert this into a `RigCategoryR`.
.zero : ({rec:0} : RigCategoryR) ->{rec:0}.obj
.hom : ({rec:0} : RigCategoryR) ->Hom ({rec:0}.obj)
Totality: total
Visibility: public export
.mul : ({rec:0} : RigCategoryR) ->{rec:0}.obj->{rec:0}.obj->{rec:0}.obj
Totality: total
Visibility: public export
.add : ({rec:0} : RigCategoryR) ->{rec:0}.obj->{rec:0}.obj->{rec:0}.obj
Totality: total
Visibility: public export
.zero : ({rec:0} : RigCategoryR) ->{rec:0}.obj
Totality: total
Visibility: public export
.one : ({rec:0} : RigCategoryR) ->{rec:0}.obj
Totality: total
Visibility: public export
.impl : ({rec:0} : RigCategoryR) ->RigCategory ({rec:0}.hom) ({rec:0}.add) ({rec:0}.mul) ({rec:0}.zero) ({rec:0}.one)
Totality: total
Visibility: public export
PreRigCategoryR : Type
  See `PreMonoidal`.

Totality: total
Visibility: public export
.categoryR : RigCategoryR->CategoryR
  Convert this into a `CategoryR`.

Totality: total
Visibility: public export
.id : (rec : RigCategoryR) ->rec.homaa
  The identity morphism of an object `a`.

Totality: total
Visibility: public export
.comp : (rec : RigCategoryR) ->rec.hombc->rec.homab->rec.homac
  Binary right-to-left composition of morphisms.

Totality: total
Visibility: public export
.addR : (rec : RigCategoryR) ->EndoBifunctorR (rec.categoryR)
  The additive tensor product as a `BifunctorR`.

Totality: total
Visibility: public export
.mulR : (rec : RigCategoryR) ->EndoBifunctorR (rec.categoryR)
  The multiplicative tensor product as a `BifunctorR`.

Totality: total
Visibility: public export
.addCatR : RigCategoryR->BraidedR
  Convert this into a `BraidedR` with the additive tensor product.

Totality: total
Visibility: public export
.mulCatR : RigCategoryR->MonoidalR
  Convert this into a `MonoidalR` with the multiplicative tensor product.

Totality: total
Visibility: public export
.bimonoidalR : RigCategoryR->BimonoidalR
  Convert this into a `BimonoidalR`.

Totality: total
Visibility: public export
.distribl : (rec : RigCategoryR) ->rec.hom (rec.mula (rec.addbc)) (rec.add (rec.mulab) (rec.mulac))
  The left distributor.

Totality: total
Visibility: public export
.distribl' : (rec : RigCategoryR) ->rec.hom (rec.add (rec.mulab) (rec.mulac)) (rec.mula (rec.addbc))
  The inverse of `(.distribl)`, the left distributor.

Totality: total
Visibility: public export
.distribr : (rec : RigCategoryR) ->rec.hom (rec.mul (rec.addab) c) (rec.add (rec.mulac) (rec.mulbc))
  The right distributor.

Totality: total
Visibility: public export
.distribr' : (rec : RigCategoryR) ->rec.hom (rec.add (rec.mulac) (rec.mulbc)) (rec.mul (rec.addab) c)
  The inverse of `(.distribr)`, the right distributor.

Totality: total
Visibility: public export
.absorbl : (rec : RigCategoryR) ->rec.hom (rec.mula (rec.zero)) (rec.zero)
  The left absorbor.

Totality: total
Visibility: public export
.absorbl' : (rec : RigCategoryR) ->rec.hom (rec.zero) (rec.mula (rec.zero))
  The inverse of `(.absorbl)`, the left absorbor.

Totality: total
Visibility: public export
.absorbr : (rec : RigCategoryR) ->rec.hom (rec.mul (rec.zero) a) (rec.zero)
  The right absorbor.

Totality: total
Visibility: public export
.absorbr' : (rec : RigCategoryR) ->rec.hom (rec.zero) (rec.mul (rec.zero) a)
  The inverse of `(.absorbr)`, the right absorbor.

Totality: total
Visibility: public export
.rigCategoryR : RigCategoryR->RigCategoryR
  Convert this into a `RigCategoryR`.

Totality: total
Visibility: public export
recordSymRigCategoryR : Type
Totality: total
Visibility: public export
Constructor: 
MkSymRigCategoryR : (hom : Homobj) -> (add : (obj->obj->obj)) -> (mul : (obj->obj->obj)) -> (zero : obj) -> (one : obj) ->SymRigCategoryhomaddmulzeroone=>SymRigCategoryR

Projections:
.absorbl : (rec : SymRigCategoryR) ->rec.hom (rec.mula (rec.zero)) (rec.zero)
  The left absorbor.
.absorbl' : (rec : SymRigCategoryR) ->rec.hom (rec.zero) (rec.mula (rec.zero))
  The inverse of `(.absorbl)`, the left absorbor.
.absorbr : (rec : SymRigCategoryR) ->rec.hom (rec.mul (rec.zero) a) (rec.zero)
  The right absorbor.
.absorbr' : (rec : SymRigCategoryR) ->rec.hom (rec.zero) (rec.mul (rec.zero) a)
  The inverse of `(.absorbr)`, the right absorbor.
.add : ({rec:0} : SymRigCategoryR) ->{rec:0}.obj->{rec:0}.obj->{rec:0}.obj
.addCatR : SymRigCategoryR->BraidedR
  Convert this into a `BraidedR` with the additive tensor product.
.addR : (rec : SymRigCategoryR) ->EndoBifunctorR (rec.categoryR)
  The additive tensor product as a `BifunctorR`.
.bimonoidalR : SymRigCategoryR->BimonoidalR
  Convert this into a `BimonoidalR`.
.categoryR : SymRigCategoryR->CategoryR
  Convert this into a `CategoryR`.
.comp : (rec : SymRigCategoryR) ->rec.hombc->rec.homab->rec.homac
  Binary right-to-left composition of morphisms.
.distribl : (rec : SymRigCategoryR) ->rec.hom (rec.mula (rec.addbc)) (rec.add (rec.mulab) (rec.mulac))
  The left distributor.
.distribl' : (rec : SymRigCategoryR) ->rec.hom (rec.add (rec.mulab) (rec.mulac)) (rec.mula (rec.addbc))
  The inverse of `(.distribl)`, the left distributor.
.distribr : (rec : SymRigCategoryR) ->rec.hom (rec.mul (rec.addab) c) (rec.add (rec.mulac) (rec.mulbc))
  The right distributor.
.distribr' : (rec : SymRigCategoryR) ->rec.hom (rec.add (rec.mulac) (rec.mulbc)) (rec.mul (rec.addab) c)
  The inverse of `(.distribr)`, the right distributor.
.hom : ({rec:0} : SymRigCategoryR) ->Hom ({rec:0}.obj)
.id : (rec : SymRigCategoryR) ->rec.homaa
  The identity morphism of an object `a`.
.impl : ({rec:0} : SymRigCategoryR) ->SymRigCategory ({rec:0}.hom) ({rec:0}.add) ({rec:0}.mul) ({rec:0}.zero) ({rec:0}.one)
.mul : ({rec:0} : SymRigCategoryR) ->{rec:0}.obj->{rec:0}.obj->{rec:0}.obj
.mulCatR : SymRigCategoryR->BraidedR
  Convert this into a `BraidedR` with the multiplicative tensor product.
.mulR : (rec : SymRigCategoryR) ->EndoBifunctorR (rec.categoryR)
  The multiplicative tensor product as a `BifunctorR`.
0.obj : SymRigCategoryR->Type
.one : ({rec:0} : SymRigCategoryR) ->{rec:0}.obj
.rigCategoryR : SymRigCategoryR->RigCategoryR
  Convert this into a `RigCategoryR`.
.symRigCategoryR : SymRigCategoryR->SymRigCategoryR
  Convert this into a `SymRigCategoryR`.
.zero : ({rec:0} : SymRigCategoryR) ->{rec:0}.obj
.hom : ({rec:0} : SymRigCategoryR) ->Hom ({rec:0}.obj)
Totality: total
Visibility: public export
.mul : ({rec:0} : SymRigCategoryR) ->{rec:0}.obj->{rec:0}.obj->{rec:0}.obj
Totality: total
Visibility: public export
.add : ({rec:0} : SymRigCategoryR) ->{rec:0}.obj->{rec:0}.obj->{rec:0}.obj
Totality: total
Visibility: public export
.zero : ({rec:0} : SymRigCategoryR) ->{rec:0}.obj
Totality: total
Visibility: public export
.one : ({rec:0} : SymRigCategoryR) ->{rec:0}.obj
Totality: total
Visibility: public export
.impl : ({rec:0} : SymRigCategoryR) ->SymRigCategory ({rec:0}.hom) ({rec:0}.add) ({rec:0}.mul) ({rec:0}.zero) ({rec:0}.one)
Totality: total
Visibility: public export
PreSymRigCategoryR : Type
Totality: total
Visibility: public export
.categoryR : SymRigCategoryR->CategoryR
  Convert this into a `CategoryR`.

Totality: total
Visibility: public export
.id : (rec : SymRigCategoryR) ->rec.homaa
  The identity morphism of an object `a`.

Totality: total
Visibility: public export
.comp : (rec : SymRigCategoryR) ->rec.hombc->rec.homab->rec.homac
  Binary right-to-left composition of morphisms.

Totality: total
Visibility: public export
.addR : (rec : SymRigCategoryR) ->EndoBifunctorR (rec.categoryR)
  The additive tensor product as a `BifunctorR`.

Totality: total
Visibility: public export
.mulR : (rec : SymRigCategoryR) ->EndoBifunctorR (rec.categoryR)
  The multiplicative tensor product as a `BifunctorR`.

Totality: total
Visibility: public export
.addCatR : SymRigCategoryR->BraidedR
  Convert this into a `BraidedR` with the additive tensor product.

Totality: total
Visibility: public export
.mulCatR : SymRigCategoryR->BraidedR
  Convert this into a `BraidedR` with the multiplicative tensor product.

Totality: total
Visibility: public export
.bimonoidalR : SymRigCategoryR->BimonoidalR
  Convert this into a `BimonoidalR`.

Totality: total
Visibility: public export
.distribl : (rec : SymRigCategoryR) ->rec.hom (rec.mula (rec.addbc)) (rec.add (rec.mulab) (rec.mulac))
  The left distributor.

Totality: total
Visibility: public export
.distribl' : (rec : SymRigCategoryR) ->rec.hom (rec.add (rec.mulab) (rec.mulac)) (rec.mula (rec.addbc))
  The inverse of `(.distribl)`, the left distributor.

Totality: total
Visibility: public export
.distribr : (rec : SymRigCategoryR) ->rec.hom (rec.mul (rec.addab) c) (rec.add (rec.mulac) (rec.mulbc))
  The right distributor.

Totality: total
Visibility: public export
.distribr' : (rec : SymRigCategoryR) ->rec.hom (rec.add (rec.mulac) (rec.mulbc)) (rec.mul (rec.addab) c)
  The inverse of `(.distribr)`, the right distributor.

Totality: total
Visibility: public export
.absorbl : (rec : SymRigCategoryR) ->rec.hom (rec.mula (rec.zero)) (rec.zero)
  The left absorbor.

Totality: total
Visibility: public export
.absorbl' : (rec : SymRigCategoryR) ->rec.hom (rec.zero) (rec.mula (rec.zero))
  The inverse of `(.absorbl)`, the left absorbor.

Totality: total
Visibility: public export
.absorbr : (rec : SymRigCategoryR) ->rec.hom (rec.mul (rec.zero) a) (rec.zero)
  The right absorbor.

Totality: total
Visibility: public export
.absorbr' : (rec : SymRigCategoryR) ->rec.hom (rec.zero) (rec.mul (rec.zero) a)
  The inverse of `(.absorbr)`, the right absorbor.

Totality: total
Visibility: public export
.rigCategoryR : SymRigCategoryR->RigCategoryR
  Convert this into a `RigCategoryR`.

Totality: total
Visibility: public export
.symRigCategoryR : SymRigCategoryR->SymRigCategoryR
  Convert this into a `SymRigCategoryR`.

Totality: total
Visibility: public export
recordDistributiveR : Type
Totality: total
Visibility: public export
Constructor: 
MkDistributiveR : (hom : Homobj) -> (add : (obj->obj->obj)) -> (mul : (obj->obj->obj)) -> (zero : obj) -> (one : obj) ->Distributivehomaddmulzeroone=>DistributiveR

Projections:
.absorbl : (rec : DistributiveR) ->rec.hom (rec.mula (rec.zero)) (rec.zero)
  The left absorbor.
.absorbl' : (rec : DistributiveR) ->rec.hom (rec.zero) (rec.mula (rec.zero))
  The inverse of `(.absorbl)`, the left absorbor.
.absorbr : (rec : DistributiveR) ->rec.hom (rec.mul (rec.zero) a) (rec.zero)
  The right absorbor.
.absorbr' : (rec : DistributiveR) ->rec.hom (rec.zero) (rec.mul (rec.zero) a)
  The inverse of `(.absorbr)`, the right absorbor.
.add : ({rec:0} : DistributiveR) ->{rec:0}.obj->{rec:0}.obj->{rec:0}.obj
.addCatR : DistributiveR->CocartesianR
  Convert this into a `CocartesianR` with the additive tensor product.
.addR : (rec : DistributiveR) ->EndoBifunctorR (rec.categoryR)
  The additive tensor product as a `BifunctorR`.
.bimonoidalR : DistributiveR->BimonoidalR
  Convert this into a `BimonoidalR`.
.categoryR : DistributiveR->CategoryR
  Convert this into a `CategoryR`.
.comp : (rec : DistributiveR) ->rec.hombc->rec.homab->rec.homac
  Binary right-to-left composition of morphisms.
.coprod : (rec : DistributiveR) ->rec.homab->rec.homa'b->rec.hom (rec.addaa') b
  The universal property of the coproduct.
.distribl : (rec : DistributiveR) ->rec.hom (rec.mula (rec.addbc)) (rec.add (rec.mulab) (rec.mulac))
  The left distributor.
.distribl' : (rec : DistributiveR) ->rec.hom (rec.add (rec.mulab) (rec.mulac)) (rec.mula (rec.addbc))
  The inverse of `(.distribl)`, the left distributor.
.distribr : (rec : DistributiveR) ->rec.hom (rec.mul (rec.addab) c) (rec.add (rec.mulac) (rec.mulbc))
  The right distributor.
.distribr' : (rec : DistributiveR) ->rec.hom (rec.add (rec.mulac) (rec.mulbc)) (rec.mul (rec.addab) c)
  The inverse of `(.distribr)`, the right distributor.
.distributiveR : DistributiveR->DistributiveR
  Convert this into a `DistributiveR`.
.elim : (rec : DistributiveR) ->rec.homa (rec.one)
  The counit of the universal comonoid structure.
.hom : ({rec:0} : DistributiveR) ->Hom ({rec:0}.obj)
.id : (rec : DistributiveR) ->rec.homaa
  The identity morphism of an object `a`.
.impl : ({rec:0} : DistributiveR) ->Distributive ({rec:0}.hom) ({rec:0}.add) ({rec:0}.mul) ({rec:0}.zero) ({rec:0}.one)
.injl : (rec : DistributiveR) ->rec.homa (rec.addab)
  The left injection of the coproduct.
.injr : (rec : DistributiveR) ->rec.homb (rec.addab)
  The right injection of the coproduct.
.intro : (rec : DistributiveR) ->rec.hom (rec.zero) a
  The unit of the universal monoid structure.
.merge : (rec : DistributiveR) ->rec.hom (rec.addaa) a
  The join of the universal monoid structure.
.mul : ({rec:0} : DistributiveR) ->{rec:0}.obj->{rec:0}.obj->{rec:0}.obj
.mulCatR : DistributiveR->CartesianR
  Convert this into a `CartesianR` with the multiplicative tensor product.
.mulR : (rec : DistributiveR) ->EndoBifunctorR (rec.categoryR)
  The multiplicative tensor product as a `BifunctorR`.
0.obj : DistributiveR->Type
.one : ({rec:0} : DistributiveR) ->{rec:0}.obj
.prod : (rec : DistributiveR) ->rec.homab->rec.homab'->rec.homa (rec.mulbb')
  The universal property of the product.
.projl : (rec : DistributiveR) ->rec.hom (rec.mulab) a
  The left projection of the product.
.projr : (rec : DistributiveR) ->rec.hom (rec.mulab) b
  The right projection of the product.
.rigCategoryR : DistributiveR->RigCategoryR
  Convert this into a `RigCategoryR`.
.split : (rec : DistributiveR) ->rec.homa (rec.mulaa)
  The cojoin of the universal comonoid structure.
.symRigCategoryR : DistributiveR->SymRigCategoryR
  Convert this into a `SymRigCategoryR`.
.zero : ({rec:0} : DistributiveR) ->{rec:0}.obj
.hom : ({rec:0} : DistributiveR) ->Hom ({rec:0}.obj)
Totality: total
Visibility: public export
.mul : ({rec:0} : DistributiveR) ->{rec:0}.obj->{rec:0}.obj->{rec:0}.obj
Totality: total
Visibility: public export
.add : ({rec:0} : DistributiveR) ->{rec:0}.obj->{rec:0}.obj->{rec:0}.obj
Totality: total
Visibility: public export
.zero : ({rec:0} : DistributiveR) ->{rec:0}.obj
Totality: total
Visibility: public export
.one : ({rec:0} : DistributiveR) ->{rec:0}.obj
Totality: total
Visibility: public export
.impl : ({rec:0} : DistributiveR) ->Distributive ({rec:0}.hom) ({rec:0}.add) ({rec:0}.mul) ({rec:0}.zero) ({rec:0}.one)
Totality: total
Visibility: public export
PreDistributiveR : Type
Totality: total
Visibility: public export
.categoryR : DistributiveR->CategoryR
  Convert this into a `CategoryR`.

Totality: total
Visibility: public export
.id : (rec : DistributiveR) ->rec.homaa
  The identity morphism of an object `a`.

Totality: total
Visibility: public export
.comp : (rec : DistributiveR) ->rec.hombc->rec.homab->rec.homac
  Binary right-to-left composition of morphisms.

Totality: total
Visibility: public export
.addR : (rec : DistributiveR) ->EndoBifunctorR (rec.categoryR)
  The additive tensor product as a `BifunctorR`.

Totality: total
Visibility: public export
.mulR : (rec : DistributiveR) ->EndoBifunctorR (rec.categoryR)
  The multiplicative tensor product as a `BifunctorR`.

Totality: total
Visibility: public export
.addCatR : DistributiveR->CocartesianR
  Convert this into a `CocartesianR` with the additive tensor product.

Totality: total
Visibility: public export
.mulCatR : DistributiveR->CartesianR
  Convert this into a `CartesianR` with the multiplicative tensor product.

Totality: total
Visibility: public export
.bimonoidalR : DistributiveR->BimonoidalR
  Convert this into a `BimonoidalR`.

Totality: total
Visibility: public export
.distribl : (rec : DistributiveR) ->rec.hom (rec.mula (rec.addbc)) (rec.add (rec.mulab) (rec.mulac))
  The left distributor.

Totality: total
Visibility: public export
.distribl' : (rec : DistributiveR) ->rec.hom (rec.add (rec.mulab) (rec.mulac)) (rec.mula (rec.addbc))
  The inverse of `(.distribl)`, the left distributor.

Totality: total
Visibility: public export
.distribr : (rec : DistributiveR) ->rec.hom (rec.mul (rec.addab) c) (rec.add (rec.mulac) (rec.mulbc))
  The right distributor.

Totality: total
Visibility: public export
.distribr' : (rec : DistributiveR) ->rec.hom (rec.add (rec.mulac) (rec.mulbc)) (rec.mul (rec.addab) c)
  The inverse of `(.distribr)`, the right distributor.

Totality: total
Visibility: public export
.absorbl : (rec : DistributiveR) ->rec.hom (rec.mula (rec.zero)) (rec.zero)
  The left absorbor.

Totality: total
Visibility: public export
.absorbl' : (rec : DistributiveR) ->rec.hom (rec.zero) (rec.mula (rec.zero))
  The inverse of `(.absorbl)`, the left absorbor.

Totality: total
Visibility: public export
.absorbr : (rec : DistributiveR) ->rec.hom (rec.mul (rec.zero) a) (rec.zero)
  The right absorbor.

Totality: total
Visibility: public export
.absorbr' : (rec : DistributiveR) ->rec.hom (rec.zero) (rec.mul (rec.zero) a)
  The inverse of `(.absorbr)`, the right absorbor.

Totality: total
Visibility: public export
.rigCategoryR : DistributiveR->RigCategoryR
  Convert this into a `RigCategoryR`.

Totality: total
Visibility: public export
.symRigCategoryR : DistributiveR->SymRigCategoryR
  Convert this into a `SymRigCategoryR`.

Totality: total
Visibility: public export
.distributiveR : DistributiveR->DistributiveR
  Convert this into a `DistributiveR`.

Totality: total
Visibility: public export
.projl : (rec : DistributiveR) ->rec.hom (rec.mulab) a
  The left projection of the product.

Totality: total
Visibility: public export
.projr : (rec : DistributiveR) ->rec.hom (rec.mulab) b
  The right projection of the product.

Totality: total
Visibility: public export
.prod : (rec : DistributiveR) ->rec.homab->rec.homab'->rec.homa (rec.mulbb')
  The universal property of the product.

Totality: total
Visibility: public export
.split : (rec : DistributiveR) ->rec.homa (rec.mulaa)
  The cojoin of the universal comonoid structure.

Totality: total
Visibility: public export
.elim : (rec : DistributiveR) ->rec.homa (rec.one)
  The counit of the universal comonoid structure.

Totality: total
Visibility: public export
.injl : (rec : DistributiveR) ->rec.homa (rec.addab)
  The left injection of the coproduct.

Totality: total
Visibility: public export
.injr : (rec : DistributiveR) ->rec.homb (rec.addab)
  The right injection of the coproduct.

Totality: total
Visibility: public export
.coprod : (rec : DistributiveR) ->rec.homab->rec.homa'b->rec.hom (rec.addaa') b
  The universal property of the coproduct.

Totality: total
Visibility: public export
.merge : (rec : DistributiveR) ->rec.hom (rec.addaa) a
  The join of the universal monoid structure.

Totality: total
Visibility: public export
.intro : (rec : DistributiveR) ->rec.hom (rec.zero) a
  The unit of the universal monoid structure.

Totality: total
Visibility: public export