package encoding

  1. Overview
  2. Docs
type inner = private {
  1. e : expr;
  2. ty : Ty.t;
}

Term definitions of the abstract syntax

and t = inner Hc.hash_consed
and expr =
  1. | Val of Value.t
  2. | Ptr of int32 * t
  3. | Unop of Ty.unop * t
  4. | Binop of Ty.binop * t * t
  5. | Triop of Ty.triop * t * t * t
  6. | Relop of Ty.relop * t * t
  7. | Cvtop of Ty.cvtop * t
  8. | Symbol of Symbol.t
  9. | Extract of t * int * int
  10. | Concat of t * t
val (@:) : expr -> Ty.t -> t
val equal : t -> t -> bool
val hash : t -> int
val mk_symbol : Symbol.t -> t
val get_symbols : t list -> Symbol.t list
val negate_relop : t -> (t, string) Stdlib.Result.t
val pp : Stdlib.Format.formatter -> t -> unit
val pp_smt : Stdlib.Format.formatter -> t list -> unit
val pp_list : Stdlib.Format.formatter -> t list -> unit
val to_string : t -> string
val simplify : ?extract:bool -> t -> t
module H : sig ... end
module Bool : sig ... end
module Bitv : sig ... end
module Fpa : sig ... end
OCaml

Innovation. Community. Security.