Union_Find.FunctionalSourceFunctional Union Find structures. These are immutable and can grow or shrink (add/remove equalities). Represented with PatriciaTree (binary tree maps) and eager compression.
However, their performance isn't as good as imperative union-find's:
find is O(log n) (single map lookup)union is O(c + log(n)) where c is the max of cardinals of the class being united.module GenericRelationalValued
(Elt : Parameters.GENERIC_ELT)
(Relation : Parameters.GENERIC_GROUP)
(Value :
Parameters.GENERIC_VALUE with type ('a, 'b) relation = ('a, 'b) Relation.t) :
sig ... endFunctional union find