Skip to content
Snippets Groups Projects
Commit 9c4ca635 authored by Allan Blanchard's avatar Allan Blanchard
Browse files

[wp] Update Coq qualif tests

parent 4c2a1c2f
No related branches found
No related tags found
No related merge requests found
Showing
with 10254 additions and 30 deletions
PLUGIN: wp PLUGIN: wp
CMD: @frama-c@ -wp -wp-par 1 -wp-share @PTEST_SHARE_DIR@ -wp-msg-key shell -wp-warn-key pedantic-assigns=inactive -wp-report @PTEST_SUITE_DIR@/../qualif.report -wp-session @PTEST_SUITE_DIR@/oracle@PTEST_CONFIG@/@PTEST_NAME@.@PTEST_NUMBER@.session -wp-cache-env -wp-cache replay @PTEST_FILE@ -wp-coq-timeout 120 CMD: @frama-c@ -wp -wp-par 1 -wp-share @PTEST_SHARE_DIR@ -wp-msg-key shell -wp-warn-key pedantic-assigns=inactive -wp-report @PTEST_SUITE_DIR@/../qualif.report -wp-session @PTEST_SUITE_DIR@/oracle@PTEST_CONFIG@/@PTEST_NAME@.@PTEST_NUMBER@.session -wp-cache-env -wp-cache replay @PTEST_FILE@
OPT: OPT:
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
OPT: -wp-gen -wp-rte -wp-prover why3 -wp-msg-key print-generated OPT: -wp-gen -wp-rte -wp-prover why3 -wp-msg-key print-generated
*/ */
/* run.config_qualif /* run.config_qualif
OPT: -wp-rte -wp-coq-script %{dep:@PTEST_DIR@/chunk_typing_usable.script} -wp-prover alt-ergo,native:coq OPT: -wp-rte -wp-prover alt-ergo,coq
*/ */
/*@ /*@
......
/* run.config_qualif /* run.config_qualif
OPT: -wp-prover alt-ergo OPT: -wp-prover alt-ergo
OPT: -wp-prover native:coq -wp-coq-script %{dep:@PTEST_DIR@/classify_float.script} OPT: -wp-prover coq
OPT: -wp-model real OPT: -wp-model real
*/ */
......
...@@ -3,16 +3,14 @@ ...@@ -3,16 +3,14 @@
[wp] Running WP plugin... [wp] Running WP plugin...
[rte:annot] annotating function usable_axiom [rte:annot] annotating function usable_axiom
[rte:annot] annotating function usable_lemma [rte:annot] annotating function usable_lemma
[wp] Warning: native support for coq is deprecated, use tip instead
[wp] 3 goals scheduled [wp] 3 goals scheduled
[wp] [Coq] Goal typed_lemma_provable_lemma : Saved script [wp] [Coq] Goal typed_lemma_provable_lemma : Valid
[wp] [Coq (native)] Goal typed_lemma_provable_lemma : Valid
[wp] [Alt-Ergo] Goal typed_usable_axiom_ensures : Valid [wp] [Alt-Ergo] Goal typed_usable_axiom_ensures : Valid
[wp] [Alt-Ergo] Goal typed_usable_lemma_ensures : Valid [wp] [Alt-Ergo] Goal typed_usable_lemma_ensures : Valid
[wp] Proved goals: 3 / 3 [wp] Proved goals: 3 / 3
Qed: 0 Qed: 0
Coq (native): 1
Alt-Ergo: 2 (unsuccess: 1) Alt-Ergo: 2 (unsuccess: 1)
Coq: 1
------------------------------------------------------------ ------------------------------------------------------------
Axiomatics WP Alt-Ergo Total Success Axiomatics WP Alt-Ergo Total Success
Lemma - - 1 100% Lemma - - 1 100%
......
# frama-c -wp [...] # frama-c -wp [...]
[kernel] Parsing classify_float.c (with preprocessing) [kernel] Parsing classify_float.c (with preprocessing)
[wp] Running WP plugin... [wp] Running WP plugin...
[wp] Warning: native support for coq is deprecated, use tip instead
[wp] 3 goals scheduled [wp] 3 goals scheduled
[wp] [Coq] Goal typed_lemma_InfN_not_finite : Saved script [wp] [Coq] Goal typed_lemma_InfN_not_finite : Valid
[wp] [Coq (native)] Goal typed_lemma_InfN_not_finite : Valid [wp] [Coq] Goal typed_lemma_InfP_not_finite : Valid
[wp] [Coq] Goal typed_lemma_InfP_not_finite : Saved script [wp] [Coq] Goal typed_lemma_NaN_not_finite : Valid
[wp] [Coq (native)] Goal typed_lemma_InfP_not_finite : Valid
[wp] [Coq] Goal typed_lemma_NaN_not_finite : Saved script
[wp] [Coq (native)] Goal typed_lemma_NaN_not_finite : Valid
[wp] Proved goals: 3 / 3 [wp] Proved goals: 3 / 3
Qed: 0 Qed: 0
Coq (native): 3 Coq: 3
------------------------------------------------------------ ------------------------------------------------------------
Axiomatics WP Alt-Ergo Total Success Axiomatics WP Alt-Ergo Total Success
Lemma - - 3 100% Lemma - - 3 100%
......
# frama-c -wp [...] # frama-c -wp [...]
[kernel] Parsing tset.i (no preprocessing) [kernel] Parsing tset.i (no preprocessing)
[wp] Running WP plugin... [wp] Running WP plugin...
[wp] Warning: native support for coq is deprecated, use tip instead
[wp] 4 goals scheduled [wp] 4 goals scheduled
[wp] [Qed] Goal typed_lemma_UNION_DESCR : Valid [wp] [Qed] Goal typed_lemma_UNION_DESCR : Valid
[wp] [Alt-Ergo] Goal typed_lemma_UNION_EQ : Valid [wp] [Alt-Ergo] Goal typed_lemma_UNION_EQ : Valid
......
/* run.config_qualif /* run.config_qualif
OPT: -wp -wp-prover alt-ergo,native:coq -wp-coq-script %{dep:@PTEST_DIR@/tset.s} OPT: -wp -wp-prover alt-ergo,coq
*/ */
/*@ /*@
lemma UNION_EQ: lemma UNION_EQ:
\forall integer x,y ; \forall integer x,y ;
(\union(0,x) == \union(0,y)) <==> (x==y) ; (\union(0,x) == \union(0,y)) <==> (x==y) ;
lemma UNION_LIFT: lemma UNION_LIFT:
......
/* run.config_qualif /* run.config_qualif
OPT: -wp -wp-prover native:coq -wp-coq-script %{dep:@PTEST_DIR@/bts_1174.s} -wp-model +real OPT: -wp -wp-prover coq -wp-model +real
*/ */
/*@ requires -10. <= x && x <= 10.; */ /*@ requires -10. <= x && x <= 10.; */
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
/* run.config_qualif /* run.config_qualif
OPT: -wp-timeout 1 OPT: -wp-timeout 1
OPT: -wp-prover native:coq OPT: -wp-prover coq
*/ */
/*@ axiomatic maps { /*@ axiomatic maps {
......
(* This file is generated by Why3's Coq driver *)
(* Beware! Only edit allowed sections below *)
Require Import BuiltIn.
Require BuiltIn.
Require HighOrd.
Require bool.Bool.
Require int.Int.
Require int.Abs.
Require int.ComputerDivision.
Require real.Real.
Require real.RealInfix.
Require real.FromInt.
Require map.Map.
Parameter eqb:
forall {a:Type} {a_WT:WhyType a}, a -> a -> Init.Datatypes.bool.
Axiom eqb1 :
forall {a:Type} {a_WT:WhyType a},
forall (x:a) (y:a), ((eqb x y) = Init.Datatypes.true) <-> (x = y).
Axiom eqb_false :
forall {a:Type} {a_WT:WhyType a},
forall (x:a) (y:a), ((eqb x y) = Init.Datatypes.false) <-> ~ (x = y).
Parameter neqb:
forall {a:Type} {a_WT:WhyType a}, a -> a -> Init.Datatypes.bool.
Axiom neqb1 :
forall {a:Type} {a_WT:WhyType a},
forall (x:a) (y:a), ((neqb x y) = Init.Datatypes.true) <-> ~ (x = y).
Parameter zlt: Numbers.BinNums.Z -> Numbers.BinNums.Z -> Init.Datatypes.bool.
Parameter zleq:
Numbers.BinNums.Z -> Numbers.BinNums.Z -> Init.Datatypes.bool.
Axiom zlt1 :
forall (x:Numbers.BinNums.Z) (y:Numbers.BinNums.Z),
((zlt x y) = Init.Datatypes.true) <-> (x < y)%Z.
Axiom zleq1 :
forall (x:Numbers.BinNums.Z) (y:Numbers.BinNums.Z),
((zleq x y) = Init.Datatypes.true) <-> (x <= y)%Z.
Parameter rlt:
Reals.Rdefinitions.R -> Reals.Rdefinitions.R -> Init.Datatypes.bool.
Parameter rleq:
Reals.Rdefinitions.R -> Reals.Rdefinitions.R -> Init.Datatypes.bool.
Axiom rlt1 :
forall (x:Reals.Rdefinitions.R) (y:Reals.Rdefinitions.R),
((rlt x y) = Init.Datatypes.true) <-> (x < y)%R.
Axiom rleq1 :
forall (x:Reals.Rdefinitions.R) (y:Reals.Rdefinitions.R),
((rleq x y) = Init.Datatypes.true) <-> (x <= y)%R.
(* Why3 assumption *)
Definition real_of_int (x:Numbers.BinNums.Z) : Reals.Rdefinitions.R :=
BuiltIn.IZR x.
Axiom c_euclidian :
forall (n:Numbers.BinNums.Z) (d:Numbers.BinNums.Z), ~ (d = 0%Z) ->
(n = (((ZArith.BinInt.Z.quot n d) * d)%Z + (ZArith.BinInt.Z.rem n d))%Z).
Axiom cmod_remainder :
forall (n:Numbers.BinNums.Z) (d:Numbers.BinNums.Z),
((0%Z <= n)%Z -> (0%Z < d)%Z ->
(0%Z <= (ZArith.BinInt.Z.rem n d))%Z /\ ((ZArith.BinInt.Z.rem n d) < d)%Z) /\
((n <= 0%Z)%Z -> (0%Z < d)%Z ->
((-d)%Z < (ZArith.BinInt.Z.rem n d))%Z /\
((ZArith.BinInt.Z.rem n d) <= 0%Z)%Z) /\
((0%Z <= n)%Z -> (d < 0%Z)%Z ->
(0%Z <= (ZArith.BinInt.Z.rem n d))%Z /\
((ZArith.BinInt.Z.rem n d) < (-d)%Z)%Z) /\
((n <= 0%Z)%Z -> (d < 0%Z)%Z ->
(d < (ZArith.BinInt.Z.rem n d))%Z /\ ((ZArith.BinInt.Z.rem n d) <= 0%Z)%Z).
Axiom cdiv_neutral :
forall (a:Numbers.BinNums.Z), ((ZArith.BinInt.Z.quot a 1%Z) = a).
Axiom cdiv_inv :
forall (a:Numbers.BinNums.Z), ~ (a = 0%Z) ->
((ZArith.BinInt.Z.quot a a) = 1%Z).
Axiom cdiv_closed_remainder :
forall (a:Numbers.BinNums.Z) (b:Numbers.BinNums.Z) (n:Numbers.BinNums.Z),
(0%Z <= a)%Z -> (0%Z <= b)%Z ->
(0%Z <= (b - a)%Z)%Z /\ ((b - a)%Z < n)%Z ->
((ZArith.BinInt.Z.rem a n) = (ZArith.BinInt.Z.rem b n)) -> (a = b).
(* Why3 assumption *)
Definition is_bool (x:Numbers.BinNums.Z) : Prop := (x = 0%Z) \/ (x = 1%Z).
(* Why3 assumption *)
Definition is_uint8 (x:Numbers.BinNums.Z) : Prop :=
(0%Z <= x)%Z /\ (x < 256%Z)%Z.
(* Why3 assumption *)
Definition is_sint8 (x:Numbers.BinNums.Z) : Prop :=
((-128%Z)%Z <= x)%Z /\ (x < 128%Z)%Z.
(* Why3 assumption *)
Definition is_uint16 (x:Numbers.BinNums.Z) : Prop :=
(0%Z <= x)%Z /\ (x < 65536%Z)%Z.
(* Why3 assumption *)
Definition is_sint16 (x:Numbers.BinNums.Z) : Prop :=
((-32768%Z)%Z <= x)%Z /\ (x < 32768%Z)%Z.
(* Why3 assumption *)
Definition is_uint32 (x:Numbers.BinNums.Z) : Prop :=
(0%Z <= x)%Z /\ (x < 4294967296%Z)%Z.
(* Why3 assumption *)
Definition is_sint32 (x:Numbers.BinNums.Z) : Prop :=
((-2147483648%Z)%Z <= x)%Z /\ (x < 2147483648%Z)%Z.
(* Why3 assumption *)
Definition is_uint64 (x:Numbers.BinNums.Z) : Prop :=
(0%Z <= x)%Z /\ (x < 18446744073709551616%Z)%Z.
(* Why3 assumption *)
Definition is_sint64 (x:Numbers.BinNums.Z) : Prop :=
((-9223372036854775808%Z)%Z <= x)%Z /\ (x < 9223372036854775808%Z)%Z.
Axiom is_bool0 : is_bool 0%Z.
Axiom is_bool1 : is_bool 1%Z.
Parameter to_bool: Numbers.BinNums.Z -> Numbers.BinNums.Z.
Axiom to_bool'def :
forall (x:Numbers.BinNums.Z),
((x = 0%Z) -> ((to_bool x) = 0%Z)) /\ (~ (x = 0%Z) -> ((to_bool x) = 1%Z)).
Parameter to_uint8: Numbers.BinNums.Z -> Numbers.BinNums.Z.
Parameter to_sint8: Numbers.BinNums.Z -> Numbers.BinNums.Z.
Parameter to_uint16: Numbers.BinNums.Z -> Numbers.BinNums.Z.
Parameter to_sint16: Numbers.BinNums.Z -> Numbers.BinNums.Z.
Parameter to_uint32: Numbers.BinNums.Z -> Numbers.BinNums.Z.
Parameter to_sint32: Numbers.BinNums.Z -> Numbers.BinNums.Z.
Parameter to_uint64: Numbers.BinNums.Z -> Numbers.BinNums.Z.
Parameter to_sint64: Numbers.BinNums.Z -> Numbers.BinNums.Z.
Parameter two_power_abs: Numbers.BinNums.Z -> Numbers.BinNums.Z.
Axiom two_power_abs_is_positive :
forall (n:Numbers.BinNums.Z), (0%Z < (two_power_abs n))%Z.
Axiom two_power_abs_plus_pos :
forall (n:Numbers.BinNums.Z) (m:Numbers.BinNums.Z), (0%Z <= n)%Z ->
(0%Z <= m)%Z ->
((two_power_abs (n + m)%Z) = ((two_power_abs n) * (two_power_abs m))%Z).
Axiom two_power_abs_plus_one :
forall (n:Numbers.BinNums.Z), (0%Z <= n)%Z ->
((two_power_abs (n + 1%Z)%Z) = (2%Z * (two_power_abs n))%Z).
(* Why3 assumption *)
Definition is_uint (n:Numbers.BinNums.Z) (x:Numbers.BinNums.Z) : Prop :=
(0%Z <= x)%Z /\ (x < (two_power_abs n))%Z.
(* Why3 assumption *)
Definition is_sint (n:Numbers.BinNums.Z) (x:Numbers.BinNums.Z) : Prop :=
((-(two_power_abs n))%Z <= x)%Z /\ (x < (two_power_abs n))%Z.
Parameter to_uint:
Numbers.BinNums.Z -> Numbers.BinNums.Z -> Numbers.BinNums.Z.
Parameter to_sint:
Numbers.BinNums.Z -> Numbers.BinNums.Z -> Numbers.BinNums.Z.
Axiom is_to_uint :
forall (n:Numbers.BinNums.Z) (x:Numbers.BinNums.Z), is_uint n (to_uint n x).
Axiom is_to_sint :
forall (n:Numbers.BinNums.Z) (x:Numbers.BinNums.Z), is_sint n (to_sint n x).
Axiom is_to_uint8 : forall (x:Numbers.BinNums.Z), is_uint8 (to_uint8 x).
Axiom is_to_sint8 : forall (x:Numbers.BinNums.Z), is_sint8 (to_sint8 x).
Axiom is_to_uint16 : forall (x:Numbers.BinNums.Z), is_uint16 (to_uint16 x).
Axiom is_to_sint16 : forall (x:Numbers.BinNums.Z), is_sint16 (to_sint16 x).
Axiom is_to_uint32 : forall (x:Numbers.BinNums.Z), is_uint32 (to_uint32 x).
Axiom is_to_sint32 : forall (x:Numbers.BinNums.Z), is_sint32 (to_sint32 x).
Axiom is_to_uint64 : forall (x:Numbers.BinNums.Z), is_uint64 (to_uint64 x).
Axiom is_to_sint64 : forall (x:Numbers.BinNums.Z), is_sint64 (to_sint64 x).
Axiom id_uint :
forall (n:Numbers.BinNums.Z) (x:Numbers.BinNums.Z),
is_uint n x <-> ((to_uint n x) = x).
Axiom id_sint :
forall (n:Numbers.BinNums.Z) (x:Numbers.BinNums.Z),
is_sint n x <-> ((to_sint n x) = x).
Axiom id_uint8 :
forall (x:Numbers.BinNums.Z), is_uint8 x -> ((to_uint8 x) = x).
Axiom id_sint8 :
forall (x:Numbers.BinNums.Z), is_sint8 x -> ((to_sint8 x) = x).
Axiom id_uint16 :
forall (x:Numbers.BinNums.Z), is_uint16 x -> ((to_uint16 x) = x).
Axiom id_sint16 :
forall (x:Numbers.BinNums.Z), is_sint16 x -> ((to_sint16 x) = x).
Axiom id_uint32 :
forall (x:Numbers.BinNums.Z), is_uint32 x -> ((to_uint32 x) = x).
Axiom id_sint32 :
forall (x:Numbers.BinNums.Z), is_sint32 x -> ((to_sint32 x) = x).
Axiom id_uint64 :
forall (x:Numbers.BinNums.Z), is_uint64 x -> ((to_uint64 x) = x).
Axiom id_sint64 :
forall (x:Numbers.BinNums.Z), is_sint64 x -> ((to_sint64 x) = x).
Axiom proj_uint :
forall (n:Numbers.BinNums.Z) (x:Numbers.BinNums.Z),
((to_uint n (to_uint n x)) = (to_uint n x)).
Axiom proj_sint :
forall (n:Numbers.BinNums.Z) (x:Numbers.BinNums.Z),
((to_sint n (to_sint n x)) = (to_sint n x)).
Axiom proj_uint8 :
forall (x:Numbers.BinNums.Z), ((to_uint8 (to_uint8 x)) = (to_uint8 x)).
Axiom proj_sint8 :
forall (x:Numbers.BinNums.Z), ((to_sint8 (to_sint8 x)) = (to_sint8 x)).
Axiom proj_uint16 :
forall (x:Numbers.BinNums.Z), ((to_uint16 (to_uint16 x)) = (to_uint16 x)).
Axiom proj_sint16 :
forall (x:Numbers.BinNums.Z), ((to_sint16 (to_sint16 x)) = (to_sint16 x)).
Axiom proj_uint32 :
forall (x:Numbers.BinNums.Z), ((to_uint32 (to_uint32 x)) = (to_uint32 x)).
Axiom proj_sint32 :
forall (x:Numbers.BinNums.Z), ((to_sint32 (to_sint32 x)) = (to_sint32 x)).
Axiom proj_uint64 :
forall (x:Numbers.BinNums.Z), ((to_uint64 (to_uint64 x)) = (to_uint64 x)).
Axiom proj_sint64 :
forall (x:Numbers.BinNums.Z), ((to_sint64 (to_sint64 x)) = (to_sint64 x)).
Axiom proj_su :
forall (n:Numbers.BinNums.Z) (x:Numbers.BinNums.Z),
((to_sint n (to_uint n x)) = (to_uint n x)).
Axiom incl_su :
forall (n:Numbers.BinNums.Z) (x:Numbers.BinNums.Z), is_uint n x ->
is_sint n x.
Axiom proj_su_uint :
forall (n:Numbers.BinNums.Z) (m:Numbers.BinNums.Z) (x:Numbers.BinNums.Z),
(0%Z <= n)%Z -> (0%Z <= m)%Z ->
((to_sint (m + n)%Z (to_uint n x)) = (to_uint n x)).
Axiom proj_su_sint :
forall (n:Numbers.BinNums.Z) (m:Numbers.BinNums.Z) (x:Numbers.BinNums.Z),
(0%Z <= n)%Z -> (0%Z <= m)%Z ->
((to_sint n (to_uint (m + (n + 1%Z)%Z)%Z x)) = (to_sint n x)).
Axiom proj_int8 :
forall (x:Numbers.BinNums.Z), ((to_sint8 (to_uint8 x)) = (to_sint8 x)).
Axiom proj_int16 :
forall (x:Numbers.BinNums.Z), ((to_sint16 (to_uint16 x)) = (to_sint16 x)).
Axiom proj_int32 :
forall (x:Numbers.BinNums.Z), ((to_sint32 (to_uint32 x)) = (to_sint32 x)).
Axiom proj_int64 :
forall (x:Numbers.BinNums.Z), ((to_sint64 (to_uint64 x)) = (to_sint64 x)).
Axiom proj_us_uint :
forall (n:Numbers.BinNums.Z) (m:Numbers.BinNums.Z) (x:Numbers.BinNums.Z),
(0%Z <= n)%Z -> (0%Z <= m)%Z ->
((to_uint (n + 1%Z)%Z (to_sint (m + n)%Z x)) = (to_uint (n + 1%Z)%Z x)).
Axiom incl_uint :
forall (n:Numbers.BinNums.Z) (x:Numbers.BinNums.Z) (i:Numbers.BinNums.Z),
(0%Z <= n)%Z -> (0%Z <= i)%Z -> is_uint n x -> is_uint (n + i)%Z x.
Axiom incl_sint :
forall (n:Numbers.BinNums.Z) (x:Numbers.BinNums.Z) (i:Numbers.BinNums.Z),
(0%Z <= n)%Z -> (0%Z <= i)%Z -> is_sint n x -> is_sint (n + i)%Z x.
Axiom incl_int :
forall (n:Numbers.BinNums.Z) (x:Numbers.BinNums.Z) (i:Numbers.BinNums.Z),
(0%Z <= n)%Z -> (0%Z <= i)%Z -> is_uint n x -> is_sint (n + i)%Z x.
(* Why3 goal *)
Theorem wp_goal :
forall (i:Numbers.BinNums.Z) (r:Reals.Rdefinitions.R), ~ (i = 0%Z) ->
(r <= 10%R)%R -> ((-10%R)%R <= r)%R -> (0%R <= r)%R -> is_sint32 i ->
(0%R <= (2%R * r)%R)%R.
Proof.
intros.
Require Import Fourier.
fourier.
Qed.
...@@ -2,13 +2,11 @@ ...@@ -2,13 +2,11 @@
[kernel] Parsing bts_1174.i (no preprocessing) [kernel] Parsing bts_1174.i (no preprocessing)
[wp] Running WP plugin... [wp] Running WP plugin...
[wp] Warning: Missing RTE guards [wp] Warning: Missing RTE guards
[wp] Warning: native support for coq is deprecated, use tip instead
[wp] 1 goal scheduled [wp] 1 goal scheduled
[wp] [Coq] Goal typed_real_job_assert_qed_ok : Saved script [wp] [Coq] Goal typed_real_job_assert_qed_ok : Valid
[wp] [Coq (native)] Goal typed_real_job_assert_qed_ok : Valid
[wp] Proved goals: 1 / 1 [wp] Proved goals: 1 / 1
Qed: 0 Qed: 0
Coq (native): 1 Coq: 1
------------------------------------------------------------ ------------------------------------------------------------
Functions WP Alt-Ergo Total Success Functions WP Alt-Ergo Total Success
job - - 1 100% job - - 1 100%
......
...@@ -2,12 +2,10 @@ ...@@ -2,12 +2,10 @@
[kernel] Parsing bts_2471.i (no preprocessing) [kernel] Parsing bts_2471.i (no preprocessing)
[wp] Running WP plugin... [wp] Running WP plugin...
[wp] Warning: Missing RTE guards [wp] Warning: Missing RTE guards
[wp] Warning: native support for coq is deprecated, use tip instead
[wp] 1 goal scheduled [wp] 1 goal scheduled
[wp] [Coq] Goal typed_foo_assert_ko : Default tactic [wp] [Coq] Goal typed_foo_assert_ko : Unsuccess
[wp] [Coq (native)] Goal typed_foo_assert_ko : Unsuccess
[wp] Proved goals: 0 / 1 [wp] Proved goals: 0 / 1
Coq (native): 0 (unsuccess: 1) Coq: 0 (unsuccess: 1)
------------------------------------------------------------ ------------------------------------------------------------
Functions WP Alt-Ergo Total Success Functions WP Alt-Ergo Total Success
foo - - 1 0.0% foo - - 1 0.0%
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
COMMENT: depends from files mentionned into "abs.driver" COMMENT: depends from files mentionned into "abs.driver"
DEPS: abs.why abs.mlw abs.script Abs.v DEPS: abs.why abs.mlw abs.script Abs.v
OPT: -wp -wp-driver %{dep:@PTEST_DIR@/abs.driver} -wp-prover alt-ergo OPT: -wp -wp-driver %{dep:@PTEST_DIR@/abs.driver} -wp-prover alt-ergo
OPT: -wp -wp-driver %{dep:@PTEST_DIR@/abs.driver} -wp-prover native:coq -wp-coq-script %{dep:@PTEST_DIR@/abs.script} OPT: -wp -wp-driver %{dep:@PTEST_DIR@/abs.driver} -wp-prover coq
*/ */
/*@ axiomatic Absolute { logic integer ABS(integer x) ; } */ /*@ axiomatic Absolute { logic integer ABS(integer x) ; } */
......
/* run.config_qualif /* run.config_qualif
OPT: -wp-prover native:coq OPT: -wp-prover coq
OPT: -wp-prover alt-ergo -wp-steps 5 -wp-timeout 100 OPT: -wp-prover alt-ergo -wp-steps 5 -wp-timeout 100
*/ */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment