(* Why driver for Simplify *) prelude ";;; this is a prelude for Simplify" printer "simplify" filename "%f-%t-%g.sx" valid "\\bValid\\b" unknown "\\bInvalid\\b" "" time "why3cpulimit time : %s s" (* Performed introductions depending on whether counterexamples are requested, as said by the meta "get_counterexmp". When this meta set, this transformation introduces the model variables that are still embedded in the goal. When it is not set, it removes all these unused-ce-related variables, even in the context. *) transformation "counterexamples_dependent_intros" transformation "inline_trivial" transformation "eliminate_builtin" transformation "eliminate_definition" (*_func*) transformation "eliminate_inductive" transformation "eliminate_if" transformation "eliminate_epsilon" transformation "eliminate_algebraic" transformation "eliminate_literal" transformation "eliminate_let" transformation "simplify_formula" (*transformation "simplify_trivial_quantification"*) transformation "remove_triggers" (*transformation "filter_trigger_no_predicate"*) (* predicate are *currently* translated to P(\x) = true, thus in a trigger they can't appear since = can't appear *) (*transformation "filter_trigger_builtin"*) (* this is sound as long as int is the only kept type *) transformation "encoding_tptp" theory BuiltIn syntax predicate (=) "(EQ %1 %2)" meta "encoding:base" type int end theory int.Int prelude ";;; this is a prelude for Simplify integer arithmetic" syntax function zero "0" syntax function one "1" syntax function (+) "(+ %1 %2)" syntax function (-) "(- %1 %2)" syntax function (*) "(* %1 %2)" syntax function (-_) "(- 0 %1)" syntax predicate (<=) "(<= %1 %2)" syntax predicate (<) "(< %1 %2)" syntax predicate (>=) "(>= %1 %2)" syntax predicate (>) "(> %1 %2)" remove prop MulComm.Comm remove prop MulAssoc.Assoc remove prop Unit_def_l remove prop Unit_def_r remove prop Inv_def_l remove prop Inv_def_r remove prop Assoc remove prop Mul_distr_l remove prop Mul_distr_r remove prop Comm remove prop Unitary remove prop Refl remove prop Trans remove prop Antisymm remove prop Total remove prop NonTrivialRing remove prop CompatOrderAdd remove prop ZeroLessOne end theory real.Real remove prop ZeroLessOne remove prop NonTrivialRing end