sidekick/src/base-term/Lit.mli
2019-05-26 23:20:47 -05:00

25 lines
519 B
OCaml

(** {2 Literals} *)
open Base_types
type t = lit = {
lit_term: term;
lit_sign : bool
}
val neg : t -> t
val abs : t -> t
val sign : t -> bool
val term : t -> term
val as_atom : t -> term * bool
val atom : Term.state -> ?sign:bool -> term -> t
val hash : t -> int
val compare : t -> t -> int
val equal : t -> t -> bool
val print : t Fmt.printer
val pp : t Fmt.printer
val apply_sign : t -> bool -> t
val norm_sign : t -> t * bool
module Set : CCSet.S with type elt = t
module Tbl : CCHashtbl.S with type key = t