updated proof sessions

parent 9b82b149
......@@ -9,28 +9,28 @@
<theory name="EinsteinClues" verified="true" expanded="true">
</theory>
<theory name="Goals" verified="false" expanded="true">
<goal name="G1" sum="0fe9a42b15af9d88af3552c07fd92112" proved="true" expanded="true">
<goal name="G1" sum="e98abb6c262bc0761d42df75d5e62c10" proved="true" expanded="true">
<proof prover="z3" timelimit="2" edited="" obsolete="false">
<result status="valid" time="0.08"/>
<result status="valid" time="0.03"/>
</proof>
</goal>
<goal name="Wrong" sum="fd482c10b98c64766b7b7527eeaf36ee" proved="false" expanded="true">
<goal name="Wrong" sum="20fa61f36158b1c59173ef8887200324" proved="false" expanded="true">
<proof prover="simplify" timelimit="2" edited="" obsolete="false">
<result status="timeout" time="2.08"/>
<result status="timeout" time="2.01"/>
</proof>
<proof prover="alt-ergo" timelimit="2" edited="" obsolete="false">
<result status="timeout" time="2.03"/>
<result status="timeout" time="2.01"/>
</proof>
<proof prover="cvc3" timelimit="2" edited="" obsolete="false">
<result status="unknown" time="0.43"/>
<result status="timeout" time="2.11"/>
</proof>
<proof prover="z3" timelimit="2" edited="" obsolete="false">
<result status="timeout" time="2.08"/>
<result status="timeout" time="2.01"/>
</proof>
</goal>
<goal name="G2" sum="a6cfd18d6312e82ecf666580fac7945e" proved="true" expanded="true">
<goal name="G2" sum="3e272e7c2882d425db1cec0218337917" proved="true" expanded="true">
<proof prover="z3" timelimit="2" edited="" obsolete="false">
<result status="valid" time="0.09"/>
<result status="valid" time="0.02"/>
</proof>
</goal>
</theory>
......
......@@ -3,9 +3,9 @@
<why3session name="examples/programs/binary_search/why3session.xml">
<file name="../binary_search.mlw" verified="true" expanded="true">
<theory name="WP M" verified="true" expanded="true">
<goal name="WP_parameter binary_search" expl="correctness of parameter binary_search" sum="19c8c227fa34ac77ac920a032e72d19f" proved="true" expanded="true">
<goal name="WP_parameter binary_search" expl="correctness of parameter binary_search" sum="e076b2dd1e1e2cdff59fe8f2c598efc5" proved="true" expanded="true">
<proof prover="alt-ergo" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.06"/>
<result status="valid" time="0.03"/>
</proof>
</goal>
</theory>
......
......@@ -5,41 +5,41 @@
<theory name="WP M" verified="false" expanded="true">
<goal name="Invariant_is_ok" sum="390f64d8a0d8118b5ecd73b966e91e83" proved="false" expanded="true">
</goal>
<goal name="WP_parameter bresenham" expl="correctness of parameter bresenham" sum="6d68a3113e31069fe7080c7ab2bfdb70" proved="true" expanded="true">
<goal name="WP_parameter bresenham" expl="correctness of parameter bresenham" sum="7137b9a89e80cd74f02528f954bd7767" proved="true" expanded="true">
<transf name="split_goal" proved="true" expanded="true">
<goal name="WP_parameter bresenham.1" expl="loop invariant init" sum="37b77c77cba7d3b5f341f0e4f308cb16" proved="true" expanded="true">
<proof prover="alt-ergo" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.02"/>
</proof>
</goal>
<goal name="WP_parameter bresenham.2" expl="assertion" sum="261b58b58e5e484e392100c7ae9d46de" proved="true" expanded="true">
<goal name="WP_parameter bresenham.2" expl="assertion" sum="26e0bdc12b640e71e7a5e9e6fe918505" proved="true" expanded="true">
<proof prover="alt-ergo" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.28"/>
<result status="valid" time="0.10"/>
</proof>
</goal>
<goal name="WP_parameter bresenham.3" expl="loop invariant preservation" sum="759d37f0de1364d96fb2692fd67ebb58" proved="true" expanded="true">
<goal name="WP_parameter bresenham.3" expl="loop invariant preservation" sum="396be0c229aea0c570cd8b725a241ec7" proved="true" expanded="true">
<proof prover="cvc3" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.03"/>
<result status="valid" time="0.01"/>
</proof>
</goal>
<goal name="WP_parameter bresenham.4" expl="loop variant decreases" sum="59657e5a7dd65c09ea874478e0b9dece" proved="true" expanded="true">
<goal name="WP_parameter bresenham.4" expl="loop variant decreases" sum="61896fe87096af22bf4d875b7b64fae6" proved="true" expanded="true">
<proof prover="alt-ergo" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.02"/>
<result status="valid" time="0.01"/>
</proof>
</goal>
<goal name="WP_parameter bresenham.5" expl="loop invariant preservation" sum="770bc300939ef2bcd62424a5d711ad03" proved="true" expanded="true">
<goal name="WP_parameter bresenham.5" expl="loop invariant preservation" sum="fe62d534b8c709778059913e84a3aa95" proved="true" expanded="true">
<proof prover="cvc3" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.04"/>
<result status="valid" time="0.02"/>
</proof>
</goal>
<goal name="WP_parameter bresenham.6" expl="loop variant decreases" sum="37037d827452040cc8d6b2b51285c2a2" proved="true" expanded="true">
<goal name="WP_parameter bresenham.6" expl="loop variant decreases" sum="4ba25dd13f98e0aa80af58d01101b63a" proved="true" expanded="true">
<proof prover="alt-ergo" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.02"/>
<result status="valid" time="0.01"/>
</proof>
</goal>
<goal name="WP_parameter bresenham.7" expl="normal postcondition" sum="7ac7b0b6bcb369354660f76821cacb1a" proved="true" expanded="true">
<goal name="WP_parameter bresenham.7" expl="normal postcondition" sum="4a8331e536c125e86e9ddd1c02da8eed" proved="true" expanded="true">
<proof prover="alt-ergo" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.02"/>
<result status="valid" time="0.01"/>
</proof>
</goal>
</transf>
......
This diff is collapsed.
......@@ -3,59 +3,59 @@
<why3session name="examples/programs/insertion_sort_list/why3session.xml">
<file name="../insertion_sort_list.mlw" verified="true" expanded="true">
<theory name="WP M" verified="true" expanded="true">
<goal name="WP_parameter insert" expl="correctness of parameter insert" sum="1ab3de41db4f19ec372372833aaeb2c0" proved="true" expanded="true">
<goal name="WP_parameter insert" expl="correctness of parameter insert" sum="f4b4e8e13535e2c0a4caf88a46a96f65" proved="true" expanded="true">
<transf name="split_goal" proved="true" expanded="true">
<goal name="WP_parameter insert.1" expl="correctness of parameter insert" sum="76ce5493fcb11812e4e0e2698821a9c7" proved="true" expanded="true">
<goal name="WP_parameter insert.1" expl="correctness of parameter insert" sum="d7ecd04e9bed9a827c3fb6600db172d4" proved="true" expanded="true">
<proof prover="alt-ergo" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.02"/>
</proof>
</goal>
<goal name="WP_parameter insert.2" expl="correctness of parameter insert" sum="ba3b39ae8e0a43555fed2cbd3108f3b6" proved="true" expanded="true">
<goal name="WP_parameter insert.2" expl="correctness of parameter insert" sum="e8f4877800f4ec9b6f158694a0636022" proved="true" expanded="true">
<proof prover="cvc3" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.03"/>
<result status="valid" time="0.01"/>
</proof>
</goal>
<goal name="WP_parameter insert.3" expl="correctness of parameter insert" sum="ff85e099c9e0bf62cd804ace872aefc3" proved="true" expanded="true">
<goal name="WP_parameter insert.3" expl="correctness of parameter insert" sum="809e5f71c9fdee33389db89c77901d7d" proved="true" expanded="true">
<proof prover="cvc3" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.25"/>
<result status="valid" time="0.00"/>
</proof>
</goal>
<goal name="WP_parameter insert.4" expl="correctness of parameter insert" sum="eecdbeb9ac4fb34fe11cdb3681c32bf4" proved="true" expanded="true">
<proof prover="alt-ergo" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.02"/>
<goal name="WP_parameter insert.4" expl="correctness of parameter insert" sum="5ea48d9f831d5b195bfe703cdbc26b60" proved="true" expanded="true">
<proof prover="cvc3" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.14"/>
</proof>
</goal>
</transf>
</goal>
<goal name="WP_parameter insertion_sort" expl="correctness of parameter insertion_sort" sum="43755e483026796b703bffb5d4046c34" proved="true" expanded="true">
<goal name="WP_parameter insertion_sort" expl="correctness of parameter insertion_sort" sum="b099081e69f70b304bf33c8de60258d6" proved="true" expanded="true">
<transf name="split_goal" proved="true" expanded="true">
<goal name="WP_parameter insertion_sort.1" expl="correctness of parameter insertion_sort" sum="f1743569992089d7a7adee34e760d448" proved="true" expanded="true">
<goal name="WP_parameter insertion_sort.1" expl="correctness of parameter insertion_sort" sum="8dc26b4a9a113f5b0f755ca818ea0ef9" proved="true" expanded="true">
<proof prover="cvc3" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.03"/>
<result status="valid" time="0.01"/>
</proof>
</goal>
<goal name="WP_parameter insertion_sort.2" expl="correctness of parameter insertion_sort" sum="de6677511339e34ead245491d373655e" proved="true" expanded="true">
<goal name="WP_parameter insertion_sort.2" expl="correctness of parameter insertion_sort" sum="f016f1fbaad3ea3146e71fd84d2c9e22" proved="true" expanded="true">
<proof prover="cvc3" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.03"/>
<result status="valid" time="0.01"/>
</proof>
<proof prover="alt-ergo" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.03"/>
<result status="valid" time="0.01"/>
</proof>
</goal>
<goal name="WP_parameter insertion_sort.3" expl="correctness of parameter insertion_sort" sum="3e193c91b649ab35cae9b3555ee4c05b" proved="true" expanded="true">
<goal name="WP_parameter insertion_sort.3" expl="correctness of parameter insertion_sort" sum="1bdc9e87dd7876760c31315813efbe62" proved="true" expanded="true">
<proof prover="cvc3" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.09"/>
<result status="valid" time="0.01"/>
</proof>
<proof prover="alt-ergo" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.20"/>
<result status="valid" time="0.01"/>
</proof>
</goal>
<goal name="WP_parameter insertion_sort.4" expl="correctness of parameter insertion_sort" sum="2aec1cc621d57570ae9049fc6be1fb0c" proved="true" expanded="true">
<goal name="WP_parameter insertion_sort.4" expl="correctness of parameter insertion_sort" sum="d66e480a56b2d35a1b1729e8288bf4e1" proved="true" expanded="true">
<proof prover="cvc3" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.03"/>
<result status="valid" time="0.05"/>
</proof>
<proof prover="alt-ergo" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.02"/>
<result status="valid" time="0.03"/>
</proof>
</goal>
</transf>
......
......@@ -3,31 +3,31 @@
<why3session name="examples/programs/my_cosine/why3session.xml">
<file name="../my_cosine.mlw" verified="true" expanded="true">
<theory name="WP M" verified="true" expanded="true">
<goal name="WP_parameter my_cosine" expl="correctness of parameter my_cosine" sum="dd173c4f589edbafa4fba6e5a9ea3037" proved="true" expanded="true">
<goal name="WP_parameter my_cosine" expl="correctness of parameter my_cosine" sum="8917f8b8fafa070df7c50f12f5f2ffdc" proved="true" expanded="true">
<transf name="split_goal" proved="true" expanded="true">
<goal name="WP_parameter my_cosine.1" expl="assertion" sum="42f9206597da619fa67e4871bf991914" proved="true" expanded="true">
<goal name="WP_parameter my_cosine.1" expl="assertion" sum="6f92398fe46b35b067b387d190c5416a" proved="true" expanded="true">
<proof prover="coq" timelimit="2" edited="my_cosine_M_WP_parameter_my_cosine_1.v" obsolete="false">
<result status="valid" time="4.07"/>
<result status="valid" time="3.59"/>
</proof>
</goal>
<goal name="WP_parameter my_cosine.2" expl="precondition" sum="521f9e1a4746ed279e562cb96fa07308" proved="true" expanded="true">
<goal name="WP_parameter my_cosine.2" expl="precondition" sum="f19dc2becd59bbba14c5ca96b76e2290" proved="true" expanded="true">
<proof prover="gappa" timelimit="2" edited="" obsolete="false">
<result status="valid" time="0.01"/>
<result status="valid" time="0.00"/>
</proof>
</goal>
<goal name="WP_parameter my_cosine.3" expl="precondition" sum="504e7961442987cb0289d90730d34b73" proved="true" expanded="true">
<goal name="WP_parameter my_cosine.3" expl="precondition" sum="e5aa3eded8b53ca61fd7ab1e2266e079" proved="true" expanded="true">
<proof prover="gappa" timelimit="2" edited="" obsolete="false">
<result status="valid" time="0.01"/>
<result status="valid" time="0.00"/>
</proof>
</goal>
<goal name="WP_parameter my_cosine.4" expl="precondition" sum="1d5279a01c0ab5106801f0d505c8da66" proved="true" expanded="true">
<goal name="WP_parameter my_cosine.4" expl="precondition" sum="c3d55a84a06c89ca74c45f43116d5a34" proved="true" expanded="true">
<proof prover="gappa" timelimit="2" edited="" obsolete="false">
<result status="valid" time="0.01"/>
<result status="valid" time="0.00"/>
</proof>
</goal>
<goal name="WP_parameter my_cosine.5" expl="normal postcondition" sum="13c0f34f28d335d948bc64dff073925c" proved="true" expanded="true">
<goal name="WP_parameter my_cosine.5" expl="normal postcondition" sum="1e1226c0230f4a9f70f9f653fc8b090a" proved="true" expanded="true">
<proof prover="gappa" timelimit="2" edited="" obsolete="false">
<result status="valid" time="0.02"/>
<result status="valid" time="0.01"/>
</proof>
</goal>
</transf>
......
(* This file is generated by Why3's Coq driver *)
(* Beware! Only edit allowed sections below *)
Require Import ZArith.
Require Import Rbase.
Require Import ZOdiv.
Definition unit := unit.
Parameter mark : Type.
Parameter at1: forall (a:Type), a -> mark -> a.
Implicit Arguments at1.
Parameter old: forall (a:Type), a -> a.
Implicit Arguments old.
Axiom Abs_pos : forall (x:Z), (0%Z <= (Zabs x))%Z.
Axiom Div_mod : forall (x:Z) (y:Z), (~ (y = 0%Z)) ->
(x = ((y * (ZOdiv x y))%Z + (ZOmod x y))%Z).
Axiom Div_bound : forall (x:Z) (y:Z), ((0%Z <= x)%Z /\ (0%Z < y)%Z) ->
((0%Z <= (ZOdiv x y))%Z /\ ((ZOdiv x y) <= x)%Z).
Axiom Mod_bound : forall (x:Z) (y:Z), (~ (y = 0%Z)) ->
(((-(Zabs y))%Z < (ZOmod x y))%Z /\ ((ZOmod x y) < (Zabs y))%Z).
Axiom Div_sign_pos : forall (x:Z) (y:Z), ((0%Z <= x)%Z /\ (0%Z < y)%Z) ->
(0%Z <= (ZOdiv x y))%Z.
Axiom Div_sign_neg : forall (x:Z) (y:Z), ((x <= 0%Z)%Z /\ (0%Z < y)%Z) ->
((ZOdiv x y) <= 0%Z)%Z.
Axiom Mod_sign_pos : forall (x:Z) (y:Z), ((0%Z <= x)%Z /\ ~ (y = 0%Z)) ->
(0%Z <= (ZOmod x y))%Z.
Axiom Mod_sign_neg : forall (x:Z) (y:Z), ((x <= 0%Z)%Z /\ ~ (y = 0%Z)) ->
((ZOmod x y) <= 0%Z)%Z.
Axiom Rounds_toward_zero : forall (x:Z) (y:Z), (~ (y = 0%Z)) ->
((Zabs ((ZOdiv x y) * y)%Z) <= (Zabs x))%Z.
Axiom Div_1 : forall (x:Z), ((ZOdiv x 1%Z) = x).
Axiom Mod_1 : forall (x:Z), ((ZOmod x 1%Z) = 0%Z).
Axiom Div_inf : forall (x:Z) (y:Z), ((0%Z <= x)%Z /\ (x < y)%Z) ->
((ZOdiv x y) = 0%Z).
Axiom Mod_inf : forall (x:Z) (y:Z), ((0%Z <= x)%Z /\ (x < y)%Z) ->
((ZOmod x y) = x).
Axiom Div_mult : forall (x:Z) (y:Z) (z:Z), ((0%Z < x)%Z /\ ((0%Z <= y)%Z /\
(0%Z <= z)%Z)) -> ((ZOdiv ((x * y)%Z + z)%Z x) = (y + (ZOdiv z x))%Z).
Axiom Mod_mult : forall (x:Z) (y:Z) (z:Z), ((0%Z < x)%Z /\ ((0%Z <= y)%Z /\
(0%Z <= z)%Z)) -> ((ZOmod ((x * y)%Z + z)%Z x) = (ZOmod z x)).
Parameter power: Z -> Z -> Z.
Axiom Power_0 : forall (x:Z), ((power x 0%Z) = 1%Z).
Axiom Power_s : forall (x:Z) (n:Z), (0%Z < n)%Z -> ((power x
n) = (x * (power x (n - 1%Z)%Z))%Z).
Axiom Power_1 : forall (x:Z), ((power x 1%Z) = x).
Axiom Power_sum : forall (x:Z) (n:Z) (m:Z), (0%Z <= n)%Z -> ((0%Z <= m)%Z ->
((power x (n + m)%Z) = ((power x n) * (power x m))%Z)).
Axiom Power_mult : forall (x:Z) (n:Z) (m:Z), (0%Z <= n)%Z -> ((0%Z <= m)%Z ->
((power x (n * m)%Z) = (power (power x n) m))).
Axiom Power_mult2 : forall (x:Z) (y:Z) (n:Z), (0%Z <= n)%Z ->
((power (x * y)%Z n) = ((power x n) * (power y n))%Z).
Inductive ref (a:Type) :=
| mk_ref : a -> ref a.
Implicit Arguments mk_ref.
Definition contents (a:Type)(u:(ref a)): a :=
match u with
| mk_ref contents1 => contents1
end.
Implicit Arguments contents.
Theorem WP_parameter_fast_exp_imperative : forall (x:Z), forall (n:Z),
(0%Z <= n)%Z -> forall (e:Z), forall (p:Z), forall (r:Z), ((0%Z <= e)%Z /\
((r * (power p e))%Z = (power x n))) -> ((0%Z < e)%Z ->
((~ ((ZOmod e 2%Z) = 1%Z)) -> forall (p1:Z), (p1 = (p * p)%Z) ->
forall (e1:Z), (e1 = (ZOdiv e 2%Z)) -> ((r * (power p1 e1))%Z = (power x
n)))).
(* YOU MAY EDIT THE PROOF BELOW *)
intuition.
rewrite <- H4.
apply f_equal.
subst.
assert ((e = e/2 + e/2)%Z).
assert (e mod 2 = 0).
assert (0 <= e mod 2)%Z.
apply Mod_sign_pos.
intuition.
assert (-(Zabs 2) < e mod 2 < (Zabs 2)).
apply Mod_bound.
omega.
assert (Zabs 2 = 2).
auto.
rewrite H6 in H5; omega.
assert (e = 2 * (e/2) + e mod 2).
apply Div_mod; omega.
omega.
rewrite Power_mult2.
rewrite H0 at 3.
rewrite Power_sum; omega.
omega.
Qed.
(* DO NOT EDIT BELOW *)
......@@ -3,78 +3,75 @@
<why3session name="examples/programs/power/why3session.xml">
<file name="../power.mlw" verified="true" expanded="true">
<theory name="Power" verified="true" expanded="true">
<goal name="Power_1" sum="1db7c130e0faaa3525077846831aadf3" proved="true" expanded="true">
<goal name="Power_1" sum="d547c92414b879742b9484a819fbeff6" proved="true" expanded="true">
<proof prover="cvc3" timelimit="2" edited="" obsolete="false">
<result status="valid" time="0.01"/>
</proof>
<proof prover="alt-ergo" timelimit="2" edited="" obsolete="false">
<result status="valid" time="0.01"/>
<result status="valid" time="0.00"/>
</proof>
<proof prover="z3" timelimit="2" edited="" obsolete="false">
<result status="valid" time="0.02"/>
<result status="valid" time="0.00"/>
</proof>
</goal>
<goal name="Power_sum" sum="0222179599018e583f47a3d214f2e604" proved="true" expanded="true">
<goal name="Power_sum" sum="f0983c67127067fa8df1b687debc98b6" proved="true" expanded="true">
<proof prover="coq" timelimit="2" edited="power_Power_Power_sum_1.v" obsolete="false">
<result status="valid" time="0.46"/>
<result status="valid" time="0.52"/>
</proof>
</goal>
<goal name="Power_mult" sum="9d09d633adb75294ad19c24d7ad24bf4" proved="true" expanded="true">
<goal name="Power_mult" sum="9320f119ea919aa0a9259fbc3a3bba3a" proved="true" expanded="true">
<proof prover="coq" timelimit="2" edited="power_Power_Power_mult_1.v" obsolete="false">
<result status="valid" time="0.52"/>
<result status="valid" time="0.54"/>
</proof>
</goal>
<goal name="Power_mult2" sum="c37356cfaed29d43e8813ffc76d4ea37" proved="true" expanded="true">
<goal name="Power_mult2" sum="72fb36e109a46553e5b8a74b99a8f4aa" proved="true" expanded="true">
<proof prover="coq" timelimit="5" edited="power_Power_Power_mult2_1.v" obsolete="false">
<result status="valid" time="0.52"/>
<result status="valid" time="0.48"/>
</proof>
</goal>
</theory>
<theory name="WP M" verified="true" expanded="true">
<goal name="WP_parameter fast_exp" expl="correctness of parameter fast_exp" sum="ada75a97b847f6c89f173745c047f4f6" proved="true" expanded="true">
<goal name="WP_parameter fast_exp" expl="correctness of parameter fast_exp" sum="69a350569b54fe6dd30db2a1a468e0d2" proved="true" expanded="true">
<proof prover="alt-ergo" timelimit="2" edited="" obsolete="false">
<result status="valid" time="0.10"/>
<result status="valid" time="1.06"/>
</proof>
</goal>
<goal name="WP_parameter fast_exp_imperative" expl="correctness of parameter fast_exp_imperative" sum="e63feaa4075e2c29b1d2e508ef9a86bc" proved="true" expanded="true">
<goal name="WP_parameter fast_exp_imperative" expl="correctness of parameter fast_exp_imperative" sum="80f555106037917871ad9a6d04685438" proved="true" expanded="true">
<transf name="split_goal" proved="true" expanded="true">
<goal name="WP_parameter fast_exp_imperative.1" expl="loop invariant init" sum="f0a22ad175a48b43773b37c4a2565beb" proved="true" expanded="true">
<goal name="WP_parameter fast_exp_imperative.1" expl="loop invariant init" sum="abddfc9499bfadcad608a62113228503" proved="true" expanded="true">
<proof prover="alt-ergo" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.01"/>
</proof>
</goal>
<goal name="WP_parameter fast_exp_imperative.2" expl="loop invariant preservation" sum="d268dda056e1d709305e69a650f8bcba" proved="true" expanded="true">
<goal name="WP_parameter fast_exp_imperative.2" expl="loop invariant preservation" sum="f18b577a7e3da50ed365b7b243afaef3" proved="true" expanded="true">
<proof prover="cvc3" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.06"/>
</proof>
</goal>
<goal name="WP_parameter fast_exp_imperative.3" expl="loop variant decreases" sum="b283152678ce6a261050e574e7fb72b1" proved="true" expanded="true">
<goal name="WP_parameter fast_exp_imperative.3" expl="loop variant decreases" sum="d46adb755f6dcbc5c5fa007d0c503c23" proved="true" expanded="true">
<proof prover="alt-ergo" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.08"/>
<result status="valid" time="0.10"/>
</proof>
</goal>
<goal name="WP_parameter fast_exp_imperative.4" expl="loop invariant preservation" sum="e6449071b108723a7787ee383b863dd4" proved="true" expanded="true">
<goal name="WP_parameter fast_exp_imperative.4" expl="loop invariant preservation" sum="7e268e8bf0aeab031873a88ec31aa69a" proved="true" expanded="true">
<transf name="split_goal" proved="true" expanded="true">
<goal name="WP_parameter fast_exp_imperative.4.1" expl="correctness of parameter fast_exp_imperative" sum="1d0c559d1a4eb1cfe9233489abfef5c8" proved="true" expanded="true">
<goal name="WP_parameter fast_exp_imperative.4.1" expl="correctness of parameter fast_exp_imperative" sum="bbfd4c2a4bda769c9f8dbc22573811b1" proved="true" expanded="true">
<proof prover="alt-ergo" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.02"/>
</proof>
</goal>
<goal name="WP_parameter fast_exp_imperative.4.2" expl="correctness of parameter fast_exp_imperative" sum="527141c097824f81888acae0b946cb2a" proved="true" expanded="true">
<proof prover="alt-ergo" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.31"/>
<goal name="WP_parameter fast_exp_imperative.4.2" expl="correctness of parameter fast_exp_imperative" sum="1444c43dd48e234225359eb529420a16" proved="true" expanded="true">
<proof prover="coq" timelimit="10" edited="power_WP_M_WP_parameter_fast_exp_imperative_1.v" obsolete="false">
<result status="valid" time="0.67"/>
</proof>
</goal>
</transf>
</goal>
<goal name="WP_parameter fast_exp_imperative.5" expl="loop variant decreases" sum="064585d410b90974186e9784cd94e41b" proved="true" expanded="true">
<goal name="WP_parameter fast_exp_imperative.5" expl="loop variant decreases" sum="56ec4d9d0546651f8eec3b66851f1f80" proved="true" expanded="true">
<proof prover="alt-ergo" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.04"/>
<result status="valid" time="0.06"/>
</proof>
</goal>
<goal name="WP_parameter fast_exp_imperative.6" expl="normal postcondition" sum="24d11413cfc8fe98bb6763d6a86c1ab1" proved="true" expanded="true">
<goal name="WP_parameter fast_exp_imperative.6" expl="normal postcondition" sum="3bed8738489644567eebe5bbe3c1931a" proved="true" expanded="true">
<proof prover="alt-ergo" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.02"/>
<result status="valid" time="0.01"/>
</proof>
</goal>
</transf>
......
......@@ -4,9 +4,9 @@ Require Import ZArith.
Require Import Rbase.
Definition unit := unit.
Parameter label : Type.
Parameter mark : Type.
Parameter at1: forall (a:Type), a -> label -> a.
Parameter at1: forall (a:Type), a -> mark -> a.
Implicit Arguments at1.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment