Module Pp


module Pp: sig  end

Symbols.




Symbols.


val mult : Sym.t
val expt : int -> Sym.t
Parameters:
n : int


Recognizers.


val is_interp : Term.t -> bool
Parameters:
a : Term.t
val is_expt : Term.t -> bool
Parameters:
?? : Term.t
val is_mult : Term.t -> bool
Parameters:
?? : Term.t
val is_diophantine : Term.t -> bool
Parameters:
?? : Term.t


Iterators


val fold : (Term.t -> int -> 'a -> 'a) -> Term.t -> 'a -> 'a
Parameters:
f : Term.t -> int -> 'a -> 'a
a : Term.t
e : 'a


Constructors.


val mk_one : Term.t
val is_one : Term.t -> bool
Parameters:
?? : Term.t
val mk_expt : int -> Term.t -> Term.t
Parameters:
n : int
a : Term.t
val mk_multl : Term.t list -> Term.t
Parameters:
al : Term.t list
val mk_mult : Term.t -> Term.t -> Term.t
Parameters:
a : Term.t
b : Term.t
val mk_mult_with_expt : Term.t -> int -> Term.t -> Term.t
Parameters:
x : Term.t
n : int
b : Term.t
val mk_mult_with_pp : Term.t list -> Term.t -> Term.t
Parameters:
xl : Term.t list
b : Term.t
val cmp1 : Term.t * int -> Term.t * int -> int
Parameters:
(x,n) : Term.t * int
(y,m) : Term.t * int
val destruct : Term.t -> Term.t * int
Parameters:
a : Term.t
val insert : Term.t -> int -> Term.t list -> Term.t
Parameters:
x : Term.t
n : int
bl : Term.t list
val insert1 : Term.t -> Term.t list -> Term.t
Parameters:
x : Term.t
val merge : Term.t list -> Term.t list -> Term.t
Parameters:
al : Term.t list
bl : Term.t list
val mk_inv : Term.t -> Term.t
Parameters:
a : Term.t


Sigma normal forms.


val sigma : Sym.pprod -> Term.t list -> Term.t
Parameters:
op : Sym.pprod
l : Term.t list
val map : (Term.t -> Term.t) -> Term.t -> Term.t
Parameters:
f : Term.t -> Term.t
a : Term.t


Normal forms.


val to_list : Term.t -> Term.t list
Normalize a power product to a list.
Parameters:
a : Term.t
val of_list : (Term.t * int) list -> Term.t
Parameters:
pl : (Term.t * int) list


Ordering relation.


val cmp : Term.t -> Term.t -> int
Parameters:
a : Term.t
b : Term.t
val min : Term.t -> Term.t -> Term.t
Parameters:
a : Term.t
b : Term.t
val max : Term.t -> Term.t -> Term.t
Parameters:
a : Term.t
b : Term.t

Greatest common divisor of two power products. For example, gcd 'x^2 * y' 'x * y^2 returns the triple (y, x, x * y). x * y is the gcd of these power products.

val gcd : Term.t -> Term.t -> Term.t * Term.t * Term.t
Parameters:
a : Term.t
b : Term.t
val split : Term.t -> Term.t * Term.t
Parameters:
a : Term.t
val numerator : Term.t -> Term.t
Parameters:
a : Term.t
val denumerator : Term.t -> Term.t
Parameters:
a : Term.t


Least common multiple.


val lcm : Term.t * Term.t -> Term.t * Term.t * Term.t
val lcm : Term.t * Term.t -> Term.t * Term.t * Term.t


Divisibility.


val div : Term.t * Term.t -> Term.t option
Parameters:
(pp,qq) : Term.t * Term.t