Module Term_based.Union_find

These functors are placed above a union-find aware non-relational domain (i.e. Nonrelational.MakeUF). They create union between terms when certain operations are performed (for instance Term_based_sig.Domain_S.Binary_Forward.biadd) with one constant argument.

module MakeAdditive (C : Term_based_sig.DOMAIN_WITH_UNION with type ('a, 'b) Terms.Relation.t = ('a, 'b) Terms.Relations.Additive.t) : Term_based_sig.Domain_S with type t = C.t and module Terms = C.Terms and module Query = C.Query

Builder for the simple "constant difference relation" y = x + c. This relation is defined at Terms.Relations.Additive.

Builder for a linear two variable equality relation f1*x + f2*y + 0, also called TVPE. This relation is defined at Terms.Relations.LinearTwoVarEquality.