Module Sym


module Sym: sig  end
Function symbols for the theory of S-expressions.


type arith =
| Num of Mpa.Q.t
| Add
| Multq of Mpa.Q.t


type pair =
| Cons
| Car
| Cdr (*Function symbols for the theory of S-expressions.*)


type coproduct =
| InL
| InR
| OutL
| OutR


type bv =
| Const of Bitv.t
| Conc of int * int
| Sub of int * int * int
| Bitwise of int


type pprod =
| Mult
| Expt of int


type apply =
| Apply of Dom.t option
| Abs


type arrays =
| Create
| Select
| Update


type bvarith =
| Unsigned


type t =
| Uninterp of Name.t
| Arith of arith
| Pair of pair
| Coproduct of coproduct
| Bv of bv
| Pp of pprod
| Fun of apply
| Arrays of arrays
| Bvarith of bvarith

val cmp : 'a -> 'a -> int
val hash : t -> int
Parameters:
?? : t
val eq : t -> t -> bool
Parameters:
s : t
t : t
val eq_interp : bvarith -> bvarith -> bool
Parameters:
f : bvarith
g : bvarith
val eq_bv : bv -> bv -> bool
Parameters:
f : bv
g : bv
val eq_pair : pair -> pair -> bool
Parameters:
f : pair
g : pair
val eq_apply : apply -> apply -> bool
Parameters:
f : apply
g : apply
val eq_arith : arith -> arith -> bool
Parameters:
f : arith
g : arith
val eq_arrays : arrays -> arrays -> bool
Parameters:
f : arrays
g : arrays
val eq_pp : pprod -> pprod -> bool
Parameters:
f : pprod
g : pprod
val pp : Format.formatter -> t -> unit
Parameters:
fmt : Format.formatter
s : t
val width : t -> int option
Width of bitvector function symbols.
Parameters:
f : t
val width_bv : bv -> int
Parameters:
b : bv


Some predefined symbols


val add : t