Module Function.Dnf
A representation of the disjunctive normal form (DNF) and related operations for this component.
type line= Times.Dnf.lineAn explicit representation of conjunctions of atoms.
type dnf= Times.Dnf.dnfAn explicit representation of the DNF of atoms.
val atom : atom -> tval mono : mono -> tval mono_dnf : mono -> dnfval any : tval empty : tval cup : t -> t -> tval cap : t -> t -> tval diff : t -> t -> tval neg : t -> tval get : t -> dnfval get_mono : t -> monoval iter : (atom -> unit) -> t -> unitval compute : empty:'b -> any:'b -> cup:('b -> 'b -> 'b) -> cap:('b -> 'b -> 'b) -> diff:('b -> 'b -> 'b) -> atom:(atom -> 'b) -> t -> 'bval var : Var.t -> tPolymorphic interface.
val get_partial : t -> ((Var.t list * Var.t list) * mono) listval get_full : t -> ((Var.t list * Var.t list) * line) listval iter_partial : (Var.t -> unit) -> (mono -> unit) -> t -> unitval iter_full : (Var.t -> unit) -> (atom -> unit) -> t -> unitval compute_partial : empty:'b -> any:'b -> cup:('b -> 'b -> 'b) -> cap:('b -> 'b -> 'b) -> diff:('b -> 'b -> 'b) -> mono:(mono -> 'b) -> var:(Var.t -> 'b) -> t -> 'bval compute_full : empty:'b -> any:'b -> cup:('b -> 'b -> 'b) -> cap:('b -> 'b -> 'b) -> diff:('b -> 'b -> 'b) -> atom:(atom -> 'b) -> var:(Var.t -> 'b) -> t -> 'b
module Infix : sig ... end