module Builtin:sig
..end
Covers numbers, connectives, and builtin types
Since 1.0
type
t =
| |
Not |
|||
| |
And |
|||
| |
Or |
|||
| |
Imply |
|||
| |
Equiv |
|||
| |
Xor |
|||
| |
Eq |
|||
| |
Neq |
|||
| |
HasType |
|||
| |
True |
|||
| |
False |
|||
| |
Arrow |
|||
| |
Wildcard |
|||
| |
Multiset |
|||
| |
TType |
|||
| |
Prop |
|||
| |
Term |
|||
| |
ForallConst |
(* |
constant for simulating forall
| *) |
| |
ExistsConst |
(* |
constant for simulating exists
| *) |
| |
TyInt |
|||
| |
TyRat |
|||
| |
Int of |
|||
| |
Rat of |
|||
| |
Floor |
|||
| |
Ceiling |
|||
| |
Truncate |
|||
| |
Round |
|||
| |
Prec |
|||
| |
Succ |
|||
| |
Sum |
|||
| |
Difference |
|||
| |
Uminus |
|||
| |
Product |
|||
| |
Quotient |
|||
| |
Quotient_e |
|||
| |
Quotient_t |
|||
| |
Quotient_f |
|||
| |
Remainder_e |
|||
| |
Remainder_t |
|||
| |
Remainder_f |
|||
| |
Is_int |
|||
| |
Is_rat |
|||
| |
To_int |
|||
| |
To_rat |
|||
| |
Less |
|||
| |
Lesseq |
|||
| |
Greater |
|||
| |
Greatereq |
include Interfaces.HASH
include Interfaces.ORD
include Interfaces.PRINT
type
fixity =
| |
Infix_binary |
| |
Infix_nary |
| |
Prefix |
val fixity : t -> fixity
val is_prefix : t -> bool
is_infix s
returns true
if the way the symbol is printed should
be used in a prefix way if applied to 1 argumentval is_infix : t -> bool
is_infix s
returns true
if the way the symbol is printed should
be used in an infix way if applied to two argumentsval ty : t -> [ `Int | `Other | `Rat ]
val mk_int : Z.t -> t
val of_int : int -> t
val int_of_string : string -> t
val mk_rat : Q.t -> t
val of_rat : int -> int -> t
val rat_of_string : string -> t
val is_int : t -> bool
val is_rat : t -> bool
val is_numeric : t -> bool
val is_not_numeric : t -> bool
val is_arith : t -> bool
val true_ : t
val false_ : t
val eq : t
val neq : t
val imply : t
val equiv : t
val xor : t
val not_ : t
val and_ : t
val or_ : t
val arrow : t
val tType : t
val prop : t
val term : t
val ty_int : t
val ty_rat : t
val has_type : t
val wildcard : t
val multiset : t
module Arith:sig
..end
include Interfaces.HASH
include Interfaces.ORD
include Interfaces.PRINT
module Map:Sequence.Map.S
with type key = t
module Set:Sequence.Set.S
with type elt = t
module Tbl:Hashtbl.S
with type key = t
module TPTP:sig
..end
Builtin.ArithOp
deals only with numeric constants, i.e., all symbols
must verify Builtin.is_numeric
(and most of the time, have the same type).
The semantics of operations follows
TPTP.module ArithOp:sig
..end
module ZF:sig
..end