dolmen_type

A typechecker for automated deduction languages
IN THIS PACKAGE
Module Dolmen_type . Arith . Smtlib2 . Real_Int . Tff . T . Int
include Dolmen.Intf.Term.Smtlib_Int with type t := Type.T.t
include Dolmen.Intf.Term.Smtlib_Arith_Common with type t := Type.T.t
val mk : string -> Type.T.t

Build a constant. The literal is passed as a string to avoid overflow caused by the limited precision of native number formats.

val minus : Type.T.t -> Type.T.t

Arithmetic unary minus/negation.

val add : Type.T.t -> Type.T.t -> Type.T.t

Arithmetic addition.

val sub : Type.T.t -> Type.T.t -> Type.T.t

Arithmetic substraction

val mul : Type.T.t -> Type.T.t -> Type.T.t

Arithmetic multiplication

val lt : Type.T.t -> Type.T.t -> Type.T.t

Arithmetic "less than" comparison.

val le : Type.T.t -> Type.T.t -> Type.T.t

Arithmetic "less or equal" comparison.

val gt : Type.T.t -> Type.T.t -> Type.T.t

Arithmetic "greater than" comparison.

val ge : Type.T.t -> Type.T.t -> Type.T.t

Arithmetic "greater or equal" comparison.

val div : Type.T.t -> Type.T.t -> Type.T.t

Euclidian division. See Smtlib theory for a full description.

val rem : Type.T.t -> Type.T.t -> Type.T.t

Euclidian integer remainder See Smtlib theory for a full description.

val abs : Type.T.t -> Type.T.t

Arithmetic absolute value.

val divisible : string -> Type.T.t -> Type.T.t

Arithmetic divisibility predicate. Indexed over constant integers (represented as strings, see int).

val to_real : Type.T.t -> Type.T.t

Conversion from an integer term to a real term.