1 (* Why3 driver for Alt-Ergo with SMT-lib V2 input format, including polymorphism *)
3 prelude ";;; this is a prelude for Alt-Ergo, Dolmen frontend"
4 prelude "(set-logic ALL)"
5 prelude "(set-info :smt-lib-version 2.6)"
8 filename "%f-%t-%g.psmt2"
11 valid "^; File \".*\", line [0-9]+, characters [0-9]+-[0-9]+: ?Valid"
12 unknown "^; File \".*\", line [0-9]+, characters [0-9]+-[0-9]+: ?I don't know" ""
13 steplimitexceeded "^\\[Error\\]; Fatal Error: Steps limit reached"
15 steps "^; File \".*\", line [0-9]+, characters [0-9]+-[0-9]+:.*(\\([0-9]+.?[0-9]*\\) steps)" 1
16 steps "^\\[Error\\]; Fatal Error: Steps limit reached: \\([0-9]+.?[0-9]*\\)" 1
19 (* unknown "^\\(unknown\\|sat\\|Fail\\)" "" *)
20 time "why3cpulimit time : %s s"
22 (* Performed introductions depending on whether counterexamples are
23 requested, as said by the meta "get_counterexmp". When this meta
24 set, this transformation introduces the model variables that are
25 still embedded in the goal. When it is not set, it removes all
26 these unused-ce-related variables, even in the context. *)
27 transformation "counterexamples_dependent_intros"
29 transformation "monomorphise_goal"
30 transformation "inline_trivial"
31 transformation "eliminate_builtin"
32 transformation "remove_unused_keep_constants"
33 transformation "eliminate_recursion"
34 transformation "eliminate_inductive"
35 transformation "eliminate_epsilon"
36 transformation "eliminate_algebraic"
37 transformation "eliminate_literal"
38 transformation "split_premise_right"
39 transformation "simplify_formula"
44 meta "eliminate_algebraic" "keep_enums"
45 meta "eliminate_algebraic" "keep_recs"