Attention une mise à jour du service Gitlab va être effectuée le mardi 30 novembre entre 17h30 et 18h00. Cette mise à jour va générer une interruption du service dont nous ne maîtrisons pas complètement la durée mais qui ne devrait pas excéder quelques minutes. Cette mise à jour intermédiaire en version 14.0.12 nous permettra de rapidement pouvoir mettre à votre disposition une version plus récente.

Commit 1a732270 authored by MARCHE Claude's avatar MARCHE Claude
Browse files

update sessions

parent abdec068
......@@ -25,7 +25,7 @@ module mach.int.Int32
syntax type int32 "int32_t"
syntax literal int32 "0x%8x"
(* syntax val of_int "(int32_t)%1" *)
syntax val of_int "(int32_t)(%1)"
syntax val (+) "%1 + %2"
syntax val (-) "%1 - %2"
syntax val (-_) "-%1"
......@@ -51,8 +51,6 @@ end
module mach.int.UInt32
syntax literal uint32 "0x%8xU"
(* syntax converter of_int "%1U" *)
syntax val (+) "%1 + %2"
syntax val (-) "%1 - %2"
......@@ -184,7 +182,6 @@ struct __lsld32_result lsld32(uint32_t x, uint32_t cnt);
"
syntax literal uint32 "0x%8xU"
(* syntax converter of_int "%1U" *)
syntax val (+) "%1 + %2"
syntax val (-) "%1 - %2"
......@@ -226,7 +223,7 @@ module mach.int.Int64
syntax type int64 "int64_t"
syntax literal int64 "0x%16xLL"
(* syntax val of_int "(int64_t)%1" *)
syntax val of_int "(int64_t)(%1)"
syntax val (+) "%1 + %2"
syntax val (-) "%1 - %2"
syntax val (-_) "-%1"
......@@ -252,7 +249,6 @@ end
module mach.int.UInt64
syntax literal uint64 "0x%16xULL"
(* syntax converter of_int "%1ULL" *)
syntax val (+) "%1 + %2"
syntax val (-) "%1 - %2"
......@@ -508,7 +504,6 @@ static struct __lsld64_result lsld64(uint64_t x, uint64_t cnt)
}
"
syntax literal uint64 "0x%16xULL"
(* syntax converter of_int "%1ULL" *)
syntax val uint64_max "0xffffffffffffffffULL"
......
......@@ -6,21 +6,26 @@ theory bv.BV_Gen
end
theory bv.BV64
(*syntax converter of_int "((_ int2bv 64) %1)"*)
(* mapping of_int to int2bv is disabled because it breaks proofs
in examples/bitcount, examples/esterel,
examples/isqrt_von_neumann, examples/rightmostbittrick,
examples/bitwalker *)
(* syntax function of_int "((_ int2bv 64) %1)" *)
syntax function t'int "(bv2nat %1)"
end
theory bv.BV32
(*syntax converter of_int "((_ int2bv 32) %1)"*)
(* syntax function of_int "((_ int2bv 32) %1)" *)
syntax function t'int "(bv2nat %1)"
end
theory bv.BV16
(*syntax converter of_int "((_ int2bv 16) %1)"*)
(* syntax function of_int "((_ int2bv 16) %1)" *)
syntax function t'int "(bv2nat %1)"
end
theory bv.BV8
(*syntax converter of_int "((_ int2bv 8) %1)"*)
(* syntax function of_int "((_ int2bv 8) %1)" *)
syntax function t'int "(bv2nat %1)"
end
......@@ -6,7 +6,10 @@ theory bv.BV_Gen
end
theory bv.BV64
(* syntax converter of_int "((_ int2bv 64) %1)" *)
(* mapping of_int to int2bv is disabled because it breaks proofs
in examples/queens_bv, examples/bitwalker *)
(* syntax function of_int "((_ int2bv 64) %1)" *)
syntax function t'int "(bv2int %1)"
remove prop Nth_bv_is_nth
......@@ -14,7 +17,7 @@ theory bv.BV64
end
theory bv.BV32
(* syntax converter of_int "((_ int2bv 32) %1)" *)
(* syntax function of_int "((_ int2bv 32) %1)" *)
syntax function t'int "(bv2int %1)"
remove prop Nth_bv_is_nth
......@@ -22,7 +25,7 @@ theory bv.BV32
end
theory bv.BV16
(* syntax converter of_int "((_ int2bv 16) %1)" *)
(* syntax function of_int "((_ int2bv 16) %1)" *)
syntax function t'int "(bv2int %1)"
remove prop Nth_bv_is_nth
......@@ -30,7 +33,7 @@ theory bv.BV16
end
theory bv.BV8
(* syntax converter of_int "((_ int2bv 8) %1)" *)
(* syntax function of_int "((_ int2bv 8) %1)" *)
syntax function t'int "(bv2int %1)"
remove prop Nth_bv_is_nth
......
......@@ -3,18 +3,18 @@ theory TestBV
use int.Int
use bv.BV32
constant b0000 : t = of_int 0b0000
constant b0001 : t = of_int 0b0001
constant b0010 : t = of_int 0b0010
constant b0011 : t = of_int 0b0011
constant b0110 : t = of_int 0b0110
constant b0101 : t = of_int 0b0101
constant b0111 : t = of_int 0b0111
constant b1100 : t = of_int 0b1100
constant b11100 : t = of_int 0b11100
constant bv2 : t = of_int 2
constant bv31 : t = of_int 31
constant b0000 : t = (0b0000:t)
constant b0001 : t = (0b0001:t)
constant b0010 : t = (0b0010:t)
constant b0011 : t = (0b0011:t)
constant b0110 : t = (0b0110:t)
constant b0101 : t = (0b0101:t)
constant b0111 : t = (0b0111:t)
constant b1100 : t = (0b1100:t)
constant b11100 : t = (0b11100:t)
constant bv2 : t = (2:t)
constant bv31 : t = (31:t)
goal g1 : bw_and b0011 b0110 = b0010
goal f1 : bw_and b0011 b0110 = b0011
......@@ -23,21 +23,21 @@ theory TestBV
goal f2 : bw_or b0011 b0110 = b0110
goal g3 : bw_xor b0011 b0110 = b0101
goal g4 : bw_not b0011 = (of_int 0xFFFFFFFC)
goal g4 : bw_not b0011 = (0xFFFFFFFC:t)
goal g3a : lsr_bv b0111 bv2 = b0001
goal g3b : lsr_bv ones bv31 = b0001
goal f3c : lsr_bv ones (of_int 0x10000001) = (of_int 0x7FFFFFFF) (* should be false: we don't take the modulo of the second argument. *)
goal f3c : lsr_bv ones (0x10000001:t) = (0x7FFFFFFF:t) (* should be false: we don't take the modulo of the second argument. *)
goal g3aa : lsr b0111 2 = b0001
goal g3bb : lsr ones 31 = b0001
goal f3cc : lsr ones 0x10000001 = (of_int 0x7FFFFFFF) (* should be false: we don't take the modulo of the second argument. *)
goal f3cc : lsr ones 0x10000001 = (0x7FFFFFFF:t) (* should be false: we don't take the modulo of the second argument. *)
goal g4a : lsl_bv b0111 bv2 = b11100
goal g4b : lsl_bv b0001 bv31 = (of_int 0x80000000)
goal g4b : lsl_bv b0001 bv31 = (0x80000000:t)
goal g4aa : lsl b0111 2 = b11100
goal g4bb : lsl b0001 31 = (of_int 0x80000000)
goal g4bb : lsl b0001 31 = (0x80000000:t)
goal g5a : asr_bv b0111 bv2 = b0001
goal g5b : asr_bv ones bv31 = ones
......@@ -52,13 +52,13 @@ theory TestBV
goal g7b : to_int ones = -1
goal g8a : nth_bv b0110 bv2 = True
goal g8b : nth_bv b0110 (of_int 3) = False
goal g8b : nth_bv b0110 (3:t) = False
goal g8aa : nth b0110 2 = True
goal g8bb : nth b0110 3 = False
goal gtt : t'int (lsl_bv (of_int 3) (of_int 30)) > 0 (* = 0xC0000000 *)
goal gttt : t'int (lsl (of_int 3) 30) > 0 (* = 0xC0000000 *)
goal gtt : t'int (lsl_bv (3:t) (30:t)) > 0 (* = 0xC0000000 *)
goal gttt : t'int (lsl (3:t) 30) > 0 (* = 0xC0000000 *)
goal not_not : forall v:t. bw_not (bw_not v) = v
......
......@@ -62,12 +62,12 @@
<proof prover="4" timelimit="1"><result status="timeout" time="1.00"/></proof>
</goal>
<goal name="g4a" proved="true">
<proof prover="1" timelimit="5"><result status="valid" time="0.02" steps="106"/></proof>
<proof prover="1" timelimit="5"><result status="valid" time="0.02" steps="100"/></proof>
<proof prover="2"><result status="valid" time="0.02"/></proof>
<proof prover="4"><result status="valid" time="0.00"/></proof>
</goal>
<goal name="g4b" proved="true">
<proof prover="1" timelimit="5"><result status="valid" time="0.06" steps="106"/></proof>
<proof prover="1" timelimit="5"><result status="valid" time="0.06" steps="100"/></proof>
<proof prover="2"><result status="valid" time="0.02"/></proof>
<proof prover="4"><result status="valid" time="0.00"/></proof>
</goal>
......@@ -100,7 +100,7 @@
<proof prover="4" timelimit="1"><result status="timeout" time="1.00"/></proof>
</goal>
<goal name="g6a" proved="true">
<proof prover="1" timelimit="5"><result status="valid" time="0.03" steps="74"/></proof>
<proof prover="1" timelimit="5"><result status="valid" time="0.03" steps="71"/></proof>
<proof prover="2"><result status="valid" time="0.01"/></proof>
<proof prover="4"><result status="valid" time="0.00"/></proof>
</goal>
......@@ -127,16 +127,16 @@
<proof prover="2"><result status="valid" time="0.01"/></proof>
<proof prover="4"><result status="valid" time="0.00"/></proof>
</goal>
<goal name="g8aa">
<goal name="g8aa" proved="true">
<proof prover="1"><result status="timeout" time="1.00"/></proof>
<proof prover="2" timelimit="1"><result status="timeout" time="1.00"/></proof>
<proof prover="2" timelimit="1"><result status="valid" time="0.02"/></proof>
<proof prover="4" timelimit="1"><result status="timeout" time="1.00"/></proof>
</goal>
<goal name="g8bb" proved="true">
<proof prover="2"><result status="valid" time="0.01"/></proof>
</goal>
<goal name="gtt" proved="true">
<proof prover="1" timelimit="5"><result status="valid" time="0.01" steps="78"/></proof>
<proof prover="1" timelimit="5"><result status="valid" time="0.01" steps="73"/></proof>
<proof prover="2"><result status="valid" time="0.00"/></proof>
<proof prover="4"><result status="valid" time="0.00"/></proof>
</goal>
......
This diff is collapsed.
......@@ -8,12 +8,9 @@
<prover id="3" name="Z3" version="4.5.0" timelimit="5" steplimit="0" memlimit="1000"/>
<prover id="4" name="Eprover" version="2.0" timelimit="1" steplimit="0" memlimit="1000"/>
<prover id="5" name="Alt-Ergo" version="2.0.0" timelimit="5" steplimit="0" memlimit="1000"/>
<prover id="6" name="Spass" version="3.7" timelimit="30" steplimit="0" memlimit="4000"/>
<prover id="7" name="Z3" version="4.7.1" timelimit="30" steplimit="0" memlimit="4000"/>
<prover id="8" name="Alt-Ergo" version="2.2.0" timelimit="30" steplimit="0" memlimit="4000"/>
<prover id="9" name="CVC4" version="1.6" timelimit="1" steplimit="0" memlimit="1000"/>
<file name="../logical.mlw">
<theory name="Logical">
<file name="../logical.mlw" proved="true">
<theory name="Logical" proved="true">
<goal name="VC pow2_64" expl="VC for pow2_64" proved="true">
<transf name="split_goal_right" proved="true" >
<goal name="VC pow2_64.0" expl="assertion" proved="true">
......@@ -563,8 +560,8 @@
</goal>
</transf>
</goal>
<goal name="VC wmpn_rshift" expl="VC for wmpn_rshift">
<transf name="split_goal_right" >
<goal name="VC wmpn_rshift" expl="VC for wmpn_rshift" proved="true">
<transf name="split_goal_right" proved="true" >
<goal name="VC wmpn_rshift.0" expl="integer overflow" proved="true">
<proof prover="3"><result status="valid" time="0.04"/></proof>
</goal>
......@@ -695,27 +692,24 @@
</goal>
</transf>
</goal>
<goal name="VC wmpn_rshift.34" expl="assertion">
<proof prover="0"><result status="timeout" time="5.00"/></proof>
<proof prover="4"><result status="timeout" time="1.00"/></proof>
<proof prover="6" timelimit="1" memlimit="1000"><result status="timeout" time="1.00"/></proof>
<proof prover="7" timelimit="1" memlimit="1000"><result status="timeout" time="1.00"/></proof>
<proof prover="8" timelimit="1" memlimit="1000"><result status="timeout" time="1.00"/></proof>
<proof prover="9"><result status="timeout" time="1.00"/></proof>
<transf name="split_all_full" >
<goal name="VC wmpn_rshift.34.0" expl="assertion">
<proof prover="4" timelimit="5" memlimit="2000"><result status="timeout" time="5.00"/></proof>
<proof prover="6" timelimit="5" memlimit="2000"><result status="timeout" time="5.00"/></proof>
<proof prover="7" timelimit="5" memlimit="2000"><result status="timeout" time="5.00"/></proof>
<proof prover="8" timelimit="5" memlimit="2000"><result status="timeout" time="5.00"/></proof>
<proof prover="9" timelimit="5" memlimit="2000"><result status="timeout" time="5.00"/></proof>
<transf name="introduce_premises" >
<goal name="VC wmpn_rshift.34.0.0" expl="assertion">
<proof prover="4" timelimit="30" memlimit="4000"><result status="timeout" time="30.00"/></proof>
<proof prover="6"><result status="timeout" time="30.00"/></proof>
<proof prover="7"><result status="timeout" time="30.00"/></proof>
<proof prover="8"><result status="timeout" time="30.00"/></proof>
<proof prover="9" timelimit="30" memlimit="4000"><result status="timeout" time="30.00"/></proof>
<goal name="VC wmpn_rshift.34" expl="assertion" proved="true">
<transf name="introduce_premises" proved="true" >
<goal name="VC wmpn_rshift.34.0" expl="assertion" proved="true">
<transf name="use_th" proved="true" arg1="lineardecision.LinearDecisionIntMP">
<goal name="VC wmpn_rshift.34.0.0" expl="assertion" proved="true">
<transf name="reflection_f" proved="true" arg1="mp_decision">
<goal name="VC wmpn_rshift.34.0.0.0" expl="assertion" proved="true">
<proof prover="0"><result status="valid" time="0.27"/></proof>
</goal>
<goal name="VC wmpn_rshift.34.0.0.1" proved="true">
<proof prover="2"><result status="valid" time="0.22"/></proof>
<proof prover="3"><result status="valid" time="0.19"/></proof>
</goal>
<goal name="VC wmpn_rshift.34.0.0.2" proved="true">
<proof prover="2"><result status="valid" time="0.22"/></proof>
<proof prover="3"><result status="valid" time="0.25"/></proof>
</goal>
</transf>
</goal>
</transf>
</goal>
......@@ -792,44 +786,8 @@
<goal name="VC wmpn_rshift.50" expl="loop invariant preservation" proved="true">
<proof prover="2" timelimit="5"><result status="valid" time="0.08"/></proof>
</goal>
<goal name="VC wmpn_rshift.51" expl="assertion">
<transf name="introduce_premises" >
<goal name="VC wmpn_rshift.51.0" expl="assertion">
<transf name="use_th" arg1="lineardecision.LinearDecisionIntMP">
<goal name="VC wmpn_rshift.51.0.0" expl="assertion">
<transf name="reflection_f" arg1="mp_decision">
<goal name="VC wmpn_rshift.51.0.0.0" expl="assertion" proved="true">
<proof prover="0"><result status="valid" time="0.30"/></proof>
</goal>
<goal name="VC wmpn_rshift.51.0.0.1" proved="true">
<proof prover="2"><result status="valid" time="0.22"/></proof>
<proof prover="3"><result status="valid" time="0.17"/></proof>
</goal>
<goal name="VC wmpn_rshift.51.0.0.2" proved="true">
<proof prover="2"><result status="valid" time="0.26"/></proof>
<proof prover="3"><result status="valid" time="0.17"/></proof>
</goal>
<goal name="VC wmpn_rshift.51.0.0.3">
<proof prover="4"><result status="timeout" time="1.00"/></proof>
<proof prover="6" timelimit="1" memlimit="1000"><result status="timeout" time="1.00"/></proof>
<proof prover="7" timelimit="1" memlimit="1000"><result status="timeout" time="1.00"/></proof>
<proof prover="8" timelimit="1" memlimit="1000"><result status="timeout" time="1.00"/></proof>
<proof prover="9"><result status="timeout" time="1.00"/></proof>
<transf name="split_all_full" >
<goal name="VC wmpn_rshift.51.0.0.3.0">
<proof prover="4" timelimit="30" memlimit="4000"><result status="timeout" time="30.00"/></proof>
<proof prover="6"><result status="timeout" time="30.00"/></proof>
<proof prover="7"><result status="timeout" time="30.00"/></proof>
<proof prover="8"><result status="timeout" time="30.00"/></proof>
<proof prover="9" timelimit="30" memlimit="4000"><result status="timeout" time="30.00"/></proof>
</goal>
</transf>
</goal>
</transf>
</goal>
</transf>
</goal>
</transf>
<goal name="VC wmpn_rshift.51" expl="assertion" proved="true">
<proof prover="0" memlimit="1000"><result status="valid" time="0.06"/></proof>
</goal>
<goal name="VC wmpn_rshift.52" expl="precondition" proved="true">
<proof prover="2"><result status="valid" time="0.10"/></proof>
......@@ -855,35 +813,13 @@
<proof prover="2" timelimit="5"><result status="valid" time="0.13"/></proof>
<proof prover="3"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="VC wmpn_rshift.59" expl="assertion">
<proof prover="0" memlimit="1000"><result status="timeout" time="5.00"/></proof>
<proof prover="4"><result status="timeout" time="1.00"/></proof>
<proof prover="6" timelimit="1" memlimit="1000"><result status="timeout" time="1.00"/></proof>
<proof prover="7" timelimit="1" memlimit="1000"><result status="timeout" time="1.00"/></proof>
<proof prover="8" timelimit="1" memlimit="1000"><result status="timeout" time="1.00"/></proof>
<proof prover="9"><result status="timeout" time="1.00"/></proof>
<transf name="split_all_full" >
<goal name="VC wmpn_rshift.59.0" expl="VC for wmpn_rshift">
<proof prover="4" timelimit="5" memlimit="2000"><result status="timeout" time="5.00"/></proof>
<proof prover="6" timelimit="5" memlimit="2000"><result status="timeout" time="5.00"/></proof>
<proof prover="7" timelimit="5" memlimit="2000"><result status="timeout" time="5.00"/></proof>
<proof prover="8" timelimit="5" memlimit="2000"><result status="timeout" time="5.00"/></proof>
<proof prover="9" timelimit="5" memlimit="2000"><result status="timeout" time="5.00"/></proof>
<transf name="introduce_premises" >
<goal name="VC wmpn_rshift.59.0.0" expl="VC for wmpn_rshift">
<transf name="inline_goal" >
<goal name="VC wmpn_rshift.59.0.0.0" expl="VC for wmpn_rshift">
<proof prover="6"><undone/></proof>
<proof prover="7"><result status="timeout" time="30.00"/></proof>
<proof prover="8"><result status="timeout" time="30.00"/></proof>
<proof prover="9" timelimit="30" memlimit="4000"><result status="timeout" time="30.00"/></proof>
</goal>
</transf>
</goal>
</transf>
<goal name="VC wmpn_rshift.59" expl="assertion" proved="true">
<transf name="split_vc" proved="true" >
<goal name="VC wmpn_rshift.59.0" expl="VC for wmpn_rshift" proved="true">
<proof prover="4"><result status="valid" time="0.06"/></proof>
</goal>
<goal name="VC wmpn_rshift.59.1" expl="VC for wmpn_rshift" proved="true">
<proof prover="4"><result status="valid" time="0.21"/></proof>
<proof prover="4"><result status="valid" time="0.30"/></proof>
</goal>
</transf>
</goal>
......@@ -1177,28 +1113,28 @@
<proof prover="2"><result status="valid" time="0.18"/></proof>
</goal>
<goal name="VC wmpn_lshift_in_place.40.0.0.23" expl="apply premises" proved="true">
<proof prover="2"><result status="valid" time="0.13"/></proof>
<proof prover="2"><result status="valid" time="0.16"/></proof>
</goal>
<goal name="VC wmpn_lshift_in_place.40.0.0.24" expl="apply premises" proved="true">
<proof prover="2"><result status="valid" time="0.21"/></proof>
<proof prover="2"><result status="valid" time="0.14"/></proof>
</goal>
<goal name="VC wmpn_lshift_in_place.40.0.0.25" expl="apply premises" proved="true">
<proof prover="2"><result status="valid" time="0.15"/></proof>
<proof prover="2"><result status="valid" time="0.14"/></proof>
</goal>
<goal name="VC wmpn_lshift_in_place.40.0.0.26" expl="apply premises" proved="true">
<proof prover="2"><result status="valid" time="0.18"/></proof>
<proof prover="2"><result status="valid" time="0.21"/></proof>
</goal>
<goal name="VC wmpn_lshift_in_place.40.0.0.27" expl="apply premises" proved="true">
<proof prover="2"><result status="valid" time="0.16"/></proof>
<proof prover="2"><result status="valid" time="0.13"/></proof>
</goal>
<goal name="VC wmpn_lshift_in_place.40.0.0.28" expl="apply premises" proved="true">
<proof prover="2"><result status="valid" time="0.14"/></proof>
<proof prover="2"><result status="valid" time="0.21"/></proof>
</goal>
<goal name="VC wmpn_lshift_in_place.40.0.0.29" expl="apply premises" proved="true">
<proof prover="2"><result status="valid" time="0.14"/></proof>
<proof prover="2"><result status="valid" time="0.15"/></proof>
</goal>
<goal name="VC wmpn_lshift_in_place.40.0.0.30" expl="apply premises" proved="true">
<proof prover="2"><result status="valid" time="0.21"/></proof>
<proof prover="2"><result status="valid" time="0.18"/></proof>
</goal>
<goal name="VC wmpn_lshift_in_place.40.0.0.31" expl="apply premises" proved="true">
<proof prover="2"><result status="valid" time="0.19"/></proof>
......
This diff is collapsed.
This diff is collapsed.
......@@ -4,36 +4,37 @@
<why3session shape_version="5">
<prover id="0" name="Alt-Ergo" version="2.0.0" timelimit="1" steplimit="0" memlimit="1000"/>
<prover id="1" name="Z3" version="4.5.0" timelimit="1" steplimit="0" memlimit="1000"/>
<prover id="2" name="Alt-Ergo" version="2.2.0" timelimit="1" steplimit="0" memlimit="1000"/>
<file name="../util.mlw" proved="true">
<theory name="Util" proved="true">
<goal name="VC wmpn_copyi" expl="VC for wmpn_copyi" proved="true">
<transf name="split_vc" proved="true" >
<goal name="VC wmpn_copyi.0" expl="integer overflow" proved="true">
<proof prover="1"><result status="valid" time="0.03"/></proof>
<goal name="VC wmpn_copyi.0" expl="precondition" proved="true">
<proof prover="1"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="VC wmpn_copyi.1" expl="integer overflow" proved="true">
<goal name="VC wmpn_copyi.1" expl="precondition" proved="true">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="VC wmpn_copyi.2" expl="precondition" proved="true">
<proof prover="1"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="VC wmpn_copyi.3" expl="precondition" proved="true">
<goal name="VC wmpn_copyi.2" expl="loop invariant init" proved="true">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="VC wmpn_copyi.3" expl="loop invariant init" proved="true">
<proof prover="1"><result status="valid" time="0.04"/></proof>
</goal>
<goal name="VC wmpn_copyi.4" expl="loop invariant init" proved="true">
<proof prover="1"><result status="valid" time="0.03"/></proof>
<proof prover="1"><result status="valid" time="0.00"/></proof>
</goal>
<goal name="VC wmpn_copyi.5" expl="loop invariant init" proved="true">
<proof prover="1"><result status="valid" time="0.04"/></proof>
<proof prover="1"><result status="valid" time="0.01"/></proof>
</goal>
<goal name="VC wmpn_copyi.6" expl="loop invariant init" proved="true">
<proof prover="1"><result status="valid" time="0.00"/></proof>
<proof prover="1"><result status="valid" time="0.01"/></proof>
</goal>
<goal name="VC wmpn_copyi.7" expl="loop invariant init" proved="true">
<proof prover="1"><result status="valid" time="0.01"/></proof>
</goal>
<goal name="VC wmpn_copyi.8" expl="loop invariant init" proved="true">
<proof prover="1"><result status="valid" time="0.01"/></proof>
<proof prover="1"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="VC wmpn_copyi.9" expl="loop invariant init" proved="true">
<proof prover="1"><result status="valid" time="0.01"/></proof>
......@@ -45,182 +46,152 @@
<proof prover="1"><result status="valid" time="0.01"/></proof>
</goal>
<goal name="VC wmpn_copyi.12" expl="loop invariant init" proved="true">
<proof prover="1"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="VC wmpn_copyi.13" expl="loop invariant init" proved="true">
<proof prover="1"><result status="valid" time="0.01"/></proof>
</goal>
<goal name="VC wmpn_copyi.14" expl="loop invariant init" proved="true">
<proof prover="1"><result status="valid" time="0.01"/></proof>
</goal>
<goal name="VC wmpn_copyi.15" expl="precondition" proved="true">
<goal name="VC wmpn_copyi.13" expl="precondition" proved="true">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="VC wmpn_copyi.16" expl="precondition" proved="true">
<goal name="VC wmpn_copyi.14" expl="precondition" proved="true">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="VC wmpn_copyi.17" expl="precondition" proved="true">
<goal name="VC wmpn_copyi.15" expl="precondition" proved="true">
<proof prover="1"><result status="valid" time="0.04"/></proof>
</goal>
<goal name="VC wmpn_copyi.18" expl="precondition" proved="true">
<goal name="VC wmpn_copyi.16" expl="precondition" proved="true">
<proof prover="1"><result status="valid" time="0.04"/></proof>
</goal>
<goal name="VC wmpn_copyi.19" expl="integer overflow" proved="true">
<goal name="VC wmpn_copyi.17" expl="integer overflow" proved="true">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="VC wmpn_copyi.20" expl="loop variant decrease" proved="true">
<goal name="VC wmpn_copyi.18" expl="loop variant decrease" proved="true">
<proof prover="1"><result status="valid" time="0.04"/></proof>
</goal>
<goal name="VC wmpn_copyi.21" expl="loop invariant preservation" proved="true">
<goal name="VC wmpn_copyi.19" expl="loop invariant preservation" proved="true">
<proof prover="1"><result status="valid" time="0.04"/></proof>
</goal>
<goal name="VC wmpn_copyi.22" expl="loop invariant preservation" proved="true">
<proof prover="0"><result status="valid" time="0.06" steps="204"/></proof>
<goal name="VC wmpn_copyi.20" expl="loop invariant preservation" proved="true">
<proof prover="0"><result status="valid" time="0.06" steps="212"/></proof>
</goal>
<goal name="VC wmpn_copyi.23" expl="loop invariant preservation" proved="true">
<goal name="VC wmpn_copyi.21" expl="loop invariant preservation" proved="true">
<proof prover="1"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="VC wmpn_copyi.24" expl="loop invariant preservation" proved="true">
<proof prover="0"><result status="valid" time="0.05" steps="97"/></proof>
<goal name="VC wmpn_copyi.22" expl="loop invariant preservation" proved="true">
<proof prover="0"><result status="valid" time="0.05" steps="98"/></proof>
</goal>
<goal name="VC wmpn_copyi.25" expl="loop invariant preservation" proved="true">
<goal name="VC wmpn_copyi.23" expl="loop invariant preservation" proved="true">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="VC wmpn_copyi.26" expl="loop invariant preservation" proved="true">
<goal name="VC wmpn_copyi.24" expl="loop invariant preservation" proved="true">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="VC wmpn_copyi.27" expl="loop invariant preservation" proved="true">
<goal name="VC wmpn_copyi.25" expl="loop invariant preservation" proved="true">
<proof prover="1"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="VC wmpn_copyi.28" expl="loop invariant preservation" proved="true">
<goal name="VC wmpn_copyi.26" expl="loop invariant preservation" proved="true">
<proof prover="1"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="VC wmpn_copyi.29" expl="loop invariant preservation" proved="true">
<goal name="VC wmpn_copyi.27" expl="loop invariant preservation" proved="true">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="VC wmpn_copyi.30" expl="loop invariant preservation" proved="true">
<goal name="VC wmpn_copyi.28" expl="loop invariant preservation" proved="true">
<proof prover="1"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="VC wmpn_copyi.31" expl="loop invariant preservation" proved="true">
<proof prover="0"><result status="valid" time="0.02" steps="105"/></proof>
<goal name="VC wmpn_copyi.29" expl="loop invariant preservation" proved="true">
<proof prover="0"><result status="valid" time="0.02" steps="106"/></proof>
</goal>
<goal name="VC wmpn_copyi.32" expl="postcondition" proved="true">
<goal name="VC wmpn_copyi.30" expl="postcondition" proved="true">
<proof prover="1"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="VC wmpn_copyi.33" expl="postcondition" proved="true">
<goal name="VC wmpn_copyi.31" expl="postcondition" proved="true">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
</transf>
</goal>
<goal name="VC wmpn_zero_p" expl="VC for wmpn_zero_p" proved="true">
<transf name="split_vc" proved="true" >
<goal name="VC wmpn_zero_p.0" expl="integer overflow" proved="true">
<goal name="VC wmpn_zero_p.0" expl="loop invariant init" proved="true">
<proof prover="1"><result status="valid" time="0.02"/></proof>
</goal>