Parameter PatriciaTree.Relation
The type of elements of the group. Since these are used to represent relation between our generic union-find elements POLYMORPHIC_NODE.t, they have two type parameters, so an ('a, 'b) t represents a relation between 'a POLYMORPHIC_NODE.t and 'b POLYMORPHIC_NODE.t
val pretty : Stdlib.Format.formatter -> ('a, 'b) t -> unitPretty printer for relations
val identity : ('a, 'a) tThe identity relation
Monoid composition, written using the functional convention compose f g is f \circ g. Should be associative, and compatible with identity:
- For all x,
G.compose x G.identity = G.compose G.identity x = x - For all x y z,
G.compose x (G.compose y z) = G.compose (G.compose x y) z
Group inversion, should verify for all x: G.compose x (G.inverse x) = G.compose (G.inverse x) x = G.identity
val hash : ('a, 'b) t -> int