module Arith: sig end
Operation on
linear arithmetic function symbols.
mk_num q, mk_multq q, and mk_add construct hashconsed function
symbols for representing Num(q), Multq(q), and Add, respectively.
get f returns the arithmetic function symbol represented by f,
or raises Not_found.
- The tests
is_num f, is_multq f, is_add f succeed iff f represents
a Num _, Multq _, or Add, respectively.
d_num f (d_multq f) returns q if f represents Num(q) (Multq(q)) and
raises Not_found otherwise.
pp p fmt (op, al) pretty-prints the appliation of op to the list of
arguments al depending on the value of Pretty.flag. In particular,
if Pretty.flag is set to Pretty.Mixfix, then the application of
addition is printed infix. See also Pretty.apply. It assumes a
constant application to Num _, a unary application to Multq _,
and an nary application to Add.
val mk_num : Mpa.Q.t -> Sym.t
val mk_multq : Mpa.Q.t -> Sym.t
val mk_add : Sym.t
val get : Sym.t -> Sym.arith
val is_num : Sym.t -> bool
val is_multq : Sym.t -> bool
val is_add : Sym.t -> bool
val d_num : Sym.t -> Mpa.Q.t
val d_multq : Sym.t -> Mpa.Q.t
val pp : 'a Pretty.printer -> (Sym.arith * 'a list) Pretty.printer