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>
......
......@@ -3,158 +3,161 @@
<why3session name="examples/programs/decrease1/why3session.xml">
<file name="../decrease1.mlw" verified="true" expanded="true">
<theory name="WP Decrease1" verified="true" expanded="true">
<goal name="decrease1_induction" sum="eb0923143934165c0f02dda5dd1d9064" proved="true" expanded="true">
<goal name="decrease1_induction" sum="f00d23c343b30564081c33321d893311" proved="true" expanded="true">
<proof prover="coq" timelimit="10" edited="decrease1_Decrease1_decrease1_induction_2.v" obsolete="false">
<result status="valid" time="0.74"/>
<result status="valid" time="0.64"/>
</proof>
</goal>
<goal name="WP_parameter search" expl="correctness of parameter search" sum="5ecc8b47f440f11c94bcb33eb0c0f5da" proved="true" expanded="true">
<goal name="WP_parameter search" expl="correctness of parameter search" sum="a8018e6ee2277009a98a573ff255e26b" proved="true" expanded="true">
<transf name="split_goal" proved="true" expanded="true">
<goal name="WP_parameter search.1" expl="loop invariant init" sum="c3003e2b17bd7912bbde842b069e15bc" proved="true" expanded="true">
<goal name="WP_parameter search.1" expl="loop invariant init" sum="797ebf191b3535f040e121686ad88115" 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>
<proof prover="z3" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.00"/>
</proof>
</goal>
<goal name="WP_parameter search.2" expl="precondition" sum="a9e24466223260e82e53917990341c5a" proved="true" expanded="true">
<goal name="WP_parameter search.2" expl="precondition" sum="2dcba514abf0a11872e928c4a5e16828" 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>
<proof prover="z3" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.03"/>
<result status="valid" time="0.01"/>
</proof>
</goal>
<goal name="WP_parameter search.3" expl="normal postcondition" sum="c463c5623e8270cf898748cd4fc200db" proved="true" expanded="true">
<goal name="WP_parameter search.3" expl="normal postcondition" sum="95533c7d52e997e0ea5205d889251b17" 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>
<proof prover="z3" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.03"/>
<result status="valid" time="0.01"/>
</proof>
</goal>
<goal name="WP_parameter search.4" expl="precondition" sum="c9ffe9627c38578519b5fb654bc2311b" proved="true" expanded="true">
<goal name="WP_parameter search.4" expl="precondition" sum="6af3503e1db7f1b2539ce74c7769dfde" 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>
<proof prover="z3" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.00"/>
</proof>
</goal>
<goal name="WP_parameter search.5" expl="precondition" sum="87f27d100b565712984fd9fda61cce4e" proved="true" expanded="true">
<goal name="WP_parameter search.5" expl="precondition" sum="e7086d195674a35f829908c952f5f1b3" 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>
<proof prover="z3" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.00"/>
</proof>
</goal>
<goal name="WP_parameter search.6" expl="loop invariant preservation" sum="726cc05d33c2e38e4510462e1e7605e2" proved="true" expanded="true">
<goal name="WP_parameter search.6" expl="loop invariant preservation" sum="d6c10a06ac3d3d73053ad923df2256a3" proved="true" expanded="true">
<proof prover="z3" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.03"/>
<result status="valid" time="0.04"/>
</proof>
</goal>
<goal name="WP_parameter search.7" expl="loop variant decreases" sum="2b005062b036872b0521075f47993799" proved="true" expanded="true">
<proof prover="z3" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.02"/>
<goal name="WP_parameter search.7" expl="loop variant decreases" sum="abfa20c5865222552566435173609da6" proved="true" expanded="true">
<proof prover="cvc3" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.00"/>
</proof>
</goal>
<goal name="WP_parameter search.8" expl="loop invariant preservation" sum="8c2b5cf695743e9c3d5c78cda24518fe" proved="true" expanded="true">
<proof prover="alt-ergo" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.03"/>
<result status="valid" time="0.01"/>
</proof>
<proof prover="z3" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.03"/>
<result status="valid" time="0.01"/>
</proof>
</goal>
<goal name="WP_parameter search.8" expl="loop invariant preservation" sum="f2ca25fc2311e75c68d3dc19cb01f52d" proved="true" expanded="true">
<proof prover="z3" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.01"/>
</proof>
</goal>
<goal name="WP_parameter search.9" expl="loop variant decreases" sum="6180bf4f47e0f340cb46853306f6bf48" proved="true" expanded="true">
<goal name="WP_parameter search.9" expl="loop variant decreases" sum="624e550da9b915eaf0f6554c65520641" 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>
<proof prover="z3" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.02"/>
<result status="valid" time="0.01"/>
</proof>
</goal>
<goal name="WP_parameter search.10" expl="normal postcondition" sum="df0f4238e9b7a001efd85670c5738437" proved="true" expanded="true">
<goal name="WP_parameter search.10" expl="normal postcondition" sum="95b65213e07cd2646820a1d4604d48e4" 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>
<proof prover="z3" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.03"/>
<result status="valid" time="0.01"/>
</proof>
</goal>
</transf>
</goal>
<goal name="WP_parameter search_rec" expl="correctness of parameter search_rec" sum="e89966a62cd9e50970addcdec10b6caa" proved="true" expanded="true">
<goal name="WP_parameter search_rec" expl="correctness of parameter search_rec" sum="dd80153bf49ffc7374ded9baa295570d" proved="true" expanded="true">
<transf name="split_goal" proved="true" expanded="true">
<goal name="WP_parameter search_rec.1" expl="precondition" sum="129dba47026aaf884be22c8cbc1d4a1a" proved="true" expanded="true">
<goal name="WP_parameter search_rec.1" expl="precondition" sum="be99d7b5b45c63cb4848d9aae9a27720" 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>
<proof prover="z3" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.03"/>
<result status="valid" time="0.01"/>
</proof>
</goal>
<goal name="WP_parameter search_rec.2" expl="normal postcondition" sum="c7add74865ef8eb3cc7e152b836f6394" proved="true" expanded="true">
<goal name="WP_parameter search_rec.2" expl="normal postcondition" sum="449ec176c301f4551745cdb25fae2d6d" proved="true" expanded="true">
<proof prover="alt-ergo" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.03"/>
<result status="valid" time="0.01"/>
</proof>
<proof prover="z3" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.03"/>
<result status="valid" time="0.01"/>
</proof>
</goal>
<goal name="WP_parameter search_rec.3" expl="precondition" sum="752cd932517186cc6711edbfdc9cdcc5" proved="true" expanded="true">
<goal name="WP_parameter search_rec.3" expl="precondition" sum="0cd890e1b9ed782ae69a9e6afddd10a5" 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>
<proof prover="z3" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.00"/>
</proof>
</goal>
<goal name="WP_parameter search_rec.4" expl="precondition" sum="70200655836e750408cd8a5996962583" proved="true" expanded="true">
<goal name="WP_parameter search_rec.4" expl="precondition" sum="096ce40c6c3e4a3a65e0996f81e3a9da" proved="true" expanded="true">
<proof prover="alt-ergo" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.02"/>
<result status="valid" time="0.00"/>
</proof>
<proof prover="z3" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.00"/>
</proof>
</goal>
<goal name="WP_parameter search_rec.5" expl="precondition" sum="3c0ace1c9d0462dad22f9a3def392d80" proved="true" expanded="true">
<goal name="WP_parameter search_rec.5" expl="precondition" sum="316809190ab15c3ed65537f84cb38909" 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>
<proof prover="z3" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.03"/>
<result status="valid" time="0.01"/>
</proof>
</goal>
<goal name="WP_parameter search_rec.6" expl="normal postcondition" sum="5e4e50fa7d00a3e211e6c765447598ac" proved="true" expanded="true">
<goal name="WP_parameter search_rec.6" expl="normal postcondition" sum="32238522d481f912e16ee56b063315a3" proved="true" expanded="true">
<proof prover="z3" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.04"/>
</proof>
</goal>
<goal name="WP_parameter search_rec.7" expl="precondition" sum="59fbd71468455b495415851791a881e4" proved="true" expanded="true">
<goal name="WP_parameter search_rec.7" expl="precondition" sum="57697e7e11bdc7e5b4c4d8c0e8ff46bf" 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>
<proof prover="z3" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.03"/>
<result status="valid" time="0.01"/>
</proof>
</goal>
<goal name="WP_parameter search_rec.8" expl="normal postcondition" sum="23b6323ce32882d20cbec4416c19c5fc" proved="true" expanded="true">
<goal name="WP_parameter search_rec.8" expl="normal postcondition" sum="af522a016d4e28693649d9f3816d9b72" proved="true" expanded="true">
<proof prover="alt-ergo" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.02"/>
</proof>
<proof prover="z3" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.04"/>
<result status="valid" time="0.02"/>
</proof>
</goal>
<goal name="WP_parameter search_rec.9" expl="normal postcondition" sum="a6ad2af03185d4f9110d519f3155f374" proved="true" expanded="true">
<goal name="WP_parameter search_rec.9" expl="normal postcondition" sum="0ba06fffb86b884499b386288a66232a" 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>
<proof prover="z3" timelimit="10" edited="" obsolete="false">
<result status="valid" time="0.03"/>
<result status="valid" time="0.01"/>
</proof>
</goal>
</transf>
......
......@@ -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"/>