Module TopDown.S.Lit

module Lit: sig .. end

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