type 'a obj
:= 'a t
type ('a, 'b) t
The type of morphisms from a tensor indexed by 'a
to a tensor indexed by 'b
.
val underlying : ('a, 'b) t -> 'a m -> 'b m
Get the map on positions underlying the shape morphism.
val domain : ('a, 'b) t -> 'a obj
domain m
is the domain of the morphism m
, ie a tensor indexed by 'a
.
val range : ('a, 'b) t -> 'b obj
range m
is the range of the morphism m
, ie a tensor indexed by 'b
.
val identity : 'a obj -> ('a, 'a) t
identity s
is the identity morphism at the shape s
.
val compose : ('a, 'b) t -> ('b, 'c) t -> ('a, 'c) t
compose
is sequential morphism composition.