1 (** Why3 driver for dreal 21.4.06.2* *)
3 prelude ";; produced by dreal.drv ;;"
7 filename "%f-%t-%g.smt2"
8 unknown "delta-sat with delta = .*" ""
9 time "why3cpulimit time : %s s"
12 (* Performed introductions depending on whether counterexamples are
13 requested, as said by the meta "get_counterexmp". When this meta
14 set, this transformation introduces the model variables that are
15 still embedded in the goal. When it is not set, it removes all
16 these unused-ce-related variables, even in the context. *)
17 transformation "counterexamples_dependent_intros"
19 transformation "inline_trivial"
20 transformation "eliminate_definition"
21 transformation "eliminate_builtin"
22 transformation "eliminate_inductive"
23 transformation "eliminate_epsilon"
24 transformation "eliminate_algebraic"
25 transformation "eliminate_literal"
26 transformation "simplify_formula"
27 transformation "simplify_trivial_quantification"
28 transformation "encoding_smt"
29 transformation "simplify_computations"
30 transformation "introduce_premises"
31 transformation "instantiate_predicate"
32 transformation "keep_only_arithmetic"
33 transformation "abstract_unknown_lsymbols"
34 transformation "eliminate_unknown_lsymbols"
35 transformation "eliminate_unknown_types"
36 transformation "eliminate_big_constants"
38 prelude "(set-logic QF_NRA)"
42 syntax type real "Real"
43 syntax predicate (=) "(= %1 %2)"
45 meta "encoding:kept" type int
46 meta "encoding:ignore_polymorphism_ls" predicate (=)
50 syntax function zero "0"
51 syntax function one "1"
53 syntax function (+) "(+ %1 %2)"
54 syntax function (-) "(- %1 %2)"
55 syntax function (*) "(* %1 %2)"
56 syntax function (-_) "(- %1)"
58 syntax predicate (<=) "(<= %1 %2)"
59 syntax predicate (<) "(< %1 %2)"
60 syntax predicate (>=) "(>= %1 %2)"
61 syntax predicate (>) "(> %1 %2)"
67 syntax function abs "(ite (>= %1 0.0) %1 (- %1))"
74 syntax function zero "0.0"
75 syntax function one "1.0"
77 syntax function (+) "(+ %1 %2)"
78 syntax function (-) "(- %1 %2)"
79 syntax function (*) "(* %1 %2)"
80 syntax function (/) "(/ %1 %2)"
81 syntax function (-_) "(- %1)"
82 syntax function inv "(/ 1.0 %1)"
84 syntax predicate (<=) "(<= %1 %2)"
85 syntax predicate (<) "(< %1 %2)"
86 syntax predicate (>=) "(>= %1 %2)"
87 syntax predicate (>) "(> %1 %2)"
91 meta "encoding:kept" type real
95 syntax function abs "(ite (>= %1 0.0) %1 (- %1))"
101 syntax function min "(min %1 %2)"
102 syntax function max "(max %1 %2)"
111 syntax function truncate "(ite (>= %1 0.0) \
113 (- (to_int (- %1))))"
114 syntax function floor "(to_int %1)"
115 syntax function ceil "(- (to_int (- %1)))"
120 syntax function sqrt "(sqrt %1)"
121 syntax function sqr "(pow %1 2)"
126 syntax function exp "(exp %1)"
127 syntax function log "(log %1)"
131 theory real.PowerReal
132 syntax function pow "(^ %1 %2)"
136 theory real.Trigonometry
137 syntax function cos "(cos %1)"
138 syntax function sin "(sin %1)"
139 syntax function tan "(tan %1)"
140 syntax function atan "(atan %1)"
142 remove prop Pythagorean_identity
143 remove prop Cos_le_one
144 remove prop Sin_le_one
154 theory real.Hyperbolic
155 syntax function cosh "(cosh %1)"
156 syntax function sinh "(sinh %1)"
157 syntax function tanh "(tanh %1)"
160 theory ieee_float.GenericFloat