Module Typed.Int

type t = int expr
val v : int -> t
val symbol : Symbol.t -> t
val neg : t -> t

neg t constructs the negation of the integer term t.

val add : t -> t -> t

add t1 t2 constructs the sum of the integer terms t1 and t2.

val sub : t -> t -> t

sub t1 t2 constructs the difference of the integer terms t1 and t2.

val mul : t -> t -> t

mul t1 t2 constructs the product of the integer terms t1 and t2.

val div : t -> t -> t

div t1 t2 constructs the quotient of the integer terms t1 and t2.

val rem : t -> t -> t

rem t1 t2 constructs the remainder of the integer terms t1 and t2.

val mod_ : t -> t -> t

mod t1 t2 constructs the modules operator

val pow : t -> t -> t

pow t1 t2 constructs the power of the integer terms t1 and t2.

val eq : t -> t -> bool expr

Alias for Bool.eq.

val lt : t -> t -> bool expr

lt t1 t2 constructs the less-than relation between t1 and t2.

val le : t -> t -> bool expr

le t1 t2 constructs the less-than-or-equal relation between t1 and t2.

val to_real : t -> real expr

to_real t converts the integer term t to a real number int t.

val pp : t Fmt.t