update sessions

This commit is contained in:
Andrei Paskevich
2014-01-19 23:14:51 +01:00
parent 61127a1939
commit b67fb7c087
104 changed files with 10898 additions and 10894 deletions

View File

@@ -1,4 +1,4 @@
(* This file is generated by Why3's Coq driver *)
(* This file is generated by Why3's Coq 8.4 driver *)
(* Beware! Only edit allowed sections below *)
Require Import BuiltIn.
Require BuiltIn.
@@ -6,7 +6,7 @@ Require int.Int.
Require map.Map.
(* Why3 assumption *)
Definition unit := unit.
Definition unit := unit.
(* Why3 assumption *)
Inductive ref (a:Type) {a_WT:WhyType a} :=
@@ -16,52 +16,54 @@ Existing Instance ref_WhyType.
Implicit Arguments mk_ref [[a] [a_WT]].
(* Why3 assumption *)
Definition contents {a:Type} {a_WT:WhyType a}(v:(ref a)): a :=
Definition contents {a:Type} {a_WT:WhyType a} (v:(@ref a a_WT)): a :=
match v with
| (mk_ref x) => x
end.
(* Why3 assumption *)
Inductive array (a:Type) {a_WT:WhyType a} :=
| mk_array : Z -> (map.Map.map Z a) -> array a.
Inductive array
(a:Type) {a_WT:WhyType a} :=
| mk_array : Z -> (@map.Map.map Z _ a a_WT) -> array a.
Axiom array_WhyType : forall (a:Type) {a_WT:WhyType a}, WhyType (array a).
Existing Instance array_WhyType.
Implicit Arguments mk_array [[a] [a_WT]].
(* Why3 assumption *)
Definition elts {a:Type} {a_WT:WhyType a}(v:(array a)): (map.Map.map Z a) :=
match v with
Definition elts {a:Type} {a_WT:WhyType a} (v:(@array a a_WT)): (@map.Map.map
Z _ a a_WT) := match v with
| (mk_array x x1) => x1
end.
(* Why3 assumption *)
Definition length {a:Type} {a_WT:WhyType a}(v:(array a)): Z :=
Definition length {a:Type} {a_WT:WhyType a} (v:(@array a a_WT)): Z :=
match v with
| (mk_array x x1) => x
end.
(* Why3 assumption *)
Definition get {a:Type} {a_WT:WhyType a}(a1:(array a)) (i:Z): a :=
Definition get {a:Type} {a_WT:WhyType a} (a1:(@array a a_WT)) (i:Z): a :=
(map.Map.get (elts a1) i).
(* Why3 assumption *)
Definition set {a:Type} {a_WT:WhyType a}(a1:(array a)) (i:Z) (v:a): (array
a) := (mk_array (length a1) (map.Map.set (elts a1) i v)).
Definition set {a:Type} {a_WT:WhyType a} (a1:(@array a a_WT)) (i:Z)
(v:a): (@array a a_WT) := (mk_array (length a1) (map.Map.set (elts a1) i
v)).
(* Why3 assumption *)
Definition make {a:Type} {a_WT:WhyType a}(n:Z) (v:a): (array a) :=
(mk_array n (map.Map.const v:(map.Map.map Z a))).
Definition make {a:Type} {a_WT:WhyType a} (n:Z) (v:a): (@array a a_WT) :=
(mk_array n (map.Map.const v:(@map.Map.map Z _ a a_WT))).
(* Why3 assumption *)
Definition decrease1(a:(array Z)): Prop := forall (i:Z), ((0%Z <= i)%Z /\
Definition decrease1 (a:(@array Z _)): Prop := forall (i:Z), ((0%Z <= i)%Z /\
(i < ((length a) - 1%Z)%Z)%Z) -> (((get a i) - 1%Z)%Z <= (get a
(i + 1%Z)%Z))%Z.
(* Why3 goal *)
Theorem decrease1_induction : forall (a:(array Z)), (decrease1 a) ->
forall (i:Z) (j:Z), (((0%Z <= i)%Z /\ (i <= j)%Z) /\ (j < (length a))%Z) ->
Theorem decrease1_induction : forall (a:(@array Z _)), (decrease1 a) ->
forall (i:Z) (j:Z), ((0%Z <= i)%Z /\ ((i <= j)%Z /\ (j < (length a))%Z)) ->
((((get a i) + i)%Z - j)%Z <= (get a j))%Z.
(* Why3 intros a h1 i j (h2,(h3,h4)). *)
(* YOU MAY EDIT THE PROOF BELOW *)
unfold decrease1.
intros a Ha i j Hij.
@@ -70,18 +72,17 @@ apply (Zlt_lower_bound_ind _ i).
2: omega.
intuition.
assert (x = i \/ i < x)%Z by omega.
destruct H4.
destruct H5.
subst x.
ring_simplify.
omega.
apply Zle_trans with (get a (x-1) - 1)%Z.
assert (i <= x-1 < x)%Z by omega.
assert (0 <= i <= x-1 /\ x-1 < length a)%Z by omega.
generalize (H (x-1)%Z H8 H9); clear H; intuition.
assert (0 <= i /\ i <= x-1 < length a)%Z by omega.
generalize (H0 (x-1)%Z H8 H9); clear H0; intuition.
apply Zle_trans with (get a (x-1+1))%Z.
apply (Ha (x-1)%Z); omega.
ring_simplify (x-1+1)%Z.
omega.
Qed.

View File

@@ -47,7 +47,7 @@
name="decrease1_induction"
locfile="../decrease1.mlw"
loclnum="17" loccnumb="8" loccnume="27"
sum="321f64e0ee2b082f25f0f3ce1ef13fd4"
sum="274102e8bb58aeb99d9f9e45aa7882cf"
proved="true"
expanded="true"
shape="ainfix &gt;=amixfix []V0V2ainfix -ainfix +amixfix []V0V1V1V2Iainfix &lt;V2alengthV0Aainfix &lt;=V1V2Aainfix &lt;=c0V1FIadecrease1V0F">
@@ -58,7 +58,7 @@
edited="decrease1_Decrease1_decrease1_induction_2.v"
obsolete="false"
archived="false">
<result status="valid" time="1.24"/>
<result status="valid" time="1.10"/>
</proof>
</goal>
<goal
@@ -66,7 +66,7 @@
locfile="../decrease1.mlw"
loclnum="23" loccnumb="6" loccnume="12"
expl="VC for search"
sum="6143b67dabd75891e759f9926b6d1e18"
sum="d985d523fcbd66a1ee7e526dc975b55f"
proved="true"
expanded="true"
shape="iNainfix =agetV1V4c0Iainfix &lt;V4V3Aainfix &lt;=c0V4FAainfix =agetV1V3c0Aainfix &lt;V3V0Aainfix &lt;=c0V3ONainfix =agetV1V5c0Iainfix &lt;V5V0Aainfix &lt;=c0V5FAainfix =V3aprefix -c1Laprefix -c1iiainfix &lt;ainfix -V0V6ainfix -V0V2Aainfix &lt;=c0ainfix -V0V2ANainfix =agetV1V7c0Iainfix &lt;V7V0Iainfix &lt;V7V6Aainfix &lt;=c0V7FAainfix &lt;=c0V6Iainfix =V6ainfix +V2c1Fainfix &lt;ainfix -V0V8ainfix -V0V2Aainfix &lt;=c0ainfix -V0V2ANainfix =agetV1V9c0Iainfix &lt;V9V0Iainfix &lt;V9V8Aainfix &lt;=c0V9FAainfix &lt;=c0V8Iainfix =V8ainfix +V2agetV1V2FAainfix &lt;V2V0Aainfix &lt;=c0V2ainfix &gt;agetV1V2c0Aainfix &lt;V2V0Aainfix &lt;=c0V2Nainfix =agetV1V10c0Iainfix &lt;V10V2Aainfix &lt;=c0V10FAainfix =agetV1V2c0Aainfix &lt;V2V0Aainfix &lt;=c0V2ONainfix =agetV1V11c0Iainfix &lt;V11V0Aainfix &lt;=c0V11FAainfix =V2aprefix -c1ainfix =agetV1V2c0Aainfix &lt;V2V0Aainfix &lt;=c0V2ainfix &lt;V2V0INainfix =agetV1V12c0Iainfix &lt;V12V0Iainfix &lt;V12V2Aainfix &lt;=c0V12FAainfix &lt;=c0V2FANainfix =agetV1V13c0Iainfix &lt;V13V0Iainfix &lt;V13c0Aainfix &lt;=c0V13FAainfix &lt;=c0c0Iadecrease1amk arrayV0V1Aainfix &lt;=c0V0F">
@@ -81,7 +81,7 @@
locfile="../decrease1.mlw"
loclnum="23" loccnumb="6" loccnume="12"
expl="1. loop invariant init"
sum="919b21aed97efa3341c3b96d41f05114"
sum="8bab3234524833f0453d36498f8da677"
proved="true"
expanded="true"
shape="loop invariant initainfix &lt;=c0c0Iadecrease1amk arrayV0V1Aainfix &lt;=c0V0F">
@@ -125,7 +125,7 @@
locfile="../decrease1.mlw"
loclnum="23" loccnumb="6" loccnume="12"
expl="2. loop invariant init"
sum="b0539167e792edefc54f573416637244"
sum="7381bc35c201179c9434cc584c9abea6"
proved="true"
expanded="true"
shape="loop invariant initNainfix =agetV1V2c0Iainfix &lt;V2V0Iainfix &lt;V2c0Aainfix &lt;=c0V2FIadecrease1amk arrayV0V1Aainfix &lt;=c0V0F">
@@ -185,7 +185,7 @@
locfile="../decrease1.mlw"
loclnum="23" loccnumb="6" loccnume="12"
expl="3. precondition"
sum="220d5ade351c2070cde725138458d640"
sum="c772310d66b3a095ea579484b458c462"
proved="true"
expanded="true"
shape="preconditionainfix &lt;V2V0Aainfix &lt;=c0V2Iainfix &lt;V2V0INainfix =agetV1V3c0Iainfix &lt;V3V0Iainfix &lt;V3V2Aainfix &lt;=c0V3FAainfix &lt;=c0V2FIadecrease1amk arrayV0V1Aainfix &lt;=c0V0F">
@@ -245,7 +245,7 @@
locfile="../decrease1.mlw"
loclnum="23" loccnumb="6" loccnume="12"
expl="4. postcondition"
sum="8f02dc8507bc91cb6f93e52408b0b033"
sum="44a5a3d91a4cec98e6c0c9fd4ab34d00"
proved="true"
expanded="true"
shape="postconditionNainfix =agetV1V3c0Iainfix &lt;V3V2Aainfix &lt;=c0V3FAainfix =agetV1V2c0Aainfix &lt;V2V0Aainfix &lt;=c0V2ONainfix =agetV1V4c0Iainfix &lt;V4V0Aainfix &lt;=c0V4FAainfix =V2aprefix -c1Iainfix =agetV1V2c0Iainfix &lt;V2V0Aainfix &lt;=c0V2Iainfix &lt;V2V0INainfix =agetV1V5c0Iainfix &lt;V5V0Iainfix &lt;V5V2Aainfix &lt;=c0V5FAainfix &lt;=c0V2FIadecrease1amk arrayV0V1Aainfix &lt;=c0V0F">
@@ -305,7 +305,7 @@
locfile="../decrease1.mlw"
loclnum="23" loccnumb="6" loccnume="12"
expl="5. precondition"
sum="e9f8602d61c8a04462efa18a247bee58"
sum="953b4bc6b6bd4590a13007821b20445a"
proved="true"
expanded="true"
shape="preconditionainfix &lt;V2V0Aainfix &lt;=c0V2INainfix =agetV1V2c0Iainfix &lt;V2V0Aainfix &lt;=c0V2Iainfix &lt;V2V0INainfix =agetV1V3c0Iainfix &lt;V3V0Iainfix &lt;V3V2Aainfix &lt;=c0V3FAainfix &lt;=c0V2FIadecrease1amk arrayV0V1Aainfix &lt;=c0V0F">
@@ -365,7 +365,7 @@
locfile="../decrease1.mlw"
loclnum="23" loccnumb="6" loccnume="12"
expl="6. precondition"
sum="510292e90305d80ba9fa3d435633580c"
sum="693c8e7722764eb800f1f8be22eb9af9"
proved="true"
expanded="true"
shape="preconditionainfix &lt;V2V0Aainfix &lt;=c0V2Iainfix &gt;agetV1V2c0Iainfix &lt;V2V0Aainfix &lt;=c0V2INainfix =agetV1V2c0Iainfix &lt;V2V0Aainfix &lt;=c0V2Iainfix &lt;V2V0INainfix =agetV1V3c0Iainfix &lt;V3V0Iainfix &lt;V3V2Aainfix &lt;=c0V3FAainfix &lt;=c0V2FIadecrease1amk arrayV0V1Aainfix &lt;=c0V0F">
@@ -425,7 +425,7 @@
locfile="../decrease1.mlw"
loclnum="23" loccnumb="6" loccnume="12"
expl="7. loop invariant preservation"
sum="033f4841915cd121d147e8ef0706ed02"
sum="a128a0815ea6c9c03f1b5c3776769e2d"
proved="true"
expanded="true"
shape="loop invariant preservationainfix &lt;=c0V3Iainfix =V3ainfix +V2agetV1V2FIainfix &lt;V2V0Aainfix &lt;=c0V2Iainfix &gt;agetV1V2c0Iainfix &lt;V2V0Aainfix &lt;=c0V2INainfix =agetV1V2c0Iainfix &lt;V2V0Aainfix &lt;=c0V2Iainfix &lt;V2V0INainfix =agetV1V4c0Iainfix &lt;V4V0Iainfix &lt;V4V2Aainfix &lt;=c0V4FAainfix &lt;=c0V2FIadecrease1amk arrayV0V1Aainfix &lt;=c0V0F">
@@ -469,7 +469,7 @@
locfile="../decrease1.mlw"
loclnum="23" loccnumb="6" loccnume="12"
expl="8. loop invariant preservation"
sum="37148a856a4160e201bf7b3a71341e97"
sum="99be841da51729f612f431477b9120d3"
proved="true"
expanded="true"
shape="loop invariant preservationNainfix =agetV1V4c0Iainfix &lt;V4V0Iainfix &lt;V4V3Aainfix &lt;=c0V4FIainfix =V3ainfix +V2agetV1V2FIainfix &lt;V2V0Aainfix &lt;=c0V2Iainfix &gt;agetV1V2c0Iainfix &lt;V2V0Aainfix &lt;=c0V2INainfix =agetV1V2c0Iainfix &lt;V2V0Aainfix &lt;=c0V2Iainfix &lt;V2V0INainfix =agetV1V5c0Iainfix &lt;V5V0Iainfix &lt;V5V2Aainfix &lt;=c0V5FAainfix &lt;=c0V2FIadecrease1amk arrayV0V1Aainfix &lt;=c0V0F">
@@ -505,7 +505,7 @@
locfile="../decrease1.mlw"
loclnum="23" loccnumb="6" loccnume="12"
expl="9. loop variant decrease"
sum="d9037f7e25fc854f657c9b100135a988"
sum="b572823b417e83a4e57845239b841aed"
proved="true"
expanded="true"
shape="loop variant decreaseainfix &lt;ainfix -V0V3ainfix -V0V2Aainfix &lt;=c0ainfix -V0V2Iainfix =V3ainfix +V2agetV1V2FIainfix &lt;V2V0Aainfix &lt;=c0V2Iainfix &gt;agetV1V2c0Iainfix &lt;V2V0Aainfix &lt;=c0V2INainfix =agetV1V2c0Iainfix &lt;V2V0Aainfix &lt;=c0V2Iainfix &lt;V2V0INainfix =agetV1V4c0Iainfix &lt;V4V0Iainfix &lt;V4V2Aainfix &lt;=c0V4FAainfix &lt;=c0V2FIadecrease1amk arrayV0V1Aainfix &lt;=c0V0F">
@@ -565,7 +565,7 @@
locfile="../decrease1.mlw"
loclnum="23" loccnumb="6" loccnume="12"
expl="10. loop invariant preservation"
sum="12292aa67dc3e399f5a7f05be2d8ea1c"
sum="cc7b2c53d485c769f2086813884b53b0"
proved="true"
expanded="true"
shape="loop invariant preservationainfix &lt;=c0V3Iainfix =V3ainfix +V2c1FINainfix &gt;agetV1V2c0Iainfix &lt;V2V0Aainfix &lt;=c0V2INainfix =agetV1V2c0Iainfix &lt;V2V0Aainfix &lt;=c0V2Iainfix &lt;V2V0INainfix =agetV1V4c0Iainfix &lt;V4V0Iainfix &lt;V4V2Aainfix &lt;=c0V4FAainfix &lt;=c0V2FIadecrease1amk arrayV0V1Aainfix &lt;=c0V0F">
@@ -609,7 +609,7 @@
locfile="../decrease1.mlw"
loclnum="23" loccnumb="6" loccnume="12"
expl="11. loop invariant preservation"
sum="c5cf9dcbd57d6e087a146f780c3c31bf"
sum="6720b470c6a4264b81f0b12fe88976e8"
proved="true"
expanded="true"
shape="loop invariant preservationNainfix =agetV1V4c0Iainfix &lt;V4V0Iainfix &lt;V4V3Aainfix &lt;=c0V4FIainfix =V3ainfix +V2c1FINainfix &gt;agetV1V2c0Iainfix &lt;V2V0Aainfix &lt;=c0V2INainfix =agetV1V2c0Iainfix &lt;V2V0Aainfix &lt;=c0V2Iainfix &lt;V2V0INainfix =agetV1V5c0Iainfix &lt;V5V0Iainfix &lt;V5V2Aainfix &lt;=c0V5FAainfix &lt;=c0V2FIadecrease1amk arrayV0V1Aainfix &lt;=c0V0F">
@@ -653,7 +653,7 @@
locfile="../decrease1.mlw"
loclnum="23" loccnumb="6" loccnume="12"
expl="12. loop variant decrease"
sum="b4d8169d0c721c567f0be49f785a9b06"
sum="2cc3d9117c50f384d56ae00cfb79a6e5"
proved="true"
expanded="true"
shape="loop variant decreaseainfix &lt;ainfix -V0V3ainfix -V0V2Aainfix &lt;=c0ainfix -V0V2Iainfix =V3ainfix +V2c1FINainfix &gt;agetV1V2c0Iainfix &lt;V2V0Aainfix &lt;=c0V2INainfix =agetV1V2c0Iainfix &lt;V2V0Aainfix &lt;=c0V2Iainfix &lt;V2V0INainfix =agetV1V4c0Iainfix &lt;V4V0Iainfix &lt;V4V2Aainfix &lt;=c0V4FAainfix &lt;=c0V2FIadecrease1amk arrayV0V1Aainfix &lt;=c0V0F">
@@ -713,7 +713,7 @@
locfile="../decrease1.mlw"
loclnum="23" loccnumb="6" loccnume="12"
expl="13. postcondition"
sum="d93665d085b2ade1b4a4af40b0f41dc8"
sum="f30f4d74c833c561cf1990390ed9dbdc"
proved="true"
expanded="true"
shape="postconditionNainfix =agetV1V4c0Iainfix &lt;V4V3Aainfix &lt;=c0V4FAainfix =agetV1V3c0Aainfix &lt;V3V0Aainfix &lt;=c0V3ONainfix =agetV1V5c0Iainfix &lt;V5V0Aainfix &lt;=c0V5FAainfix =V3aprefix -c1Laprefix -c1INainfix &lt;V2V0INainfix =agetV1V6c0Iainfix &lt;V6V0Iainfix &lt;V6V2Aainfix &lt;=c0V6FAainfix &lt;=c0V2FIadecrease1amk arrayV0V1Aainfix &lt;=c0V0F">
@@ -775,7 +775,7 @@
locfile="../decrease1.mlw"
loclnum="43" loccnumb="10" loccnume="20"
expl="VC for search_rec"
sum="d5b4dd7a8682850d20d44d679e01c2d3"
sum="c5b279e4b45fc745609c63cfbc40f369"
proved="true"
expanded="true"
shape="iNainfix =agetV1V5c0Iainfix &lt;V5V4Aainfix &lt;=V2V5FAainfix =agetV1V4c0Aainfix &lt;V4V0Aainfix &lt;=V2V4ONainfix =agetV1V6c0Iainfix &lt;V6V0Aainfix &lt;=V2V6FAainfix =V4aprefix -c1Laprefix -c1iiNainfix =agetV1V9c0Iainfix &lt;V9V8Aainfix &lt;=V2V9FAainfix =agetV1V8c0Aainfix &lt;V8V0Aainfix &lt;=V2V8ONainfix =agetV1V10c0Iainfix &lt;V10V0Aainfix &lt;=V2V10FAainfix =V8aprefix -c1INainfix =agetV1V11c0Iainfix &lt;V11V8Aainfix &lt;=V7V11FAainfix =agetV1V8c0Aainfix &lt;V8V0Aainfix &lt;=V7V8ONainfix =agetV1V12c0Iainfix &lt;V12V0Aainfix &lt;=V7V12FAainfix =V8aprefix -c1FAainfix &lt;=c0V7Aadecrease1V3Lainfix +V2c1Nainfix =agetV1V15c0Iainfix &lt;V15V14Aainfix &lt;=V2V15FAainfix =agetV1V14c0Aainfix &lt;V14V0Aainfix &lt;=V2V14ONainfix =agetV1V16c0Iainfix &lt;V16V0Aainfix &lt;=V2V16FAainfix =V14aprefix -c1INainfix =agetV1V17c0Iainfix &lt;V17V14Aainfix &lt;=V13V17FAainfix =agetV1V14c0Aainfix &lt;V14V0Aainfix &lt;=V13V14ONainfix =agetV1V18c0Iainfix &lt;V18V0Aainfix &lt;=V13V18FAainfix =V14aprefix -c1FAainfix &lt;=c0V13Aadecrease1V3Lainfix +V2agetV1V2Aainfix &lt;V2V0Aainfix &lt;=c0V2ainfix &gt;agetV1V2c0Aainfix &lt;V2V0Aainfix &lt;=c0V2Nainfix =agetV1V19c0Iainfix &lt;V19V2Aainfix &lt;=V2V19FAainfix =agetV1V2c0Aainfix &lt;V2V0Aainfix &lt;=V2V2ONainfix =agetV1V20c0Iainfix &lt;V20V0Aainfix &lt;=V2V20FAainfix =V2aprefix -c1ainfix =agetV1V2c0Aainfix &lt;V2V0Aainfix &lt;=c0V2ainfix &lt;V2V0Iainfix &lt;=c0V2Aadecrease1V3Aainfix &lt;=c0V0Lamk arrayV0V1F">
@@ -790,7 +790,7 @@
locfile="../decrease1.mlw"
loclnum="43" loccnumb="10" loccnume="20"
expl="1. precondition"
sum="ac62e81db8bdf840bbc26d6eb050c20a"
sum="2861bbb30bb355e64c19b4bbd6d70f54"
proved="true"
expanded="true"
shape="preconditionainfix &lt;V2V0Aainfix &lt;=c0V2Iainfix &lt;V2V0Iainfix &lt;=c0V2Aadecrease1V3Aainfix &lt;=c0V0Lamk arrayV0V1F">
@@ -850,7 +850,7 @@
locfile="../decrease1.mlw"
loclnum="43" loccnumb="10" loccnume="20"
expl="2. postcondition"
sum="85e9ba8c411a82c225fd29af76387723"
sum="cf5c0bd24e173bc3964a5d872fbc327a"
proved="true"
expanded="true"
shape="postconditionNainfix =agetV1V4c0Iainfix &lt;V4V2Aainfix &lt;=V2V4FAainfix =agetV1V2c0Aainfix &lt;V2V0Aainfix &lt;=V2V2ONainfix =agetV1V5c0Iainfix &lt;V5V0Aainfix &lt;=V2V5FAainfix =V2aprefix -c1Iainfix =agetV1V2c0Iainfix &lt;V2V0Aainfix &lt;=c0V2Iainfix &lt;V2V0Iainfix &lt;=c0V2Aadecrease1V3Aainfix &lt;=c0V0Lamk arrayV0V1F">
@@ -910,7 +910,7 @@
locfile="../decrease1.mlw"
loclnum="43" loccnumb="10" loccnume="20"
expl="3. precondition"
sum="9d8cba724630ba5794efaaae2afb8eec"
sum="893c680ce13696bab2990592b6a4b7ad"
proved="true"
expanded="true"
shape="preconditionainfix &lt;V2V0Aainfix &lt;=c0V2INainfix =agetV1V2c0Iainfix &lt;V2V0Aainfix &lt;=c0V2Iainfix &lt;V2V0Iainfix &lt;=c0V2Aadecrease1V3Aainfix &lt;=c0V0Lamk arrayV0V1F">
@@ -970,7 +970,7 @@
locfile="../decrease1.mlw"
loclnum="43" loccnumb="10" loccnume="20"
expl="4. precondition"
sum="4e9cce4548ce54c5ff02887693647572"
sum="309f46ddf8158434ad882400a77e1168"
proved="true"
expanded="true"
shape="preconditionainfix &lt;V2V0Aainfix &lt;=c0V2Iainfix &gt;agetV1V2c0Iainfix &lt;V2V0Aainfix &lt;=c0V2INainfix =agetV1V2c0Iainfix &lt;V2V0Aainfix &lt;=c0V2Iainfix &lt;V2V0Iainfix &lt;=c0V2Aadecrease1V3Aainfix &lt;=c0V0Lamk arrayV0V1F">
@@ -1030,7 +1030,7 @@
locfile="../decrease1.mlw"
loclnum="43" loccnumb="10" loccnume="20"
expl="5. precondition"
sum="0f942d194fa30e6965c49a85fda105f6"
sum="49cb200e3d38d866eede7c04a237013e"
proved="true"
expanded="true"
shape="preconditionainfix &lt;=c0V4Aadecrease1V3Lainfix +V2agetV1V2Iainfix &lt;V2V0Aainfix &lt;=c0V2Iainfix &gt;agetV1V2c0Iainfix &lt;V2V0Aainfix &lt;=c0V2INainfix =agetV1V2c0Iainfix &lt;V2V0Aainfix &lt;=c0V2Iainfix &lt;V2V0Iainfix &lt;=c0V2Aadecrease1V3Aainfix &lt;=c0V0Lamk arrayV0V1F">
@@ -1090,7 +1090,7 @@
locfile="../decrease1.mlw"
loclnum="43" loccnumb="10" loccnume="20"
expl="6. postcondition"
sum="8926200bb4f418b2860f9db1e103c6c6"
sum="8ccca0adf6640e7a56856af8755eb27d"
proved="true"
expanded="true"
shape="postconditionNainfix =agetV1V6c0Iainfix &lt;V6V5Aainfix &lt;=V2V6FAainfix =agetV1V5c0Aainfix &lt;V5V0Aainfix &lt;=V2V5ONainfix =agetV1V7c0Iainfix &lt;V7V0Aainfix &lt;=V2V7FAainfix =V5aprefix -c1INainfix =agetV1V8c0Iainfix &lt;V8V5Aainfix &lt;=V4V8FAainfix =agetV1V5c0Aainfix &lt;V5V0Aainfix &lt;=V4V5ONainfix =agetV1V9c0Iainfix &lt;V9V0Aainfix &lt;=V4V9FAainfix =V5aprefix -c1FIainfix &lt;=c0V4Aadecrease1V3Lainfix +V2agetV1V2Iainfix &lt;V2V0Aainfix &lt;=c0V2Iainfix &gt;agetV1V2c0Iainfix &lt;V2V0Aainfix &lt;=c0V2INainfix =agetV1V2c0Iainfix &lt;V2V0Aainfix &lt;=c0V2Iainfix &lt;V2V0Iainfix &lt;=c0V2Aadecrease1V3Aainfix &lt;=c0V0Lamk arrayV0V1F">
@@ -1118,7 +1118,7 @@
locfile="../decrease1.mlw"
loclnum="43" loccnumb="10" loccnume="20"
expl="7. precondition"
sum="52adc452b026cfdc6441bd82cc03d738"
sum="1a8d0b567aa4c9e7efaca8e11d30a666"
proved="true"
expanded="true"
shape="preconditionainfix &lt;=c0V4Aadecrease1V3Lainfix +V2c1INainfix &gt;agetV1V2c0Iainfix &lt;V2V0Aainfix &lt;=c0V2INainfix =agetV1V2c0Iainfix &lt;V2V0Aainfix &lt;=c0V2Iainfix &lt;V2V0Iainfix &lt;=c0V2Aadecrease1V3Aainfix &lt;=c0V0Lamk arrayV0V1F">
@@ -1178,7 +1178,7 @@
locfile="../decrease1.mlw"
loclnum="43" loccnumb="10" loccnume="20"
expl="8. postcondition"
sum="6960ca108e0232babd5ddf948365f8ff"
sum="18732f65b93109ce7b7b5d7b597c1a90"
proved="true"
expanded="true"
shape="postconditionNainfix =agetV1V6c0Iainfix &lt;V6V5Aainfix &lt;=V2V6FAainfix =agetV1V5c0Aainfix &lt;V5V0Aainfix &lt;=V2V5ONainfix =agetV1V7c0Iainfix &lt;V7V0Aainfix &lt;=V2V7FAainfix =V5aprefix -c1INainfix =agetV1V8c0Iainfix &lt;V8V5Aainfix &lt;=V4V8FAainfix =agetV1V5c0Aainfix &lt;V5V0Aainfix &lt;=V4V5ONainfix =agetV1V9c0Iainfix &lt;V9V0Aainfix &lt;=V4V9FAainfix =V5aprefix -c1FIainfix &lt;=c0V4Aadecrease1V3Lainfix +V2c1INainfix &gt;agetV1V2c0Iainfix &lt;V2V0Aainfix &lt;=c0V2INainfix =agetV1V2c0Iainfix &lt;V2V0Aainfix &lt;=c0V2Iainfix &lt;V2V0Iainfix &lt;=c0V2Aadecrease1V3Aainfix &lt;=c0V0Lamk arrayV0V1F">
@@ -1222,7 +1222,7 @@
locfile="../decrease1.mlw"
loclnum="43" loccnumb="10" loccnume="20"
expl="9. postcondition"
sum="57fa6daf102fca2ed7313822b5ffaee3"
sum="33bcb0b94113c30d6858c47de53395c9"
proved="true"
expanded="true"
shape="postconditionNainfix =agetV1V5c0Iainfix &lt;V5V4Aainfix &lt;=V2V5FAainfix =agetV1V4c0Aainfix &lt;V4V0Aainfix &lt;=V2V4ONainfix =agetV1V6c0Iainfix &lt;V6V0Aainfix &lt;=V2V6FAainfix =V4aprefix -c1Laprefix -c1INainfix &lt;V2V0Iainfix &lt;=c0V2Aadecrease1V3Aainfix &lt;=c0V0Lamk arrayV0V1F">