Module LogtkSymbol.ArithOp

module ArithOp: sig .. end

exception LogtkTypeMismatch of string
This exception is raised when Arith functions are called on non-numeric values
type arith_view = [ `Int of Z.t | `Other of LogtkSymbol.t | `Rat of Q.t ] 
val view : LogtkSymbol.t -> arith_view
Arith centered view of symbols
val parse_num : string -> LogtkSymbol.t
val sign : LogtkSymbol.t -> int
val one_i : LogtkSymbol.t
val zero_i : LogtkSymbol.t
val one_rat : LogtkSymbol.t
val zero_rat : LogtkSymbol.t
val zero_of_ty : [< `Int | `Rat ] -> LogtkSymbol.t
val one_of_ty : [< `Int | `Rat ] -> LogtkSymbol.t
val is_zero : LogtkSymbol.t -> bool
val is_one : LogtkSymbol.t -> bool
val is_minus_one : LogtkSymbol.t -> bool
val floor : LogtkSymbol.t -> LogtkSymbol.t
val ceiling : LogtkSymbol.t -> LogtkSymbol.t
val truncate : LogtkSymbol.t -> LogtkSymbol.t
val round : LogtkSymbol.t -> LogtkSymbol.t
val prec : LogtkSymbol.t -> LogtkSymbol.t
val succ : LogtkSymbol.t -> LogtkSymbol.t
val sum : LogtkSymbol.t -> LogtkSymbol.t -> LogtkSymbol.t
val difference : LogtkSymbol.t -> LogtkSymbol.t -> LogtkSymbol.t
val uminus : LogtkSymbol.t -> LogtkSymbol.t
val product : LogtkSymbol.t -> LogtkSymbol.t -> LogtkSymbol.t
val quotient : LogtkSymbol.t -> LogtkSymbol.t -> LogtkSymbol.t
val quotient_e : LogtkSymbol.t -> LogtkSymbol.t -> LogtkSymbol.t
val quotient_t : LogtkSymbol.t -> LogtkSymbol.t -> LogtkSymbol.t
val quotient_f : LogtkSymbol.t -> LogtkSymbol.t -> LogtkSymbol.t
val remainder_e : LogtkSymbol.t -> LogtkSymbol.t -> LogtkSymbol.t
val remainder_t : LogtkSymbol.t -> LogtkSymbol.t -> LogtkSymbol.t
val remainder_f : LogtkSymbol.t -> LogtkSymbol.t -> LogtkSymbol.t
val to_int : LogtkSymbol.t -> LogtkSymbol.t
val to_rat : LogtkSymbol.t -> LogtkSymbol.t
val abs : LogtkSymbol.t -> LogtkSymbol.t
val divides : LogtkSymbol.t -> LogtkSymbol.t -> bool
val gcd : LogtkSymbol.t -> LogtkSymbol.t -> LogtkSymbol.t
val lcm : LogtkSymbol.t -> LogtkSymbol.t -> LogtkSymbol.t
val less : LogtkSymbol.t -> LogtkSymbol.t -> bool
val lesseq : LogtkSymbol.t -> LogtkSymbol.t -> bool
val greater : LogtkSymbol.t -> LogtkSymbol.t -> bool
val greatereq : LogtkSymbol.t -> LogtkSymbol.t -> bool
val divisors : Z.t -> Z.t list
List of non-trivial strict divisors of the int.
Returns [] if int <= 1, the list of divisors otherwise. Empty list for prime numbers, obviously.