2 prelude "(* This file is generated by Why3's coq-ssreflect driver *)"
3 prelude "(* Beware! Only edit allowed sections below *)"
9 unknown "Error: \\(.*\\)$" "\\1"
10 fail "Syntax error: \\(.*\\)$" "\\1"
11 time "why3cpulimit time : %s s"
13 (* Performed introductions depending on whether counterexamples are
14 requested, as said by the meta "get_counterexmp". When this meta
15 set, this transformation introduces the model variables that are
16 still embedded in the goal. When it is not set, it removes all
17 these unused-ce-related variables, even in the context. *)
18 transformation "counterexamples_dependent_intros"
20 transformation "inline_trivial"
21 transformation "eliminate_non_struct_recursion"
22 transformation "eliminate_if"
23 transformation "eliminate_literal"
24 transformation "eliminate_non_lambda_set_epsilon"
25 transformation "eliminate_projections"
26 transformation "simplify_formula"
32 Require Import ssreflect ssrbool ssrfun ssrnat seq eqtype ssrint.\n\
33 Require Import ssrint ssrwhy3.\n\
34 Set Implicit Arguments.\n\
35 Unset Strict Implicit.\n\
36 Unset Printing Implicit Defensive.\n\
41 syntax predicate (=) "(%1 = %2)"
46 syntax type unit "unit"
50 syntax type (->) "(%1 -> %2)"
51 syntax function (@) "(%1 %2)"
55 syntax type bool "bool"
57 syntax function True "true"
58 syntax function False "false"
62 syntax function andb "(Init.Datatypes.andb %1 %2)"
63 syntax function orb "(Init.Datatypes.orb %1 %2)"
64 syntax function xorb "(Init.Datatypes.xorb %1 %2)"
65 syntax function notb "(Init.Datatypes.negb %1)"
66 syntax function implb "(Init.Datatypes.implb %1 %2)"
70 syntax function get "(%1 %2)"
76 Require Import ssralg ssrnum.\n\
77 Import GRing.Theory Num.Theory.\n\
78 Local Open Scope ring_scope."
80 syntax function zero "0%:Z"
81 syntax function one "1%:Z"
83 syntax function (+) "(%1 + %2)%R"
84 syntax function (-) "(%1 - %2)%R"
85 syntax function ( * ) "(%1 * %2)%R"
86 syntax function (-_) "(-%1)%R"
88 syntax predicate (<=) "(%1 <= %2)%R"
89 syntax predicate (<) "(%1 < %2)%R"
90 syntax predicate (>=) "(%1 >= %2)%R"
91 syntax predicate (>) "(%1 > %2)%R"
93 remove prop MulComm.Comm
94 remove prop MulAssoc.Assoc
95 remove prop Unit_def_l
96 remove prop Unit_def_r
100 remove prop Mul_distr_l
101 remove prop Mul_distr_r
108 remove prop NonTrivialRing
109 remove prop CompatOrderAdd
110 remove prop CompatOrderMult
111 remove prop ZeroLessOne
117 syntax type array "(array %1)"
119 syntax function ([]) "(get %1 %2)"
120 syntax function length "(size %1 : int)"
121 syntax function elts "(get %1)"
122 (* does not exist anymore
123 syntax function make "(make %1 %2)"
130 syntax type matrix "(matrix %1)"
132 syntax function rows "(nrows %1 : int)"
133 syntax function columns "(ncols %1 : int)"
134 syntax function elts "(matrix_get_curry %1)"
135 (* does not exist anymore
136 syntax function make "(matrix_make %1 %2)"