sig
type 'a t = ('a Env.t, Cudd.Man.v Bdd.Int.t) Env.value
val of_expr0 : 'a Env.t -> 'a Expr0.Bint.t -> 'a Expr1.Bint.t
val get_env : 'a Expr1.Bint.t -> 'a Env.t
val to_expr0 : 'a Expr1.Bint.t -> 'a Expr0.Bint.t
val of_expr : 'a Expr1.expr -> 'a Expr1.Bint.t
val to_expr : 'a Expr1.Bint.t -> 'a Expr1.expr
val extend_environment : 'a Expr1.Bint.t -> 'a Env.t -> 'a Expr1.Bint.t
val of_int :
'a Env.t ->
'a Cond.t -> [ `Bint of bool * int ] -> int -> 'a Expr1.Bint.t
val var : 'a Env.t -> 'a Cond.t -> 'a -> 'a Expr1.Bint.t
val neg : 'a Cond.t -> 'a Expr1.Bint.t -> 'a Expr1.Bint.t
val succ : 'a Cond.t -> 'a Expr1.Bint.t -> 'a Expr1.Bint.t
val pred : 'a Cond.t -> 'a Expr1.Bint.t -> 'a Expr1.Bint.t
val add :
'a Cond.t -> 'a Expr1.Bint.t -> 'a Expr1.Bint.t -> 'a Expr1.Bint.t
val sub :
'a Cond.t -> 'a Expr1.Bint.t -> 'a Expr1.Bint.t -> 'a Expr1.Bint.t
val mul :
'a Cond.t -> 'a Expr1.Bint.t -> 'a Expr1.Bint.t -> 'a Expr1.Bint.t
val shift_left : 'a Cond.t -> int -> 'a Expr1.Bint.t -> 'a Expr1.Bint.t
val shift_right : 'a Cond.t -> int -> 'a Expr1.Bint.t -> 'a Expr1.Bint.t
val scale : 'a Cond.t -> int -> 'a Expr1.Bint.t -> 'a Expr1.Bint.t
val ite :
'a Cond.t ->
'a Expr1.Bool.t -> 'a Expr1.Bint.t -> 'a Expr1.Bint.t -> 'a Expr1.Bint.t
val zero : 'a Cond.t -> 'a Expr1.Bint.t -> 'a Expr1.Bool.t
val eq : 'a Cond.t -> 'a Expr1.Bint.t -> 'a Expr1.Bint.t -> 'a Expr1.Bool.t
val supeq :
'a Cond.t -> 'a Expr1.Bint.t -> 'a Expr1.Bint.t -> 'a Expr1.Bool.t
val sup :
'a Cond.t -> 'a Expr1.Bint.t -> 'a Expr1.Bint.t -> 'a Expr1.Bool.t
val eq_int : 'a Cond.t -> 'a Expr1.Bint.t -> int -> 'a Expr1.Bool.t
val supeq_int : 'a Cond.t -> 'a Expr1.Bint.t -> int -> 'a Expr1.Bool.t
val sup_int : 'a Cond.t -> 'a Expr1.Bint.t -> int -> 'a Expr1.Bool.t
val cofactor : 'a Expr1.Bint.t -> 'a Expr1.Bool.t -> 'a Expr1.Bint.t
val restrict : 'a Expr1.Bint.t -> 'a Expr1.Bool.t -> 'a Expr1.Bint.t
val tdrestrict : 'a Expr1.Bint.t -> 'a Expr1.Bool.t -> 'a Expr1.Bint.t
val substitute_by_var :
'a Cond.t -> 'a Expr1.Bint.t -> ('a * 'a) list -> 'a Expr1.Bint.t
val substitute :
'a Cond.t ->
'a Expr1.Bint.t -> ('a * 'a Expr1.expr) list -> 'a Expr1.Bint.t
val guard_of_int : 'a Cond.t -> 'a Expr1.Bint.t -> int -> 'a Expr1.Bool.t
val guardints :
'a Cond.t -> 'a Expr1.Bint.t -> ('a Expr1.Bool.t * int) list
val print : 'a Cond.t -> Format.formatter -> 'a Expr1.Bint.t -> unit
end