1 (* Why driver for first-order tptp provers supporting TFF0 *)
7 invalid "Completion found"
8 valid "^% SZS status Theorem"
9 valid "^% SZS status Unsatisfiable"
10 unknown "^% SZS status CounterSatisfiable" ""
11 unknown "^% SZS status Satisfiable" ""
12 timeout "^% SZS status Timeout"
13 unknown "^% SZS status GaveUp" ""
14 fail "^% SZS status Error" ""
15 timeout "Ran out of time"
16 timeout "CPU time limit exceeded"
17 outofmemory "Out of Memory"
18 unknown "No Proof Found" ""
19 fail "Failure.*" "\"\\0\""
20 time "why3cpulimit time : %s s"
25 (* Performed introductions depending on whether counterexamples are
26 requested, as said by the meta "get_counterexmp". When this meta
27 set, this transformation introduces the model variables that are
28 still embedded in the goal. When it is not set, it removes all
29 these unused-ce-related variables, even in the context. *)
30 transformation "counterexamples_dependent_intros"
32 transformation "inline_trivial"
34 transformation "eliminate_builtin"
35 transformation "eliminate_definition"
36 transformation "eliminate_inductive"
37 transformation "eliminate_epsilon"
38 transformation "eliminate_algebraic"
39 transformation "eliminate_literal"
41 transformation "discriminate"
42 transformation "encoding_smt"
44 import "discrimination.gen"
47 syntax predicate (=) "(%1 = %2)"
48 syntax type int "$int"
49 syntax type real "$real"
51 meta "encoding:kept" type int
52 meta "encoding:kept" type real
53 meta "eliminate_algebraic" "no_index"
57 syntax function zero "0"
58 syntax function one "1"
60 syntax function (+) "$sum(%1,%2)"
61 syntax function (-) "$difference(%1,%2)"
62 syntax function (*) "$product(%1,%2)"
63 syntax function (-_) "$uminus(%1)"
65 syntax predicate (<=) "$lesseq(%1,%2)"
66 syntax predicate (<) "$less(%1,%2)"
67 syntax predicate (>=) "$greatereq(%1,%2)"
68 syntax predicate (>) "$greater(%1,%2)"
70 remove prop MulComm.Comm
71 remove prop MulAssoc.Assoc
72 remove prop Unit_def_l
73 remove prop Unit_def_r
77 remove prop Mul_distr_l
78 remove prop Mul_distr_r
85 remove prop NonTrivialRing
86 remove prop CompatOrderAdd
87 remove prop ZeroLessOne
91 syntax function zero "0.0"
92 syntax function one "1.0"
94 syntax function (+) "$sum(%1,%2)"
95 syntax function (-) "$difference(%1,%2)"
96 syntax function (*) "$product(%1,%2)"
97 syntax function (-_) "$uminus(%1)"
99 syntax function (/) "$quotient(%1,%2)"
100 syntax function inv "$quotient(1.0,%1)"
102 syntax predicate (<=) "$lesseq(%1,%2)"
103 syntax predicate (<) "$less(%1,%2)"
104 syntax predicate (>=) "$greatereq(%1,%2)"
105 syntax predicate (>) "$greater(%1,%2)"
107 remove prop MulComm.Comm
108 remove prop MulAssoc.Assoc
109 remove prop Unit_def_l
110 remove prop Unit_def_r
111 remove prop Inv_def_l
112 remove prop Inv_def_r
114 remove prop Mul_distr_l
115 remove prop Mul_distr_r
123 remove prop NonTrivialRing
124 remove prop CompatOrderAdd
125 remove prop ZeroLessOne
128 theory int.EuclideanDivision
129 syntax function div "$quotient_e(%1,%2)"
130 syntax function mod "$remainder_e(%1,%2)"
133 remove prop Div_bound
134 remove prop Mod_bound
138 remove prop Div_inf_neg
140 remove prop Div_1_left
141 remove prop Div_minus1_left
142 remove prop Mod_1_left
143 remove prop Mod_minus1_left
147 syntax type iType "$i"
149 meta "encoding:kept" type iType
153 syntax function floor "$floor(%1)"
154 syntax function ceiling "$ceiling(%1)"
155 syntax function truncate "$truncate(%1)"
156 syntax function round "$round(%1)"
158 syntax function to_int "$to_int(%1)"
160 syntax predicate is_int "$is_int(%1)"
161 syntax predicate is_rat "$is_rat(%1)"
165 syntax function div_t "$quotient_t(%1,%2)"
166 syntax function mod_t "$remainder_t(%1,%2)"
170 syntax function div_f "$quotient_f(%1,%2)"
171 syntax function mod_f "$remainder_f(%1,%2)"
175 syntax type rat "$rat"
177 syntax function zero "0/1"
178 syntax function one "1/1"
180 syntax function (+) "$sum(%1,%2)"
181 syntax function (-) "$difference(%1,%2)"
182 syntax function (*) "$product(%1,%2)"
183 syntax function (-_) "$uminus(%1)"
185 syntax function (/) "$quotient(%1,%2)"
186 syntax function inv "$quotient(1/1,%1)"
188 syntax predicate (<=) "$lesseq(%1,%2)"
189 syntax predicate (<) "$less(%1,%2)"
190 syntax predicate (>=) "$greatereq(%1,%2)"
191 syntax predicate (>) "$greater(%1,%2)"
193 syntax function to_rat "$to_rat(%1)"
195 syntax predicate is_int "$is_int(%1)"
196 syntax predicate is_rat "$is_rat(%1)"
198 remove prop MulComm.Comm
199 remove prop MulAssoc.Assoc
200 remove prop Unit_def_l
201 remove prop Unit_def_r
202 remove prop Inv_def_l
203 remove prop Inv_def_r
205 remove prop Mul_distr_l
206 remove prop Mul_distr_r
213 remove prop NonTrivialRing
214 remove prop CompatOrderAdd
215 remove prop ZeroLessOne
217 meta "encoding:kept" type rat
221 syntax function floor "$floor(%1)"
222 syntax function ceiling "$ceiling(%1)"
223 syntax function truncate "$truncate(%1)"
224 syntax function round "$round(%1)"
226 syntax function to_int "$to_int(%1)"
230 syntax function div "$quotient_e(%1,%2)"
231 syntax function mod "$remainder_e(%1,%2)"
235 syntax function div_t "$quotient_t(%1,%2)"
236 syntax function mod_t "$remainder_t(%1,%2)"
240 syntax function div_f "$quotient_f(%1,%2)"
241 syntax function mod_f "$remainder_f(%1,%2)"
245 syntax function to_real "$to_real(%1)"
249 syntax function from_int "$to_real(%1)"
260 syntax function floor "$to_int(%1)"
261 syntax function ceil "$to_int($ceiling(%1))"
262 syntax function truncate "$to_int($truncate(%1))"
264 remove prop Truncate_int
265 remove prop Truncate_down_pos
266 remove prop Truncate_up_neg
267 remove prop Real_of_truncate
268 remove prop Truncate_monotonic
269 remove prop Truncate_monotonic_int1
270 remove prop Truncate_monotonic_int2
271 remove prop Floor_int
273 remove prop Floor_down
275 remove prop Floor_monotonic
276 remove prop Ceil_monotonic
279 theory tptp.RealTrunc
280 syntax function floor "$floor(%1)"
281 syntax function ceiling "$ceiling(%1)"
282 syntax function truncate "$truncate(%1)"
283 syntax function round "$round(%1)"
285 syntax function to_int "$to_int(%1)"
287 syntax predicate is_int "$is_int(%1)"
288 syntax predicate is_rat "$is_rat(%1)"
292 syntax function div "$quotient_e(%1,%2)"
293 syntax function mod "$remainder_e(%1,%2)"
297 syntax function div_t "$quotient_t(%1,%2)"
298 syntax function mod_t "$remainder_t(%1,%2)"
302 syntax function div_f "$quotient_f(%1,%2)"
303 syntax function mod_f "$remainder_f(%1,%2)"
307 syntax function to_rat "$to_rat(%1)"
310 theory tptp.IntToReal
311 syntax function to_real "$to_real(%1)"
314 theory tptp.RealToRat
315 syntax function to_rat "$to_rat(%1)"
318 theory tptp.RatToReal
319 syntax function to_real "$to_real(%1)"