mirror of
https://github.com/c-cube/sidekick.git
synced 2025-12-06 03:05:31 -05:00
48 lines
962 B
OCaml
48 lines
962 B
OCaml
(*
|
|
MSAT is free software, using the Apache license, see file LICENSE
|
|
Copyright 2014 Guillaume Bury
|
|
Copyright 2014 Simon Cruanes
|
|
*)
|
|
|
|
type var = string
|
|
type formula = private
|
|
| Prop of int
|
|
| Equal of var * var
|
|
| Distinct of var * var
|
|
|
|
type t = formula
|
|
|
|
val dummy : t
|
|
|
|
val fresh : unit -> t
|
|
|
|
val mk_prop : int -> t
|
|
val mk_eq : var -> var -> t
|
|
val mk_neq : var -> var -> t
|
|
|
|
val neg : t -> t
|
|
val norm : t -> t * bool
|
|
|
|
val hash : t -> int
|
|
val equal : t -> t -> bool
|
|
val compare : t -> t -> int
|
|
|
|
val label : t -> Hstring.t
|
|
val add_label : Hstring.t -> t -> unit
|
|
|
|
val print : Format.formatter -> t -> unit
|
|
|
|
module Term : sig
|
|
type t = var
|
|
val hash : t -> int
|
|
val equal : t -> t -> bool
|
|
val compare : t -> t -> int
|
|
val print : Format.formatter -> t -> unit
|
|
end
|
|
module Formula : sig
|
|
type t = formula
|
|
val hash : t -> int
|
|
val equal : t -> t -> bool
|
|
val compare : t -> t -> int
|
|
val print : Format.formatter -> t -> unit
|
|
end
|