playing with ghost code

parent 7192a2fd
......@@ -42,12 +42,12 @@ module Distance
path d i /\ forall d': int. path d' i -> d <= d'
(* function [g] is built into local array [g]
and (ghost) array [d] holds the distance *)
and ghost array [d] holds the distance *)
let distance () =
let g = make n 0 in
g[0] <- -1; (* sentinel *)
let d = make n 0 in
let count = ref 0 in (* ghost *)
let ghost d = make n 0 in
let ghost count = ref 0 in
for i = 1 to n-1 do
invariant {
d[0] = 0 /\ g[0] = -1 /\ !count + d[i-1] <= i-1 /\
......@@ -64,10 +64,10 @@ module Distance
f i <= !j < i /\ !count + d[!j] <= i-1 /\
(forall k: int. !j < k < i -> d[!j] < d[k]) }
variant { !j }
j := g[!j];
incr count
ghost incr count;
j := g[!j]
done;
d[i] <- 1 + d[!j];
ghost d[i] <- 1 + d[!j];
g[i] <- !j
done;
assert { !count < n }; (* O(n) is thus ensured *)
......
......@@ -33,10 +33,10 @@
locfile="distance/../distance.mlw"
loclnum="46" loccnumb="6" loccnume="14"
expl="parameter distance"
sum="abc4aa21a637d310ca98d1e951419d26"
sum="34e658c260eb07781475825ad2ebdc85"
proved="true"
expanded="true"
shape="adistanceagetV2V4V4Iainfix &lt;V4anAainfix &lt;=c0V4FAainfix &lt;V1anIapathagetV2V5V5Iainfix &lt;V5ainfix +ainfix -anc1c1Aainfix &lt;=c0V5FAainfix &lt;agetV2agetV3V6agetV2V7Iainfix &lt;V7V6Aainfix &lt;agetV3V6V7FAainfix =agetV2V6ainfix +agetV2agetV3V6c1Aainfix &lt;=c0agetV2V6Aainfix &lt;agetV3V6V6Aainfix &lt;=afV6agetV3V6Aainfix &lt;agetV3agetV3V6afV6Iainfix &lt;V6ainfix +ainfix -anc1c1Aainfix &lt;c0V6FAainfix &lt;=ainfix +V1agetV2ainfix -ainfix +ainfix -anc1c1c1ainfix -ainfix +ainfix -anc1c1c1Aainfix =agetV3c0aprefix -c1Aainfix =agetV2c0c0Aiainfix &gt;=agetV3V9afV8ainfix &lt;V11V9Aainfix &lt;=c0V9Aainfix &lt;agetV2V11agetV2V13Iainfix &lt;V13V8Aainfix &lt;V11V13FAainfix &lt;=ainfix +V12agetV2V11ainfix -V8c1Aainfix &lt;V11V8Aainfix &lt;=afV8V11Iainfix =V12ainfix +V10c1FIainfix =V11agetV3V9FAainfix &lt;V9anAainfix &lt;=c0V9apathagetV14V16V16Iainfix &lt;V16ainfix +V8c1Aainfix &lt;=c0V16FAainfix &lt;agetV14agetV15V17agetV14V18Iainfix &lt;V18V17Aainfix &lt;agetV15V17V18FAainfix =agetV14V17ainfix +agetV14agetV15V17c1Aainfix &lt;=c0agetV14V17Aainfix &lt;agetV15V17V17Aainfix &lt;=afV17agetV15V17Aainfix &lt;agetV15agetV15V17afV17Iainfix &lt;V17ainfix +V8c1Aainfix &lt;c0V17FAainfix &lt;=ainfix +V10agetV14ainfix -ainfix +V8c1c1ainfix -ainfix +V8c1c1Aainfix =agetV15c0aprefix -c1Aainfix =agetV14c0c0Iainfix =V15asetV3V8V9FAainfix &lt;V8anAainfix &lt;=c0V8Iainfix =V14asetV2V8ainfix +c1agetV2V9FAainfix &lt;V8anAainfix &lt;=c0V8Aainfix &lt;V9anAainfix &lt;=c0V9Aainfix &lt;V9anAainfix &lt;=c0V9Iainfix &lt;agetV2V9agetV2V19Iainfix &lt;V19V8Aainfix &lt;V9V19FAainfix &lt;=ainfix +V10agetV2V9ainfix -V8c1Aainfix &lt;V9V8Aainfix &lt;=afV8V9FAainfix &lt;agetV2ainfix -V8c1agetV2V20Iainfix &lt;V20V8Aainfix &lt;ainfix -V8c1V20FAainfix &lt;=ainfix +V1agetV2ainfix -V8c1ainfix -V8c1Aainfix &lt;ainfix -V8c1V8Aainfix &lt;=afV8ainfix -V8c1IapathagetV2V21V21Iainfix &lt;V21V8Aainfix &lt;=c0V21FAainfix &lt;agetV2agetV3V22agetV2V23Iainfix &lt;V23V22Aainfix &lt;agetV3V22V23FAainfix =agetV2V22ainfix +agetV2agetV3V22c1Aainfix &lt;=c0agetV2V22Aainfix &lt;agetV3V22V22Aainfix &lt;=afV22agetV3V22Aainfix &lt;agetV3agetV3V22afV22Iainfix &lt;V22V8Aainfix &lt;c0V22FAainfix &lt;=ainfix +V1agetV2ainfix -V8c1ainfix -V8c1Aainfix =agetV3c0aprefix -c1Aainfix =agetV2c0c0Iainfix &lt;=V8ainfix -anc1Aainfix &lt;=c1V8FFAapathagetaconstc0V24V24Iainfix &lt;V24c1Aainfix &lt;=c0V24FAainfix &lt;agetaconstc0agetV0V25agetaconstc0V26Iainfix &lt;V26V25Aainfix &lt;agetV0V25V26FAainfix =agetaconstc0V25ainfix +agetaconstc0agetV0V25c1Aainfix &lt;=c0agetaconstc0V25Aainfix &lt;agetV0V25V25Aainfix &lt;=afV25agetV0V25Aainfix &lt;agetV0agetV0V25afV25Iainfix &lt;V25c1Aainfix &lt;c0V25FAainfix &lt;=ainfix +c0agetaconstc0ainfix -c1c1ainfix -c1c1Aainfix =agetV0c0aprefix -c1Aainfix =agetaconstc0c0c0Iainfix &lt;=c1ainfix -anc1Aadistanceagetaconstc0V27V27Iainfix &lt;V27anAainfix &lt;=c0V27FAainfix &lt;c0anIainfix &gt;c1ainfix -anc1Aainfix &gt;=anc0Iainfix =V0asetaconstc0c0aprefix -c1FAainfix &lt;c0anAainfix &lt;=c0c0Aainfix &gt;=anc0">
shape="adistanceagetV2V4V4Iainfix &lt;V4anAainfix &lt;=c0V4FAainfix &lt;V1anIapathagetV2V5V5Iainfix &lt;V5ainfix +ainfix -anc1c1Aainfix &lt;=c0V5FAainfix &lt;agetV2agetV3V6agetV2V7Iainfix &lt;V7V6Aainfix &lt;agetV3V6V7FAainfix =agetV2V6ainfix +agetV2agetV3V6c1Aainfix &lt;=c0agetV2V6Aainfix &lt;agetV3V6V6Aainfix &lt;=afV6agetV3V6Aainfix &lt;agetV3agetV3V6afV6Iainfix &lt;V6ainfix +ainfix -anc1c1Aainfix &lt;c0V6FAainfix &lt;=ainfix +V1agetV2ainfix -ainfix +ainfix -anc1c1c1ainfix -ainfix +ainfix -anc1c1c1Aainfix =agetV3c0aprefix -c1Aainfix =agetV2c0c0Aiainfix &gt;=agetV3V9afV8ainfix &lt;V12V9Aainfix &lt;=c0V9Aainfix &lt;agetV2V12agetV2V13Iainfix &lt;V13V8Aainfix &lt;V12V13FAainfix &lt;=ainfix +V11agetV2V12ainfix -V8c1Aainfix &lt;V12V8Aainfix &lt;=afV8V12Iainfix =V12agetV3V9FAainfix &lt;V9anAainfix &lt;=c0V9Iainfix =V11ainfix +V10c1FapathagetV14V16V16Iainfix &lt;V16ainfix +V8c1Aainfix &lt;=c0V16FAainfix &lt;agetV14agetV15V17agetV14V18Iainfix &lt;V18V17Aainfix &lt;agetV15V17V18FAainfix =agetV14V17ainfix +agetV14agetV15V17c1Aainfix &lt;=c0agetV14V17Aainfix &lt;agetV15V17V17Aainfix &lt;=afV17agetV15V17Aainfix &lt;agetV15agetV15V17afV17Iainfix &lt;V17ainfix +V8c1Aainfix &lt;c0V17FAainfix &lt;=ainfix +V10agetV14ainfix -ainfix +V8c1c1ainfix -ainfix +V8c1c1Aainfix =agetV15c0aprefix -c1Aainfix =agetV14c0c0Iainfix =V15asetV3V8V9FAainfix &lt;V8anAainfix &lt;=c0V8Iainfix =V14asetV2V8ainfix +c1agetV2V9FAainfix &lt;V8anAainfix &lt;=c0V8Aainfix &lt;V9anAainfix &lt;=c0V9Aainfix &lt;V9anAainfix &lt;=c0V9Iainfix &lt;agetV2V9agetV2V19Iainfix &lt;V19V8Aainfix &lt;V9V19FAainfix &lt;=ainfix +V10agetV2V9ainfix -V8c1Aainfix &lt;V9V8Aainfix &lt;=afV8V9FAainfix &lt;agetV2ainfix -V8c1agetV2V20Iainfix &lt;V20V8Aainfix &lt;ainfix -V8c1V20FAainfix &lt;=ainfix +V1agetV2ainfix -V8c1ainfix -V8c1Aainfix &lt;ainfix -V8c1V8Aainfix &lt;=afV8ainfix -V8c1IapathagetV2V21V21Iainfix &lt;V21V8Aainfix &lt;=c0V21FAainfix &lt;agetV2agetV3V22agetV2V23Iainfix &lt;V23V22Aainfix &lt;agetV3V22V23FAainfix =agetV2V22ainfix +agetV2agetV3V22c1Aainfix &lt;=c0agetV2V22Aainfix &lt;agetV3V22V22Aainfix &lt;=afV22agetV3V22Aainfix &lt;agetV3agetV3V22afV22Iainfix &lt;V22V8Aainfix &lt;c0V22FAainfix &lt;=ainfix +V1agetV2ainfix -V8c1ainfix -V8c1Aainfix =agetV3c0aprefix -c1Aainfix =agetV2c0c0Iainfix &lt;=V8ainfix -anc1Aainfix &lt;=c1V8FFAapathagetaconstc0V24V24Iainfix &lt;V24c1Aainfix &lt;=c0V24FAainfix &lt;agetaconstc0agetV0V25agetaconstc0V26Iainfix &lt;V26V25Aainfix &lt;agetV0V25V26FAainfix =agetaconstc0V25ainfix +agetaconstc0agetV0V25c1Aainfix &lt;=c0agetaconstc0V25Aainfix &lt;agetV0V25V25Aainfix &lt;=afV25agetV0V25Aainfix &lt;agetV0agetV0V25afV25Iainfix &lt;V25c1Aainfix &lt;c0V25FAainfix &lt;=ainfix +c0agetaconstc0ainfix -c1c1ainfix -c1c1Aainfix =agetV0c0aprefix -c1Aainfix =agetaconstc0c0c0Iainfix &lt;=c1ainfix -anc1Aadistanceagetaconstc0V27V27Iainfix &lt;V27anAainfix &lt;=c0V27FAainfix &lt;c0anIainfix &gt;c1ainfix -anc1Aainfix &gt;=anc0Iainfix =V0asetaconstc0c0aprefix -c1FAainfix &lt;c0anAainfix &lt;=c0c0Aainfix &gt;=anc0">
<label
name="expl:parameter distance"/>
<transf
......@@ -168,10 +168,10 @@
locfile="distance/../distance.mlw"
loclnum="46" loccnumb="6" loccnume="14"
expl="for loop preservation"
sum="bd6492ffe7809eb3a9451a2273cde189"
sum="d6cd9c6855fac3b876b96d82c421ea2c"
proved="true"
expanded="false"
shape="iainfix &gt;=agetV3V5afV4ainfix &lt;V7V5Aainfix &lt;=c0V5Aainfix &lt;agetV2V7agetV2V9Iainfix &lt;V9V4Aainfix &lt;V7V9FAainfix &lt;=ainfix +V8agetV2V7ainfix -V4c1Aainfix &lt;V7V4Aainfix &lt;=afV4V7Iainfix =V8ainfix +V6c1FIainfix =V7agetV3V5FAainfix &lt;V5anAainfix &lt;=c0V5apathagetV10V12V12Iainfix &lt;V12ainfix +V4c1Aainfix &lt;=c0V12FAainfix &lt;agetV10agetV11V13agetV10V14Iainfix &lt;V14V13Aainfix &lt;agetV11V13V14FAainfix =agetV10V13ainfix +agetV10agetV11V13c1Aainfix &lt;=c0agetV10V13Aainfix &lt;agetV11V13V13Aainfix &lt;=afV13agetV11V13Aainfix &lt;agetV11agetV11V13afV13Iainfix &lt;V13ainfix +V4c1Aainfix &lt;c0V13FAainfix &lt;=ainfix +V6agetV10ainfix -ainfix +V4c1c1ainfix -ainfix +V4c1c1Aainfix =agetV11c0aprefix -c1Aainfix =agetV10c0c0Iainfix =V11asetV3V4V5FAainfix &lt;V4anAainfix &lt;=c0V4Iainfix =V10asetV2V4ainfix +c1agetV2V5FAainfix &lt;V4anAainfix &lt;=c0V4Aainfix &lt;V5anAainfix &lt;=c0V5Aainfix &lt;V5anAainfix &lt;=c0V5Iainfix &lt;agetV2V5agetV2V15Iainfix &lt;V15V4Aainfix &lt;V5V15FAainfix &lt;=ainfix +V6agetV2V5ainfix -V4c1Aainfix &lt;V5V4Aainfix &lt;=afV4V5FAainfix &lt;agetV2ainfix -V4c1agetV2V16Iainfix &lt;V16V4Aainfix &lt;ainfix -V4c1V16FAainfix &lt;=ainfix +V1agetV2ainfix -V4c1ainfix -V4c1Aainfix &lt;ainfix -V4c1V4Aainfix &lt;=afV4ainfix -V4c1IapathagetV2V17V17Iainfix &lt;V17V4Aainfix &lt;=c0V17FAainfix &lt;agetV2agetV3V18agetV2V19Iainfix &lt;V19V18Aainfix &lt;agetV3V18V19FAainfix =agetV2V18ainfix +agetV2agetV3V18c1Aainfix &lt;=c0agetV2V18Aainfix &lt;agetV3V18V18Aainfix &lt;=afV18agetV3V18Aainfix &lt;agetV3agetV3V18afV18Iainfix &lt;V18V4Aainfix &lt;c0V18FAainfix &lt;=ainfix +V1agetV2ainfix -V4c1ainfix -V4c1Aainfix =agetV3c0aprefix -c1Aainfix =agetV2c0c0Iainfix &lt;=V4ainfix -anc1Aainfix &lt;=c1V4FFIainfix &lt;=c1ainfix -anc1Iainfix &gt;=anc0Iainfix =V0asetaconstc0c0aprefix -c1FIainfix &lt;c0anAainfix &lt;=c0c0Iainfix &gt;=anc0">
shape="iainfix &gt;=agetV3V5afV4ainfix &lt;V8V5Aainfix &lt;=c0V5Aainfix &lt;agetV2V8agetV2V9Iainfix &lt;V9V4Aainfix &lt;V8V9FAainfix &lt;=ainfix +V7agetV2V8ainfix -V4c1Aainfix &lt;V8V4Aainfix &lt;=afV4V8Iainfix =V8agetV3V5FAainfix &lt;V5anAainfix &lt;=c0V5Iainfix =V7ainfix +V6c1FapathagetV10V12V12Iainfix &lt;V12ainfix +V4c1Aainfix &lt;=c0V12FAainfix &lt;agetV10agetV11V13agetV10V14Iainfix &lt;V14V13Aainfix &lt;agetV11V13V14FAainfix =agetV10V13ainfix +agetV10agetV11V13c1Aainfix &lt;=c0agetV10V13Aainfix &lt;agetV11V13V13Aainfix &lt;=afV13agetV11V13Aainfix &lt;agetV11agetV11V13afV13Iainfix &lt;V13ainfix +V4c1Aainfix &lt;c0V13FAainfix &lt;=ainfix +V6agetV10ainfix -ainfix +V4c1c1ainfix -ainfix +V4c1c1Aainfix =agetV11c0aprefix -c1Aainfix =agetV10c0c0Iainfix =V11asetV3V4V5FAainfix &lt;V4anAainfix &lt;=c0V4Iainfix =V10asetV2V4ainfix +c1agetV2V5FAainfix &lt;V4anAainfix &lt;=c0V4Aainfix &lt;V5anAainfix &lt;=c0V5Aainfix &lt;V5anAainfix &lt;=c0V5Iainfix &lt;agetV2V5agetV2V15Iainfix &lt;V15V4Aainfix &lt;V5V15FAainfix &lt;=ainfix +V6agetV2V5ainfix -V4c1Aainfix &lt;V5V4Aainfix &lt;=afV4V5FAainfix &lt;agetV2ainfix -V4c1agetV2V16Iainfix &lt;V16V4Aainfix &lt;ainfix -V4c1V16FAainfix &lt;=ainfix +V1agetV2ainfix -V4c1ainfix -V4c1Aainfix &lt;ainfix -V4c1V4Aainfix &lt;=afV4ainfix -V4c1IapathagetV2V17V17Iainfix &lt;V17V4Aainfix &lt;=c0V17FAainfix &lt;agetV2agetV3V18agetV2V19Iainfix &lt;V19V18Aainfix &lt;agetV3V18V19FAainfix =agetV2V18ainfix +agetV2agetV3V18c1Aainfix &lt;=c0agetV2V18Aainfix &lt;agetV3V18V18Aainfix &lt;=afV18agetV3V18Aainfix &lt;agetV3agetV3V18afV18Iainfix &lt;V18V4Aainfix &lt;c0V18FAainfix &lt;=ainfix +V1agetV2ainfix -V4c1ainfix -V4c1Aainfix =agetV3c0aprefix -c1Aainfix =agetV2c0c0Iainfix &lt;=V4ainfix -anc1Aainfix &lt;=c1V4FFIainfix &lt;=c1ainfix -anc1Iainfix &gt;=anc0Iainfix =V0asetaconstc0c0aprefix -c1FIainfix &lt;c0anAainfix &lt;=c0c0Iainfix &gt;=anc0">
<label
name="expl:parameter distance"/>
<transf
......@@ -231,10 +231,10 @@
locfile="distance/../distance.mlw"
loclnum="46" loccnumb="6" loccnume="14"
expl="for loop preservation"
sum="2e4d19bf3bc967aa15a3c5dc84923b23"
sum="04d415b0867fd8ad83aae54f5b80aea2"
proved="true"
expanded="false"
shape="ainfix &lt;V5anAainfix &lt;=c0V5Iainfix &gt;=agetV3V5afV4Iainfix &lt;V5anAainfix &lt;=c0V5Iainfix &lt;agetV2V5agetV2V7Iainfix &lt;V7V4Aainfix &lt;V5V7FAainfix &lt;=ainfix +V6agetV2V5ainfix -V4c1Aainfix &lt;V5V4Aainfix &lt;=afV4V5FIapathagetV2V8V8Iainfix &lt;V8V4Aainfix &lt;=c0V8FAainfix &lt;agetV2agetV3V9agetV2V10Iainfix &lt;V10V9Aainfix &lt;agetV3V9V10FAainfix =agetV2V9ainfix +agetV2agetV3V9c1Aainfix &lt;=c0agetV2V9Aainfix &lt;agetV3V9V9Aainfix &lt;=afV9agetV3V9Aainfix &lt;agetV3agetV3V9afV9Iainfix &lt;V9V4Aainfix &lt;c0V9FAainfix &lt;=ainfix +V1agetV2ainfix -V4c1ainfix -V4c1Aainfix =agetV3c0aprefix -c1Aainfix =agetV2c0c0Iainfix &lt;=V4ainfix -anc1Aainfix &lt;=c1V4FFIainfix &lt;=c1ainfix -anc1Iainfix &gt;=anc0Iainfix =V0asetaconstc0c0aprefix -c1FIainfix &lt;c0anAainfix &lt;=c0c0Iainfix &gt;=anc0">
shape="ainfix &lt;V5anAainfix &lt;=c0V5Iainfix =V7ainfix +V6c1FIainfix &gt;=agetV3V5afV4Iainfix &lt;V5anAainfix &lt;=c0V5Iainfix &lt;agetV2V5agetV2V8Iainfix &lt;V8V4Aainfix &lt;V5V8FAainfix &lt;=ainfix +V6agetV2V5ainfix -V4c1Aainfix &lt;V5V4Aainfix &lt;=afV4V5FIapathagetV2V9V9Iainfix &lt;V9V4Aainfix &lt;=c0V9FAainfix &lt;agetV2agetV3V10agetV2V11Iainfix &lt;V11V10Aainfix &lt;agetV3V10V11FAainfix =agetV2V10ainfix +agetV2agetV3V10c1Aainfix &lt;=c0agetV2V10Aainfix &lt;agetV3V10V10Aainfix &lt;=afV10agetV3V10Aainfix &lt;agetV3agetV3V10afV10Iainfix &lt;V10V4Aainfix &lt;c0V10FAainfix &lt;=ainfix +V1agetV2ainfix -V4c1ainfix -V4c1Aainfix =agetV3c0aprefix -c1Aainfix =agetV2c0c0Iainfix &lt;=V4ainfix -anc1Aainfix &lt;=c1V4FFIainfix &lt;=c1ainfix -anc1Iainfix &gt;=anc0Iainfix =V0asetaconstc0c0aprefix -c1FIainfix &lt;c0anAainfix &lt;=c0c0Iainfix &gt;=anc0">
<label
name="expl:parameter distance"/>
<proof
......@@ -251,10 +251,10 @@
locfile="distance/../distance.mlw"
loclnum="46" loccnumb="6" loccnume="14"
expl="for loop preservation"
sum="01ec92fa84c3605e10f6e362b5867d05"
sum="8f10a915a31858e5f678763e30159531"
proved="true"
expanded="false"
shape="ainfix &lt;agetV2V7agetV2V9Iainfix &lt;V9V4Aainfix &lt;V7V9FAainfix &lt;=ainfix +V8agetV2V7ainfix -V4c1Aainfix &lt;V7V4Aainfix &lt;=afV4V7Iainfix =V8ainfix +V6c1FIainfix =V7agetV3V5FIainfix &lt;V5anAainfix &lt;=c0V5Iainfix &gt;=agetV3V5afV4Iainfix &lt;V5anAainfix &lt;=c0V5Iainfix &lt;agetV2V5agetV2V10Iainfix &lt;V10V4Aainfix &lt;V5V10FAainfix &lt;=ainfix +V6agetV2V5ainfix -V4c1Aainfix &lt;V5V4Aainfix &lt;=afV4V5FIapathagetV2V11V11Iainfix &lt;V11V4Aainfix &lt;=c0V11FAainfix &lt;agetV2agetV3V12agetV2V13Iainfix &lt;V13V12Aainfix &lt;agetV3V12V13FAainfix =agetV2V12ainfix +agetV2agetV3V12c1Aainfix &lt;=c0agetV2V12Aainfix &lt;agetV3V12V12Aainfix &lt;=afV12agetV3V12Aainfix &lt;agetV3agetV3V12afV12Iainfix &lt;V12V4Aainfix &lt;c0V12FAainfix &lt;=ainfix +V1agetV2ainfix -V4c1ainfix -V4c1Aainfix =agetV3c0aprefix -c1Aainfix =agetV2c0c0Iainfix &lt;=V4ainfix -anc1Aainfix &lt;=c1V4FFIainfix &lt;=c1ainfix -anc1Iainfix &gt;=anc0Iainfix =V0asetaconstc0c0aprefix -c1FIainfix &lt;c0anAainfix &lt;=c0c0Iainfix &gt;=anc0">
shape="ainfix &lt;agetV2V8agetV2V9Iainfix &lt;V9V4Aainfix &lt;V8V9FAainfix &lt;=ainfix +V7agetV2V8ainfix -V4c1Aainfix &lt;V8V4Aainfix &lt;=afV4V8Iainfix =V8agetV3V5FIainfix &lt;V5anAainfix &lt;=c0V5Iainfix =V7ainfix +V6c1FIainfix &gt;=agetV3V5afV4Iainfix &lt;V5anAainfix &lt;=c0V5Iainfix &lt;agetV2V5agetV2V10Iainfix &lt;V10V4Aainfix &lt;V5V10FAainfix &lt;=ainfix +V6agetV2V5ainfix -V4c1Aainfix &lt;V5V4Aainfix &lt;=afV4V5FIapathagetV2V11V11Iainfix &lt;V11V4Aainfix &lt;=c0V11FAainfix &lt;agetV2agetV3V12agetV2V13Iainfix &lt;V13V12Aainfix &lt;agetV3V12V13FAainfix =agetV2V12ainfix +agetV2agetV3V12c1Aainfix &lt;=c0agetV2V12Aainfix &lt;agetV3V12V12Aainfix &lt;=afV12agetV3V12Aainfix &lt;agetV3agetV3V12afV12Iainfix &lt;V12V4Aainfix &lt;c0V12FAainfix &lt;=ainfix +V1agetV2ainfix -V4c1ainfix -V4c1Aainfix =agetV3c0aprefix -c1Aainfix =agetV2c0c0Iainfix &lt;=V4ainfix -anc1Aainfix &lt;=c1V4FFIainfix &lt;=c1ainfix -anc1Iainfix &gt;=anc0Iainfix =V0asetaconstc0c0aprefix -c1FIainfix &lt;c0anAainfix &lt;=c0c0Iainfix &gt;=anc0">
<label
name="expl:parameter distance"/>
<proof
......@@ -263,7 +263,7 @@
memlimit="0"
obsolete="false"
archived="false">
<result status="valid" time="0.21"/>
<result status="valid" time="0.23"/>
</proof>
</goal>
<goal
......@@ -271,10 +271,10 @@
locfile="distance/../distance.mlw"
loclnum="46" loccnumb="6" loccnume="14"
expl="for loop preservation"
sum="c3f1b50d0ec694dd4597d6eeae743ac3"
sum="44b806e9a8424658357317554c1091c5"
proved="true"
expanded="false"
shape="ainfix &lt;V7V5Aainfix &lt;=c0V5Iainfix =V8ainfix +V6c1FIainfix =V7agetV3V5FIainfix &lt;V5anAainfix &lt;=c0V5Iainfix &gt;=agetV3V5afV4Iainfix &lt;V5anAainfix &lt;=c0V5Iainfix &lt;agetV2V5agetV2V9Iainfix &lt;V9V4Aainfix &lt;V5V9FAainfix &lt;=ainfix +V6agetV2V5ainfix -V4c1Aainfix &lt;V5V4Aainfix &lt;=afV4V5FIapathagetV2V10V10Iainfix &lt;V10V4Aainfix &lt;=c0V10FAainfix &lt;agetV2agetV3V11agetV2V12Iainfix &lt;V12V11Aainfix &lt;agetV3V11V12FAainfix =agetV2V11ainfix +agetV2agetV3V11c1Aainfix &lt;=c0agetV2V11Aainfix &lt;agetV3V11V11Aainfix &lt;=afV11agetV3V11Aainfix &lt;agetV3agetV3V11afV11Iainfix &lt;V11V4Aainfix &lt;c0V11FAainfix &lt;=ainfix +V1agetV2ainfix -V4c1ainfix -V4c1Aainfix =agetV3c0aprefix -c1Aainfix =agetV2c0c0Iainfix &lt;=V4ainfix -anc1Aainfix &lt;=c1V4FFIainfix &lt;=c1ainfix -anc1Iainfix &gt;=anc0Iainfix =V0asetaconstc0c0aprefix -c1FIainfix &lt;c0anAainfix &lt;=c0c0Iainfix &gt;=anc0">
shape="ainfix &lt;V8V5Aainfix &lt;=c0V5Iainfix =V8agetV3V5FIainfix &lt;V5anAainfix &lt;=c0V5Iainfix =V7ainfix +V6c1FIainfix &gt;=agetV3V5afV4Iainfix &lt;V5anAainfix &lt;=c0V5Iainfix &lt;agetV2V5agetV2V9Iainfix &lt;V9V4Aainfix &lt;V5V9FAainfix &lt;=ainfix +V6agetV2V5ainfix -V4c1Aainfix &lt;V5V4Aainfix &lt;=afV4V5FIapathagetV2V10V10Iainfix &lt;V10V4Aainfix &lt;=c0V10FAainfix &lt;agetV2agetV3V11agetV2V12Iainfix &lt;V12V11Aainfix &lt;agetV3V11V12FAainfix =agetV2V11ainfix +agetV2agetV3V11c1Aainfix &lt;=c0agetV2V11Aainfix &lt;agetV3V11V11Aainfix &lt;=afV11agetV3V11Aainfix &lt;agetV3agetV3V11afV11Iainfix &lt;V11V4Aainfix &lt;c0V11FAainfix &lt;=ainfix +V1agetV2ainfix -V4c1ainfix -V4c1Aainfix =agetV3c0aprefix -c1Aainfix =agetV2c0c0Iainfix &lt;=V4ainfix -anc1Aainfix &lt;=c1V4FFIainfix &lt;=c1ainfix -anc1Iainfix &gt;=anc0Iainfix =V0asetaconstc0c0aprefix -c1FIainfix &lt;c0anAainfix &lt;=c0c0Iainfix &gt;=anc0">
<label
name="expl:parameter distance"/>
<proof
......@@ -283,7 +283,7 @@
memlimit="0"
obsolete="false"
archived="false">
<result status="valid" time="1.39"/>
<result status="valid" time="1.35"/>
</proof>
</goal>
<goal
......@@ -621,7 +621,7 @@
proved="true"
expanded="true">
<goal
name="WP_parameter distance.9.0"
name="WP_parameter distance.9.1"
locfile="distance/../distance.mlw"
loclnum="46" loccnumb="6" loccnume="14"
expl="assertion"
......@@ -636,7 +636,7 @@
proved="true"
expanded="true">
<goal
name="WP_parameter distance.9.0.0"
name="WP_parameter distance.9.1.1"
locfile="distance/../distance.mlw"
loclnum="46" loccnumb="6" loccnume="14"
expl="assertion"
......@@ -656,7 +656,7 @@
</proof>
</goal>
<goal
name="WP_parameter distance.9.0.1"
name="WP_parameter distance.9.1.2"
locfile="distance/../distance.mlw"
loclnum="46" loccnumb="6" loccnume="14"
expl="assertion"
......
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