Module Formula.Arith


module Arith: sig .. end

type t = ArithDD.t 
val of_expr : [> `Arith of t ] -> t
val to_expr : t -> [> `Arith of t ]
val var : #Formula.db -> Var.t -> t
val cst : Mpqf.t -> t
val add : #Formula.db -> t -> t -> t
val mul : #Formula.db -> t -> t -> t
val sub : #Formula.db -> t -> t -> t
val div : #Formula.db -> t -> t -> t
val gmod : #Formula.db -> t -> t -> t
val other : #Formula.db -> Var.t -> t list -> t
val negate : #Formula.db -> t -> t
val ite : #Formula.db -> Bdd.t -> t -> t -> t
val condition : #Formula.db -> Arith.Condition.typ -> t -> Bdd.t
val supeq : #Formula.db -> t -> Bdd.t
val sup : #Formula.db -> t -> Bdd.t
val eq : #Formula.db -> t -> Bdd.t
val substitute_expr : #Formula.db ->
Arith.expr -> [> `Arith of t ] Var.Map.t -> t
val substitute_cond : #Formula.db ->
Arith.Condition.t -> [> `Arith of t ] Var.Map.t -> Bdd.t
val print : #Formula.db -> Format.formatter -> t -> unit