1 (********************************************************************)
3 (* The Why3 Verification Platform / The Why3 Development Team *)
4 (* Copyright 2010-2024 -- Inria - CNRS - Paris-Saclay University *)
6 (* This software is distributed under the terms of the GNU Lesser *)
7 (* General Public License version 2.1, with the special exception *)
8 (* on linking described in file LICENSE. *)
10 (********************************************************************)
12 type loc
= Why3.Loc.position
14 type atomic_word
= string
15 type variable
= string
16 type distinct
= string
19 | DTtype
| DTprop
| DTuniv
| DTint
20 | DTrat
| DTreal
| DTdummy
(* placeholder *)
23 | DFumin
| DFsum
| DFdiff
| DFprod
24 | DFquot
| DFquot_e
| DFquot_t
| DFquot_f
25 | DFrem_e
| DFrem_t
| DFrem_f
26 | DFfloor
| DFceil
| DFtrunc
| DFround
27 | DFtoint
| DFtorat
| DFtoreal
30 | DPtrue
| DPfalse
| DPdistinct
31 | DPless
| DPlesseq
| DPgreater
| DPgreatereq
42 | BOequ
| BOnequ
| BOimp
| BOpmi
43 | BOand
| BOor
| BOnand
| BOnor
45 type quant
= Qforall
| Qexists
47 type num_integer
= string
48 type num_rational
= string * string
49 type num_real
= string * string option * string option
53 | Nrat
of num_rational
56 type expr
= { e_node
: expr_node
; e_loc
: loc
}
60 | Eite
of expr
* expr
* expr
61 | Eqnt
of quant
* tyvar list
* expr
62 | Ebin
of binop
* expr
* expr
65 | Eapp
of atomic_word
* expr list
66 | Edef
of defined_word
* expr list
71 and tyvar
= variable
* expr
73 type top_type
= tyvar list
* (expr list
* expr
)
76 | LogicFormula
of expr
77 | TypedAtom
of atomic_word
* top_type
78 | Sequent
of expr list
* expr list
82 type kind
= TFF
| FOF
| CNF
88 | Axiom
| Hypothesis
| Definition
| Assumption
| Corollary
89 | Lemma
| Theorem
| Conjecture
| Negated_conjecture
| Type
92 | Formula
of kind
* name
* role
* top_formula
* loc
93 | Include
of file
* name list
* loc
95 type tptp_file
= input list