Commit 619709ec authored by MARCHE Claude's avatar MARCHE Claude

Bitvector: improved lemmas

parent a10662a0
(* 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 ZArith.
Require Import Rbase.
Require Import BuiltIn.
Require Import ZOdiv.
Require BuiltIn.
Require bool.Bool.
Require int.Int.
Require int.Abs.
Require int.EuclideanDivision.
(* Why3 assumption *)
Definition implb(x:bool) (y:bool): bool := match (x,
y) with
| (true, false) => false
| (_, _) => true
end.
Require int.ComputerDivision.
Parameter pow2: Z -> Z.
......@@ -156,27 +151,22 @@ Axiom pow2_62 : ((pow2 62%Z) = 4611686018427387904%Z).
Axiom pow2_63 : ((pow2 63%Z) = 9223372036854775808%Z).
Axiom Div_pow : forall (x:Z) (i:Z), (((pow2 (i - 1%Z)%Z) <= x)%Z /\
(x < (pow2 i))%Z) -> ((int.EuclideanDivision.div x
(pow2 (i - 1%Z)%Z)) = 1%Z).
(x < (pow2 i))%Z) -> ((ZOdiv x (pow2 (i - 1%Z)%Z)) = 1%Z).
Axiom Div_pow2 : forall (x:Z) (i:Z), (((-(pow2 i))%Z <= x)%Z /\
(x < (-(pow2 (i - 1%Z)%Z))%Z)%Z) -> ((int.EuclideanDivision.div x
(pow2 (i - 1%Z)%Z)) = (-2%Z)%Z).
Axiom Mod_pow2 : forall (x:Z) (i:Z),
((int.EuclideanDivision.mod1 (x + (pow2 i))%Z
2%Z) = (int.EuclideanDivision.mod1 x 2%Z)).
(x < (-(pow2 (i - 1%Z)%Z))%Z)%Z) ->
((ZOdiv x (pow2 (i - 1%Z)%Z)) = (-2%Z)%Z).
Axiom Mod_pow2_gen : forall (x:Z) (i:Z) (k:Z), ((0%Z <= k)%Z /\ (k < i)%Z) ->
((int.EuclideanDivision.mod1 (int.EuclideanDivision.div (x + (pow2 i))%Z
(pow2 k)) 2%Z) = (int.EuclideanDivision.mod1 (int.EuclideanDivision.div x
(pow2 k)) 2%Z)).
((ZOmod (ZOdiv (x + (pow2 i))%Z (pow2 k)) 2%Z) = (ZOmod (ZOdiv x (pow2 k)) 2%Z)).
Parameter size: Z.
Axiom size_positive : (1%Z < size)%Z.
Parameter bv : Type.
Axiom bv : Type.
Parameter bv_WhyType : WhyType bv.
Existing Instance bv_WhyType.
Parameter nth: bv -> Z -> bool.
......@@ -191,7 +181,7 @@ Axiom Nth_one : forall (n:Z), ((0%Z <= n)%Z /\ (n < size)%Z) -> ((nth bvone
n) = true).
(* Why3 assumption *)
Definition eq(v1:bv) (v2:bv): Prop := forall (n:Z), ((0%Z <= n)%Z /\
Definition eq (v1:bv) (v2:bv): Prop := forall (n:Z), ((0%Z <= n)%Z /\
(n < size)%Z) -> ((nth v1 n) = (nth v2 n)).
Axiom extensionality : forall (v1:bv) (v2:bv), (eq v1 v2) -> (v1 = v2).
......@@ -297,19 +287,18 @@ Axiom to_nat_sub_footprint : forall (b1:bv) (b2:bv) (j:Z) (i:Z),
Parameter from_int: Z -> bv.
Axiom nth_from_int_high_even : forall (n:Z) (i:Z), (((i < size)%Z /\
(0%Z <= i)%Z) /\ ((int.EuclideanDivision.mod1 (int.EuclideanDivision.div n
(pow2 i)) 2%Z) = 0%Z)) -> ((nth (from_int n) i) = false).
(0%Z <= i)%Z) /\ ((ZOmod (ZOdiv n (pow2 i)) 2%Z) = 0%Z)) ->
((nth (from_int n) i) = false).
Axiom nth_from_int_high_odd : forall (n:Z) (i:Z), (((i < size)%Z /\
(0%Z <= i)%Z) /\
~ ((int.EuclideanDivision.mod1 (int.EuclideanDivision.div n (pow2 i))
2%Z) = 0%Z)) -> ((nth (from_int n) i) = true).
(0%Z <= i)%Z) /\ ~ ((ZOmod (ZOdiv n (pow2 i)) 2%Z) = 0%Z)) ->
((nth (from_int n) i) = true).
Axiom nth_from_int_low_even : forall (n:Z), ((int.EuclideanDivision.mod1 n
2%Z) = 0%Z) -> ((nth (from_int n) 0%Z) = false).
Axiom nth_from_int_low_even : forall (n:Z), ((ZOmod n 2%Z) = 0%Z) ->
((nth (from_int n) 0%Z) = false).
Axiom nth_from_int_low_odd : forall (n:Z), (~ ((int.EuclideanDivision.mod1 n
2%Z) = 0%Z)) -> ((nth (from_int n) 0%Z) = true).
Axiom nth_from_int_low_odd : forall (n:Z), (~ ((ZOmod n 2%Z) = 0%Z)) ->
((nth (from_int n) 0%Z) = true).
Axiom nth_from_int_0 : forall (i:Z), ((i < size)%Z /\ (0%Z <= i)%Z) ->
((nth (from_int 0%Z) i) = false).
......@@ -324,20 +313,19 @@ Axiom nth_sign_negative : forall (n:Z), (n < 0%Z)%Z -> ((nth (from_int2c n)
Axiom nth_from_int2c_high_even : forall (n:Z) (i:Z),
(((i < (size - 1%Z)%Z)%Z /\ (0%Z <= i)%Z) /\
((int.EuclideanDivision.mod1 (int.EuclideanDivision.div n (pow2 i))
2%Z) = 0%Z)) -> ((nth (from_int2c n) i) = false).
((ZOmod (ZOdiv n (pow2 i)) 2%Z) = 0%Z)) -> ((nth (from_int2c n)
i) = false).
Axiom nth_from_int2c_high_odd : forall (n:Z) (i:Z),
(((i < (size - 1%Z)%Z)%Z /\ (0%Z <= i)%Z) /\
~ ((int.EuclideanDivision.mod1 (int.EuclideanDivision.div n (pow2 i))
2%Z) = 0%Z)) -> ((nth (from_int2c n) i) = true).
~ ((ZOmod (ZOdiv n (pow2 i)) 2%Z) = 0%Z)) -> ((nth (from_int2c n)
i) = true).
Axiom nth_from_int2c_low_even : forall (n:Z), ((int.EuclideanDivision.mod1 n
2%Z) = 0%Z) -> ((nth (from_int2c n) 0%Z) = false).
Axiom nth_from_int2c_low_even : forall (n:Z), ((ZOmod n 2%Z) = 0%Z) ->
((nth (from_int2c n) 0%Z) = false).
Axiom nth_from_int2c_low_odd : forall (n:Z),
(~ ((int.EuclideanDivision.mod1 n 2%Z) = 0%Z)) -> ((nth (from_int2c n)
0%Z) = true).
Axiom nth_from_int2c_low_odd : forall (n:Z), (~ ((ZOmod n 2%Z) = 0%Z)) ->
((nth (from_int2c n) 0%Z) = true).
Axiom nth_from_int2c_0 : forall (i:Z), ((i < size)%Z /\ (0%Z <= i)%Z) ->
((nth (from_int2c 0%Z) i) = false).
......@@ -350,12 +338,12 @@ Ltac ae := why3 "alt-ergo" timelimit 3.
Theorem nth_from_int2c_plus_pow2 : forall (x:Z) (k:Z) (i:Z),
(((0%Z <= k)%Z /\ (k < i)%Z) /\ (k < (size - 1%Z)%Z)%Z) ->
((nth (from_int2c (x + (pow2 i))%Z) k) = (nth (from_int2c x) k)).
(* intros x k i ((h1,h2),h3). *)
intros x k i (h1 & h2).
assert (h: int.EuclideanDivision.mod1
(int.EuclideanDivision.div x (pow2 k)) 2 = 0 \/
int.EuclideanDivision.mod1
(int.EuclideanDivision.div x (pow2 k)) 2 <> 0) by omega.
assert (h: ZOmod (ZOdiv x (pow2 k)) 2 = 0 \/
ZOmod (ZOdiv x (pow2 k)) 2 <> 0)
by omega.
destruct h.
rewrite nth_from_int2c_high_even; intuition.
rewrite nth_from_int2c_high_even; intuition.
......
......@@ -20,7 +20,7 @@
<prover
id="4"
name="Coq"
version="8.3pl4"/>
version="8.4"/>
<prover
id="5"
name="Z3"
......@@ -43,7 +43,7 @@
name="Nth_bw_xor_v1true"
locfile="../bitvector.why"
loclnum="46" loccnumb="8" loccnume="25"
sum="c71da5b123475a135e6d8ba5265cbb06"
sum="7336cb7a88060b0c0c6fc8f8f8b8c222"
proved="true"
expanded="false"
shape="ainfix =anthabw_xorV0V1V2anotbanthV1V2Iainfix =anthV0V2aTrueAainfix &lt;V2asizeAainfix &lt;=c0V2F">
......@@ -53,7 +53,7 @@
memlimit="1000"
obsolete="false"
archived="false">
<result status="valid" time="0.45"/>
<result status="valid" time="0.43"/>
</proof>
<proof
prover="2"
......@@ -76,7 +76,7 @@
name="Nth_bw_xor_v1false"
locfile="../bitvector.why"
loclnum="50" loccnumb="8" loccnume="26"
sum="f63adda1904c454681364cdd93fcaf30"
sum="fd833de41671f9bedf97f3a7c0823b97"
proved="true"
expanded="false"
shape="ainfix =anthabw_xorV0V1V2anthV1V2Iainfix =anthV0V2aFalseAainfix &lt;V2asizeAainfix &lt;=c0V2F">
......@@ -101,7 +101,7 @@
name="Nth_bw_xor_v2true"
locfile="../bitvector.why"
loclnum="54" loccnumb="8" loccnume="25"
sum="b6042669079d548ded8cf4893e7945ea"
sum="6180b5e0ed3f8182962fe71dfbe443ef"
proved="true"
expanded="false"
shape="ainfix =anthabw_xorV0V1V2anotbanthV0V2Iainfix =anthV1V2aTrueAainfix &lt;V2asizeAainfix &lt;=c0V2F">
......@@ -134,7 +134,7 @@
name="Nth_bw_xor_v2false"
locfile="../bitvector.why"
loclnum="58" loccnumb="8" loccnume="26"
sum="ea929e3d5f4b8229d9d0a18a624b3a54"
sum="4eff242a8ed25ab45b66ffcdbba75988"
proved="true"
expanded="false"
shape="ainfix =anthabw_xorV0V1V2anthV0V2Iainfix =anthV1V2aFalseAainfix &lt;V2asizeAainfix &lt;=c0V2F">
......@@ -144,7 +144,7 @@
memlimit="1000"
obsolete="false"
archived="false">
<result status="valid" time="0.46"/>
<result status="valid" time="0.43"/>
</proof>
<proof
prover="2"
......@@ -167,7 +167,7 @@
name="to_nat_of_zero2"
locfile="../bitvector.why"
loclnum="194" loccnumb="8" loccnume="23"
sum="ddd6fee47a8de55bacf25bea4395fa36"
sum="568ace6f04f2832b96a9d7d708822877"
proved="true"
expanded="false"
shape="ainfix =ato_nat_subV0V2c0ato_nat_subV0V1c0Iainfix =anthV0V3aFalseIainfix &gt;V3V1Aainfix &gt;=V2V3FIainfix &gt;=V1c0Aainfix &gt;=V2V1Aainfix &gt;asizeV2F">
......@@ -178,14 +178,14 @@
edited="bitvector_BitVector_to_nat_of_zero2_1.v"
obsolete="false"
archived="false">
<result status="valid" time="0.55"/>
<result status="valid" time="1.25"/>
</proof>
</goal>
<goal
name="to_nat_of_zero"
locfile="../bitvector.why"
loclnum="200" loccnumb="8" loccnume="22"
sum="8fe736188051f512ba9f187a531a79d8"
sum="5204441b513b12fd189f5b5723be6dce"
proved="true"
expanded="false"
shape="ainfix =ato_nat_subV0V2V1c0Iainfix =anthV0V3aFalseIainfix &gt;=V3V1Aainfix &gt;=V2V3FIainfix &gt;=V1c0Aainfix &gt;asizeV2F">
......@@ -196,14 +196,14 @@
edited="bitvector_BitVector_to_nat_of_zero_1.v"
obsolete="false"
archived="false">
<result status="valid" time="1.01"/>
<result status="valid" time="2.17"/>
</proof>
</goal>
<goal
name="to_nat_of_one"
locfile="../bitvector.why"
loclnum="205" loccnumb="8" loccnume="21"
sum="9c6d165a2c55b6b73c6f243c3942c38f"
sum="a0b50b96e3d32d313b4283136c5065f8"
proved="true"
expanded="false"
shape="ainfix =ato_nat_subV0V2V1ainfix -apow2ainfix +ainfix -V2V1c1c1Iainfix =anthV0V3aTrueIainfix &gt;=V3V1Aainfix &gt;=V2V3FIainfix &gt;=V1c0Aainfix &gt;=V2V1Aainfix &gt;asizeV2F">
......@@ -214,14 +214,14 @@
edited="bitvector_BitVector_to_nat_of_one_1.v"
obsolete="false"
archived="false">
<result status="valid" time="0.80"/>
<result status="valid" time="2.97"/>
</proof>
</goal>
<goal
name="to_nat_sub_footprint"
locfile="../bitvector.why"
loclnum="210" loccnumb="8" loccnume="28"
sum="a8a471b72099b8d903352cccd7be8a47"
sum="c599083107b6a84ab728ff34f59936db"
proved="true"
expanded="false"
shape="ainfix =ato_nat_subV0V2V3ato_nat_subV1V2V3Iainfix =anthV0V4anthV1V4Iainfix &lt;=V4V2Aainfix &lt;=V3V4FIainfix &gt;=V3c0Aainfix &gt;asizeV2F">
......@@ -232,14 +232,14 @@
edited="bitvector_BitVector_to_nat_sub_footprint_1.v"
obsolete="false"
archived="false">
<result status="valid" time="4.82"/>
<result status="valid" time="5.89"/>
</proof>
</goal>
<goal
name="nth_from_int_low_even"
locfile="../bitvector.why"
loclnum="297" loccnumb="8" loccnume="29"
sum="e8d132e33846ba499258bc0fde390fff"
sum="04bacb74816b0d244a9015a0b669ac0b"
proved="true"
expanded="false"
shape="ainfix =anthafrom_intV0c0aFalseIainfix =amodV0c2c0F">
......@@ -249,7 +249,7 @@
memlimit="1000"
obsolete="false"
archived="false">
<result status="valid" time="0.55"/>
<result status="valid" time="1.48"/>
</proof>
<proof
prover="2"
......@@ -272,7 +272,7 @@
name="nth_from_int_low_odd"
locfile="../bitvector.why"
loclnum="300" loccnumb="8" loccnume="28"
sum="cda07e2f83d57f22ac0a58678b2fa9fc"
sum="9fc9c890faf1048915efd9d31236c1ad"
proved="true"
expanded="false"
shape="ainfix =anthafrom_intV0c0aTrueIainfix =amodV0c2c0NF">
......@@ -282,7 +282,7 @@
memlimit="1000"
obsolete="false"
archived="false">
<result status="valid" time="0.42"/>
<result status="valid" time="1.38"/>
</proof>
<proof
prover="2"
......@@ -305,7 +305,7 @@
name="nth_from_int_0"
locfile="../bitvector.why"
loclnum="303" loccnumb="8" loccnume="22"
sum="ca23fa34d760d5610183873fdbe590a6"
sum="46282979760ba5663d1e736f5ec896b6"
proved="true"
expanded="false"
shape="ainfix =anthafrom_intc0V0aFalseIainfix &gt;=V0c0Aainfix &gt;asizeV0F">
......@@ -315,7 +315,7 @@
memlimit="1000"
obsolete="false"
archived="false">
<result status="valid" time="0.07"/>
<result status="valid" time="0.90"/>
</proof>
<proof
prover="2"
......@@ -338,7 +338,7 @@
name="nth_from_int2c_low_even"
locfile="../bitvector.why"
loclnum="339" loccnumb="8" loccnume="31"
sum="c7632972b470f7807ac2702aab2261be"
sum="9a061aee2577ccefa208774ae5f70575"
proved="true"
expanded="false"
shape="ainfix =anthafrom_int2cV0c0aFalseIainfix =amodV0c2c0F">
......@@ -371,7 +371,7 @@
name="nth_from_int2c_low_odd"
locfile="../bitvector.why"
loclnum="342" loccnumb="8" loccnume="30"
sum="84501455c438fd68d91f90fefc7dca36"
sum="653f5049d247902176a1fe8f303cdcb5"
proved="true"
expanded="false"
shape="ainfix =anthafrom_int2cV0c0aTrueIainfix =amodV0c2c0NF">
......@@ -404,7 +404,7 @@
name="nth_from_int2c_0"
locfile="../bitvector.why"
loclnum="345" loccnumb="8" loccnume="24"
sum="5e426d131637727afbc0fdff70a8218b"
sum="f1e629e673a3ffa6cb5ee025387e1df9"
proved="true"
expanded="false"
shape="ainfix =anthafrom_int2cc0V0aFalseIainfix &gt;=V0c0Aainfix &gt;asizeV0F">
......@@ -414,7 +414,7 @@
memlimit="1000"
obsolete="false"
archived="false">
<result status="valid" time="0.10"/>
<result status="valid" time="1.16"/>
</proof>
<proof
prover="2"
......@@ -437,7 +437,7 @@
name="nth_from_int2c_plus_pow2"
locfile="../bitvector.why"
loclnum="348" loccnumb="8" loccnume="32"
sum="78502b6411e1a17f564f6d99b951fe80"
sum="c000595eb5c8058ebcf4ca2b6e93b77d"
proved="true"
expanded="false"
shape="ainfix =anthafrom_int2cainfix +V0apow2V2V1anthafrom_int2cV0V1Iainfix &lt;V1ainfix -asizec1Aainfix &lt;V1V2Aainfix &lt;=c0V1F">
......@@ -455,7 +455,7 @@
memlimit="1000"
obsolete="false"
archived="false">
<result status="valid" time="1.24"/>
<result status="valid" time="0.04"/>
</proof>
<proof
prover="4"
......@@ -464,7 +464,7 @@
edited="bitvector_BitVector_nth_from_int2c_plus_pow2_1.v"
obsolete="false"
archived="false">
<result status="valid" time="0.67"/>
<result status="unknown" time="1.13"/>
</proof>
</goal>
</theory>
......@@ -499,7 +499,7 @@
name="Test1"
locfile="../bitvector.why"
loclnum="395" loccnumb="7" loccnume="12"
sum="56e8c8468579d6f4380945fb3c9fca8e"
sum="b28b795364127f5b05d6ce5346d721a3"
proved="true"
expanded="false"
shape="ainfix =anthV0c1aFalseLabw_andabvzeroabvone">
......@@ -509,7 +509,7 @@
memlimit="1000"
obsolete="false"
archived="false">
<result status="valid" time="0.28"/>
<result status="valid" time="0.12"/>
</proof>
<proof
prover="2"
......@@ -540,7 +540,7 @@
name="Test2"
locfile="../bitvector.why"
loclnum="398" loccnumb="7" loccnume="12"
sum="52425401dbaea8d7af03e863f7e9c667"
sum="1e69110b2768982b05a49379d9196bf2"
proved="true"
expanded="false"
shape="ainfix =anthV0c15aTrueLalsrabvonec16">
......@@ -581,7 +581,7 @@
name="Test3"
locfile="../bitvector.why"
loclnum="401" loccnumb="7" loccnume="12"
sum="d52d099ceda270bdc135680430b3acc6"
sum="7afe67fb12b69bbb01b7033038d5616b"
proved="true"
expanded="false"
shape="ainfix =anthV0c16aFalseLalsrabvonec16">
......@@ -630,7 +630,7 @@
name="Test4"
locfile="../bitvector.why"
loclnum="404" loccnumb="7" loccnume="12"
sum="9ef83fc8bd0ef876d45927307922d452"
sum="bd82afc691fafd8f1b116f64d5ea1705"
proved="true"
expanded="false"
shape="ainfix =anthV0c15aTrueLaasrabvonec16">
......@@ -671,7 +671,7 @@
name="Test5"
locfile="../bitvector.why"
loclnum="407" loccnumb="7" loccnume="12"
sum="cdf3bf7e9f39025f2891b2233413aec8"
sum="185d4fba8e50a6d0595472fd5970eaab"
proved="true"
expanded="false"
shape="ainfix =anthV0c16aTrueLaasrabvonec16">
......@@ -712,7 +712,7 @@
name="Test6"
locfile="../bitvector.why"
loclnum="410" loccnumb="7" loccnume="12"
sum="0663963c9010b5439cd2e529cb8de353"
sum="3a1498967809fb3e11708c7ad4ab2a6e"
proved="true"
expanded="false"
shape="ainfix =anthV0c16aFalseLaasralsrabvonec1c16">
......@@ -754,14 +754,14 @@
memlimit="1000"
obsolete="false"
archived="false">
<result status="valid" time="2.90"/>
<result status="valid" time="3.04"/>
</proof>
</goal>
<goal
name="to_nat_0x00000000"
locfile="../bitvector.why"
loclnum="413" loccnumb="7" loccnume="24"
sum="3127b3aaf828caf816a440295d104393"
sum="803826b9cd875f129ef107524ef2202a"
proved="true"
expanded="false"
shape="ainfix =ato_natabvzeroc0">
......@@ -802,7 +802,7 @@
name="to_nat_0x00000001"
locfile="../bitvector.why"
loclnum="416" loccnumb="7" loccnume="24"
sum="9fabb6b81bb81b9dfc97e6dd1eb6497f"
sum="8409f67c98f5413efb9dda2e01c3c375"
proved="false"
expanded="false"
shape="ainfix =ato_natalsrabvonec31c1">
......@@ -851,7 +851,7 @@
name="to_nat_0x00000003"
locfile="../bitvector.why"
loclnum="419" loccnumb="7" loccnume="24"
sum="a98f41d5caf2b85184e001503d010580"
sum="aee82e8d91718e0e59ac287645233c47"
proved="false"
expanded="false"
shape="ainfix =ato_natalsrabvonec30c3">
......@@ -900,7 +900,7 @@
name="to_nat_0x00000007"
locfile="../bitvector.why"
loclnum="422" loccnumb="7" loccnume="24"
sum="13f9d3511b0bb6ff3a0ff133e52d433c"
sum="8cc2533375bd7cd57f78485ab3550893"
proved="false"
expanded="false"
shape="ainfix =ato_natalsrabvonec29c7">
......@@ -949,7 +949,7 @@
name="to_nat_0x0000000F"
locfile="../bitvector.why"
loclnum="425" loccnumb="7" loccnume="24"
sum="45d21b277345cd94895efb381c7197a6"
sum="b115f65998ce0426db1e7bf49decd339"
proved="false"
expanded="false"
shape="ainfix =ato_natalsrabvonec28c15">
......@@ -998,7 +998,7 @@
name="to_nat_0x0000001F"
locfile="../bitvector.why"
loclnum="428" loccnumb="7" loccnume="24"
sum="aa320738e8b487dfd59fddac44aa08a6"
sum="dd64b315c2f8560b7c4440739057fd6e"
proved="false"
expanded="false"
shape="ainfix =ato_natalsrabvonec27c31">
......@@ -1047,7 +1047,7 @@
name="to_nat_0x0000003F"
locfile="../bitvector.why"
loclnum="431" loccnumb="7" loccnume="24"
sum="151a4483622f6aa48ef69e5492933dd0"
sum="5552b10f26a33762560c68361ec370bd"
proved="false"
expanded="false"
shape="ainfix =ato_natalsrabvonec26c63">
......@@ -1096,7 +1096,7 @@
name="to_nat_0x0000007F"
locfile="../bitvector.why"
loclnum="434" loccnumb="7" loccnume="24"
sum="336257515560c2564c97502f5726f16e"
sum="37e916216d0bf82789c202ee41634874"
proved="false"
expanded="false"
shape="ainfix =ato_natalsrabvonec25c127">
......@@ -1145,7 +1145,7 @@
name="to_nat_0x000000FF"
locfile="../bitvector.why"
loclnum="437" loccnumb="7" loccnume="24"
sum="d1902123ff9af3e171ada775d0561f66"
sum="04ec546115851c2ab84fe3ca928a01c3"
proved="false"
expanded="false"
shape="ainfix =ato_natalsrabvonec24c255">
......@@ -1194,7 +1194,7 @@
name="to_nat_0x000001FF"
locfile="../bitvector.why"
loclnum="440" loccnumb="7" loccnume="24"
sum="20fc6f8dad0224a2705136a819214663"
sum="4ecceea1be83b4b48cb6e839f4d381e3"
proved="false"
expanded="false"
shape="ainfix =ato_natalsrabvonec23c511">
......@@ -1243,7 +1243,7 @@
name="to_nat_0x000003FF"
locfile="../bitvector.why"
loclnum="443" loccnumb="7" loccnume="24"
sum="17b5d1cf39fe3b9f61fd5acfcbcf1b82"
sum="6a69ba7192d6714f504eae3ed0da99de"
proved="false"
expanded="false"
shape="ainfix =ato_natalsrabvonec22c1023">
......@@ -1292,7 +1292,7 @@
name="to_nat_0x000007FF"
locfile="../bitvector.why"
loclnum="446" loccnumb="7" loccnume="24"
sum="e29a36c0cf1a8439d1dfc877133f1520"
sum="83a9c9fd5ceb917c0699622503303174"
proved="false"
expanded="false"
shape="ainfix =ato_natalsrabvonec21c2047">
......@@ -1341,7 +1341,7 @@
name="to_nat_0x00000FFF"
locfile="../bitvector.why"
loclnum="449" loccnumb="7" loccnume="24"
sum="0439d8da3a58c4c6d337e32453a1bd0a"
sum="3977724677b0af752ef35529b5252aca"
proved="false"
expanded="false"
shape="ainfix =ato_natalsrabvonec20c4095">
......@@ -1390,7 +1390,7 @@
name="to_nat_0x00001FFF"
locfile="../bitvector.why"
loclnum="452" loccnumb="7" loccnume="24"
sum="038446ef19582f67071ad9c4c305da65"
sum="d1f20abe507fe583a8dc8ee6b7ddd566"
proved="false"
expanded="false"
shape="ainfix =ato_natalsrabvonec19c8191">
......@@ -1439,7 +1439,7 @@
name="to_nat_0x00003FFF"
locfile="../bitvector.why"
loclnum="455" loccnumb="7" loccnume="24"
sum="b352afa361828d71a99a1dc714aebc81"
sum="9fd1e80edfbc2665c31e518bb150b047"
proved="false"
expanded="false"
shape="ainfix =ato_natalsrabvonec18c16383">
......@@ -1488,7 +1488,7 @@
name="to_nat_0x00007FFF"
locfile="../bitvector.why"
loclnum="458" loccnumb="7" loccnume="24"
sum="4f4e1f7551761a63ace2bfe04eb4ab4a"
sum="b997102c577a52cbdbb9853769d637f4"
proved="false"
expanded="false"
shape="ainfix =ato_natalsrabvonec17c32767">
......@@ -1537,7 +1537,7 @@
name="to_nat_0x0000FFFF"
locfile="../bitvector.why"
loclnum="461" loccnumb="7" loccnume="24"
sum="cddaf42a37a0f54caff9937ae44cc3be"
sum="eb4d740251ec61c073f8654e5f67e665"
proved="false"
expanded="false"
shape="ainfix =ato_natalsrabvonec16c65535">
......@@ -1586,7 +1586,7 @@
name="to_nat_0x0001FFFF"
locfile="../bitvector.why"
loclnum="469" loccnumb="7" loccnume="24"
sum="e7efa1cefc9d81eb2e29e3c63cd79313"
sum="0d426282c162ed890106df371cc0b345"
proved="false"
expanded="false"
shape="ainfix =ato_natalsrabvonec15c131071">
......@@ -1635,7 +1635,7 @@
name="to_nat_0x0003FFFF"
locfile="../bitvector.why"
loclnum="472" loccnumb="7" loccnume="24"
sum="d63a9f0dfff91292c36c225969c0c11e"
sum="b038679ed7dd1c99f7e26ed1608ae533"
proved="false"
expanded="false"
shape="ainfix =ato_natalsrabvonec14c262143">
......@@ -1684,7 +1684,7 @@
name="to_nat_0x0007FFFF"
locfile="../bitvector.why"
loclnum="475" loccnumb="7" loccnume="24"
sum="9b09e831bf6be9cf18fd741c27187bd1"
sum="1807a9ef5cadcd8dcbac786e93b05377"
proved="false"
expanded="false"
shape="ainfix =ato_natalsrabvonec13c524287">
......@@ -1733,7 +1733,7 @@
name="to_nat_0x000FFFFF"
locfile="../bitvector.why"
loclnum="478" loccnumb="7" loccnume="24"
sum="38a3a6a2697306871214de95c163c3af"
sum="9dd2859f1b392bd0c7eab98dfa8c95d8"
proved="false"
expanded="false"
shape="ainfix =ato_natalsrabvonec12c1048575">
......@@ -1782,7 +1782,7 @@
name="to_nat_0x00FFFFFF"