mirror of
https://github.com/c-cube/sidekick.git
synced 2025-12-06 03:05:31 -05:00
43 lines
1.5 KiB
OCaml
43 lines
1.5 KiB
OCaml
(**************************************************************************)
|
|
(* *)
|
|
(* Cubicle *)
|
|
(* Combining model checking algorithms and SMT solvers *)
|
|
(* *)
|
|
(* Sylvain Conchon and Alain Mebsout *)
|
|
(* Universite Paris-Sud 11 *)
|
|
(* *)
|
|
(* Copyright 2011. This file is distributed under the terms of the *)
|
|
(* Apache Software License version 2.0 *)
|
|
(* *)
|
|
(**************************************************************************)
|
|
|
|
type operator =
|
|
| Plus | Minus | Mult | Div | Modulo
|
|
|
|
type name_kind = Ac | Constructor | Other
|
|
|
|
type t =
|
|
| True
|
|
| False
|
|
| Name of Hstring.t * name_kind
|
|
| Int of Hstring.t
|
|
| Real of Hstring.t
|
|
| Op of operator
|
|
| Var of Hstring.t
|
|
|
|
val name : ?kind:name_kind -> Hstring.t -> t
|
|
val var : string -> t
|
|
val int : string -> t
|
|
val real : string -> t
|
|
|
|
val is_ac : t -> bool
|
|
|
|
val equal : t -> t -> bool
|
|
val compare : t -> t -> int
|
|
val hash : t -> int
|
|
|
|
val print : Format.formatter -> t -> unit
|
|
|
|
module Map : Map.S with type key = t
|
|
module Set : Set.S with type elt = t
|
|
|