Make.NFModule signature for normal form computations.
module Atom : Domains_intf.ComparableTypeAtomic variables cannot be decomposed further.
module Composite : Domains_intf.ComparableTypeComposite variables are obtained through a combination of atomic variables (e.g. a multi-variate polynomial).
val fold_composite : (Atom.t -> 'a -> 'a) -> Composite.t -> 'a -> 'afold_composite f c acc folds f over all the atoms that make up c.
type t = | Constant of constantA constant value.
*)| Atom of Atom.t * constantAn atomic variable with a constant offset.
*)| Composite of Composite.t * constantA composite variable with a constant offset.
*)The type of normal forms.
val normal_form : AltErgoLib.Domains_intf.X.r -> tnormal_form e computes the normal form of expression e.