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 : Cduce_types.Var.t -> tPolymorphic interface.
val get_partial : t -> ((Cduce_types.Var.t list * Cduce_types.Var.t list) * mono) listval get_full : t -> ((Cduce_types.Var.t list * Cduce_types.Var.t list) * line) listval iter_partial : (Cduce_types.Var.t -> unit) -> (mono -> unit) -> t -> unitval iter_full : (Cduce_types.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:(Cduce_types.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:(Cduce_types.Var.t -> 'b) -> t -> 'b
module Infix : sig ... end