module FO:sig
..end
This is the end of the chain, where formulas and terms are ready to be
sent to some SMT solver. Types are monomorphic, formulas are first-order
typeid =
ID.t
type'a
var ='a Var.t
type'a
printer =Format.formatter -> 'a -> unit
type'a
or_error =('a, string) CCResult.t
typemetadata =
ProblemMetadata.t
type('a, 'b)
res =('a, 'b) Problem.Res.t
module TyBuiltin:sig
..end
module Builtin:sig
..end
type ('t, 'ty)
view =
| |
Builtin of |
|||
| |
Var of |
|||
| |
App of |
|||
| |
DataTest of |
|||
| |
DataSelect of |
|||
| |
Undefined of |
(* | 't is not defined here | *) |
| |
Undefined_atom of |
(* |
some undefined term of given topleveltype, + args
| *) |
| |
Unparsable of |
(* |
could not parse term
| *) |
| |
Fun of |
(* |
caution, not supported everywhere
| *) |
| |
Mu of |
(* |
caution, not supported everywhere
| *) |
| |
Let of |
|||
| |
Ite of |
|||
| |
True |
|||
| |
False |
|||
| |
Eq of |
|||
| |
And of |
|||
| |
Or of |
|||
| |
Not of |
|||
| |
Imply of |
|||
| |
Equiv of |
|||
| |
Forall of |
|||
| |
Exists of |
type'ty
toplevel_ty ='ty list * 'ty
type 'ty
ty_view =
| |
TyBuiltin of |
| |
TyApp of |
type 'ty
constructor = {
|
cstor_name : |
|
cstor_args : |
type 'ty
tydef = {
|
ty_name : |
|
ty_cstors : |
type 'ty
mutual_types = {
|
tys_vars : |
|
tys_defs : |
type
attr =
| |
Attr_pseudo_prop |
| |
Attr_pseudo_true |
type ('t, 'ty)
statement =
| |
TyDecl of |
(* |
number of arguments
| *) |
| |
Decl of |
|||
| |
Axiom of |
|||
| |
CardBound of |
(* |
cardinality bound
| *) |
| |
MutualTypes of |
|||
| |
Goal of |
module Ty:sig
..end
module T:sig
..end
module Problem:sig
..end
module Util:sig
..end
val tys_of_toplevel_ty : 'ty toplevel_ty -> 'ty Sequence.t
val terms_of_statement : ('t, 'a) statement -> 't Sequence.t
val tys_of_statement : ('a, 'ty) statement -> 'ty Sequence.t
val print_ty : Ty.t printer
val print_toplevel_ty : Ty.toplevel_ty printer
val print_term : T.t printer
val print_term' : 'a -> T.t printer
val print_statement : (T.t, Ty.t) statement printer
val print_model : (T.t * T.t) list printer
val print_problem : (T.t, Ty.t) Problem.t printer
module To_tptp:sig
..end
module Of_tptp:sig
..end
val pipe_tptp : ((T.t, Ty.t) Problem.t, FO_tptp.problem,
(FO_tptp.term, FO_tptp.ty) res, (T.t, Ty.t) res)
Transform.t