datalog.top_down
TD.Lit
datalog
datalog.caml_interface
datalog.unix
type aggregate = {
left : T.t;
constructor : const;
var : T.t;
guard : T.t;
}
type t =
| LitPos of T.t
| LitNeg of T.t
| LitAggr of aggregate
val mk_pos : T.t -> t
val mk_neg : T.t -> t
val mk : bool -> T.t -> t
val mk_aggr : left:T.t -> constructor:const -> var:T.t -> guard:T.t -> t
val eq : t -> t -> bool
val hash : t -> int
val to_term : t -> T.t
val fmap : (T.t -> T.t) -> t -> t
val to_string : t -> string
val pp : out_channel -> t -> unit
val fmt : Format.formatter -> t -> unit