Idris2Doc : Control.Category.Records.Traced

Control.Category.Records.Traced

(source)

Definitions

recordTracedR : Type
  A *traced monoidal category* is a monoidal category equipped with
trace maps, maps which allow one to write loops in string diagrams.
The name "traced" comes from a connection to the trace of a matrix
in linear algebra, though the concept has far greater applications.

See `Traced` for required laws.

Totality: total
Visibility: public export
Constructor: 
MkTracedR : (hom : Homobj) -> (tensor : (obj->obj->obj)) -> (unit : obj) ->Tracedhomtensorunit=>TracedR

Projections:
.assoc : (rec : TracedR) ->rec.hom (rec.tensor (rec.tensorab) c) (rec.tensora (rec.tensorbc))
  The left-biased associator. This must be the inverse of `(.assoc')`.
.assoc' : (rec : TracedR) ->rec.hom (rec.tensora (rec.tensorbc)) (rec.tensor (rec.tensorab) c)
  The right-biased associator. This must be the inverse of `(.assoc)`.
.categoryR : TracedR->CategoryR
  Convert this into a `CategoryR`.
.comp : (rec : TracedR) ->rec.hombc->rec.homab->rec.homac
  Binary right-to-left composition of morphisms.
.hom : ({rec:0} : TracedR) ->Hom ({rec:0}.obj)
.id : (rec : TracedR) ->rec.homaa
  The identity morphism of an object `a`.
.impl : ({rec:0} : TracedR) ->Traced ({rec:0}.hom) ({rec:0}.tensor) ({rec:0}.unit)
.monoidalR : TracedR->MonoidalR
  Convert this into a `MonoidalR`.
0.obj : TracedR->Type
.tensor : ({rec:0} : TracedR) ->{rec:0}.obj->{rec:0}.obj->{rec:0}.obj
.tensorR : (rec : TracedR) ->EndoBifunctorR (rec.categoryR)
  Return the tensor product as a `BifunctorR`.
.trace : (rec : TracedR) ->rec.homaa->rec.hom (rec.unit) (rec.unit)
  Take the trace of an endomorphism, returning an endomorphism in
the unit object. Depending on what the unit object is, this may
or may not actually be useful.

The name comes from the fact that in the monoidal category of
vector spaces, this takes a square matrix `M` to the 1x1 matrix
`[ tr(M) ]`.
.tracedR : TracedR->TracedR
  Convert this into a `TracedR`.
.tracel : (rec : TracedR) ->rec.hom (rec.tensorab) (rec.tensorac) ->rec.hombc
  The left trace.
.tracer : (rec : TracedR) ->rec.hom (rec.tensorac) (rec.tensorbc) ->rec.homab
  The right trace.
.unit : ({rec:0} : TracedR) ->{rec:0}.obj
.unitl : (rec : TracedR) ->rec.hom (rec.tensor (rec.unit) a) a
  The left unitor.
.unitl' : (rec : TracedR) ->rec.homa (rec.tensor (rec.unit) a)
  The inverse of `(.unitl)`, the left unitor.
.unitr : (rec : TracedR) ->rec.hom (rec.tensora (rec.unit)) a
  The right unitor.
.unitr' : (rec : TracedR) ->rec.homa (rec.tensora (rec.unit))
  The inverse of `(.unitr)`, the right unitor.
.hom : ({rec:0} : TracedR) ->Hom ({rec:0}.obj)
Totality: total
Visibility: public export
.tensor : ({rec:0} : TracedR) ->{rec:0}.obj->{rec:0}.obj->{rec:0}.obj
Totality: total
Visibility: public export
.unit : ({rec:0} : TracedR) ->{rec:0}.obj
Totality: total
Visibility: public export
.impl : ({rec:0} : TracedR) ->Traced ({rec:0}.hom) ({rec:0}.tensor) ({rec:0}.unit)
Totality: total
Visibility: public export
PreTracedR : Type
  See `PreMonoidal`.

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

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

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

Totality: total
Visibility: public export
.tensorR : (rec : TracedR) ->EndoBifunctorR (rec.categoryR)
  Return the tensor product as a `BifunctorR`.

Totality: total
Visibility: public export
.monoidalR : TracedR->MonoidalR
  Convert this into a `MonoidalR`.

Totality: total
Visibility: public export
.assoc : (rec : TracedR) ->rec.hom (rec.tensor (rec.tensorab) c) (rec.tensora (rec.tensorbc))
  The left-biased associator. This must be the inverse of `(.assoc')`.

Totality: total
Visibility: public export
.assoc' : (rec : TracedR) ->rec.hom (rec.tensora (rec.tensorbc)) (rec.tensor (rec.tensorab) c)
  The right-biased associator. This must be the inverse of `(.assoc)`.

Totality: total
Visibility: public export
.unitl : (rec : TracedR) ->rec.hom (rec.tensor (rec.unit) a) a
  The left unitor.

Totality: total
Visibility: public export
.unitl' : (rec : TracedR) ->rec.homa (rec.tensor (rec.unit) a)
  The inverse of `(.unitl)`, the left unitor.

Totality: total
Visibility: public export
.unitr : (rec : TracedR) ->rec.hom (rec.tensora (rec.unit)) a
  The right unitor.

Totality: total
Visibility: public export
.unitr' : (rec : TracedR) ->rec.homa (rec.tensora (rec.unit))
  The inverse of `(.unitr)`, the right unitor.

Totality: total
Visibility: public export
.tracedR : TracedR->TracedR
  Convert this into a `TracedR`.

Totality: total
Visibility: public export
.tracel : (rec : TracedR) ->rec.hom (rec.tensorab) (rec.tensorac) ->rec.hombc
  The left trace.

Totality: total
Visibility: public export
.tracer : (rec : TracedR) ->rec.hom (rec.tensorac) (rec.tensorbc) ->rec.homab
  The right trace.

Totality: total
Visibility: public export
.trace : (rec : TracedR) ->rec.homaa->rec.hom (rec.unit) (rec.unit)
  Take the trace of an endomorphism, returning an endomorphism in
the unit object. Depending on what the unit object is, this may
or may not actually be useful.

The name comes from the fact that in the monoidal category of
vector spaces, this takes a square matrix `M` to the 1x1 matrix
`[ tr(M) ]`.

Totality: total
Visibility: public export