*****************************************************************************
                       Semantic Analysis of SPARK Text
                             Examiner Pro Edition

*****************************************************************************



SPARK Simplifier Pro Edition


procedure Skein.Put_64_LSB_First






RRS  The following user defined rule files have been read:
&&&  skein.rlu
SEM  No semantic checks are performed on the rules.


@@@@@@@@@@  VC: procedure_put_64_lsb_first_1.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  for_all(i___1 : integer, dst__index__subtype__1__first <= i___1 
          and i___1 <= dst__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(dst, [i___1]) and element(
          dst, [i___1]) <= spark__unsigned__byte__last)
%%%  Simplified H8 on reading formula in, to give:
     %%%  H8:  for_all(i___1 : integer, src__index__subtype__1__first <= i___1 
          and i___1 <= src__index__subtype__1__last -> 
          spark__unsigned__u64__first <= element(src, [i___1]) and element(src, 
          [i___1]) <= spark__unsigned__u64__last)
-S-  Applied substitution rule put_64_lsb_f_rules(2).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New C1:  byte_count >= - 2147483647
<S>  New C5:  true
-S-  Applied substitution rule put_64_lsb_f_rules(3).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New C2:  byte_count <= 2147483648
<S>  New C6:  true
-S-  Applied substitution rule put_64_lsb_f_rules(4).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New C3:  byte_count >= - 2147483647
-S-  Applied substitution rule put_64_lsb_f_rules(5).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New C4:  byte_count <= 2147483648
***  Proved C1:  byte_count >= - 2147483647
     using hypothesis H11.
***  Proved C5:  true
***  Proved C6:  true
***  Proved C3:  byte_count >= - 2147483647
     using hypothesis H11.
-S-  Applied substitution rule put_64_lsb_f_rules(7).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H6:  dst_offset >= 0
<S>  New H9:  byte_count >= 0
-S-  Applied substitution rule put_64_lsb_f_rules(8).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H7:  dst_offset <= 2147483647
<S>  New H10:  byte_count <= 2147483647
-S-  Applied substitution rule put_64_lsb_f_rules(26).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H5:  for_all(i___1 : integer, dst__index__subtype__1__first <= i___1 
          and i___1 <= dst__index__subtype__1__last -> 0 <= element(dst, [i___1]
          ) and element(dst, [i___1]) <= spark__unsigned__byte__last)
-S-  Applied substitution rule put_64_lsb_f_rules(27).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H5:  for_all(i___1 : integer, dst__index__subtype__1__first <= i___1 
          and i___1 <= dst__index__subtype__1__last -> 0 <= element(dst, [i___1]
          ) and element(dst, [i___1]) <= 255)
-S-  Applied substitution rule put_64_lsb_f_rules(32).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H8:  for_all(i___1 : integer, src__index__subtype__1__first <= i___1 
          and i___1 <= src__index__subtype__1__last -> 0 <= element(src, [i___1]
          ) and element(src, [i___1]) <= spark__unsigned__u64__last)
-S-  Applied substitution rule put_64_lsb_f_rules(33).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H8:  for_all(i___1 : integer, src__index__subtype__1__first <= i___1 
          and i___1 <= src__index__subtype__1__last -> 0 <= element(src, [i___1]
          ) and element(src, [i___1]) <= 18446744073709551615)
***  Proved C2:  byte_count <= 2147483648
     using hypothesis H10.
***  Proved C4:  byte_count <= 2147483648
     using hypothesis H10.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_put_64_lsb_first_2.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  for_all(i___1 : integer, dst__index__subtype__1__first <= i___1 
          and i___1 <= dst__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(dst, [i___1]) and element(
          dst, [i___1]) <= spark__unsigned__byte__last)
%%%  Simplified H8 on reading formula in, to give:
     %%%  H8:  for_all(i___1 : integer, src__index__subtype__1__first <= i___1 
          and i___1 <= src__index__subtype__1__last -> 
          spark__unsigned__u64__first <= element(src, [i___1]) and element(src, 
          [i___1]) <= spark__unsigned__u64__last)
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  1 <= byte_count -> byte_count - 1 >= natural__first and 
          byte_count - 1 <= natural__last
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  1 <= byte_count -> 0 >= natural__first and 0 <= natural__last
-S-  Applied substitution rule put_64_lsb_f_rules(2).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H12:  byte_count >= - 2147483647
<S>  New H16:  true
-S-  Applied substitution rule put_64_lsb_f_rules(3).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H13:  byte_count <= 2147483648
<S>  New H17:  true
-S-  Applied substitution rule put_64_lsb_f_rules(4).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H14:  byte_count >= - 2147483647
-S-  Applied substitution rule put_64_lsb_f_rules(5).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H15:  byte_count <= 2147483648
-S-  Applied substitution rule put_64_lsb_f_rules(7).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H6:  dst_offset >= 0
<S>  New H9:  byte_count >= 0
<S>  New C1:  1 <= byte_count -> byte_count >= 1 and byte_count - 1 <= 
          natural__last
<S>  New C2:  1 <= byte_count -> 0 <= natural__last
-S-  Applied substitution rule put_64_lsb_f_rules(8).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H7:  dst_offset <= 2147483647
<S>  New H10:  byte_count <= 2147483647
<S>  New C1:  1 <= byte_count -> byte_count >= 1 and byte_count <= 2147483648
<S>  New C2:  true
-S-  Applied substitution rule put_64_lsb_f_rules(26).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H5:  for_all(i___1 : integer, dst__index__subtype__1__first <= i___1 
          and i___1 <= dst__index__subtype__1__last -> 0 <= element(dst, [i___1]
          ) and element(dst, [i___1]) <= spark__unsigned__byte__last)
-S-  Applied substitution rule put_64_lsb_f_rules(27).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H5:  for_all(i___1 : integer, dst__index__subtype__1__first <= i___1 
          and i___1 <= dst__index__subtype__1__last -> 0 <= element(dst, [i___1]
          ) and element(dst, [i___1]) <= 255)
-S-  Applied substitution rule put_64_lsb_f_rules(32).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H8:  for_all(i___1 : integer, src__index__subtype__1__first <= i___1 
          and i___1 <= src__index__subtype__1__last -> 0 <= element(src, [i___1]
          ) and element(src, [i___1]) <= spark__unsigned__u64__last)
-S-  Applied substitution rule put_64_lsb_f_rules(33).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H8:  for_all(i___1 : integer, src__index__subtype__1__first <= i___1 
          and i___1 <= src__index__subtype__1__last -> 0 <= element(src, [i___1]
          ) and element(src, [i___1]) <= 18446744073709551615)
***  Proved C1:  1 <= byte_count -> byte_count >= 1 and byte_count <= 2147483648
     using hypotheses H11 & H13.
***  Proved C2:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_put_64_lsb_first_3.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  for_all(i___1 : integer, dst__index__subtype__1__first <= i___1 
          and i___1 <= dst__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(dst, [i___1]) and element(
          dst, [i___1]) <= spark__unsigned__byte__last)
%%%  Simplified H8 on reading formula in, to give:
     %%%  H8:  for_all(i___1 : integer, src__index__subtype__1__first <= i___1 
          and i___1 <= src__index__subtype__1__last -> 
          spark__unsigned__u64__first <= element(src, [i___1]) and element(src, 
          [i___1]) <= spark__unsigned__u64__last)
%%%  Simplified H18 on reading formula in, to give:
     %%%  H18:  1 <= byte_count -> byte_count - 1 >= natural__first and 
          byte_count - 1 <= natural__last
%%%  Simplified H19 on reading formula in, to give:
     %%%  H19:  1 <= byte_count -> 0 >= natural__first and 0 <= natural__last
%%%  Simplified H20 on reading formula in, to give:
     %%%  H20:  1 <= byte_count
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  true
%%%  Simplified C3 on reading formula in, to give:
     %%%  C3:  1 <= byte_count
%%%  Simplified C7 on reading formula in, to give:
     %%%  C7:  - 7 <= src__index__subtype__1__last * 8
%%%  Simplified C8 on reading formula in, to give:
     %%%  C8:  for_all(i___1 : integer, dst__index__subtype__1__first <= i___1 
          and i___1 <= dst__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(dst, [i___1]) and element(
          dst, [i___1]) <= spark__unsigned__byte__last)
%%%  Simplified C11 on reading formula in, to give:
     %%%  C11:  for_all(i___1 : integer, src__index__subtype__1__first <= i___1 
          and i___1 <= src__index__subtype__1__last -> 
          spark__unsigned__u64__first <= element(src, [i___1]) and element(src, 
          [i___1]) <= spark__unsigned__u64__last)
%%%  Simplified C20 on reading formula in, to give:
     %%%  C20:  true
%%%  Simplified C21 on reading formula in, to give:
     %%%  C21:  1 <= byte_count
***  Proved C1:  byte_count >= 1
     using hypothesis H11.
***  Proved C2:  true
***  Proved C3:  1 <= byte_count
     using hypothesis H20.
***  Proved C4:  0 < byte_count
     using hypothesis H20.
***  Proved C5:  byte_count <= (src__index__subtype__1__last + 1) * 8
     using hypothesis H4.
***  Proved C6:  0 < (src__index__subtype__1__last + 1) * 8
     using hypotheses H4 & H20.
***  Proved C8:  for_all(i___1 : integer, dst__index__subtype__1__first <= 
          i___1 and i___1 <= dst__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(dst, [i___1]) and element(
          dst, [i___1]) <= spark__unsigned__byte__last)
     using hypothesis H5.
***  Proved C9:  dst_offset >= natural__first
     using hypothesis H6.
***  Proved C10:  dst_offset <= natural__last
     using hypothesis H7.
***  Proved C11:  for_all(i___1 : integer, src__index__subtype__1__first <= 
          i___1 and i___1 <= src__index__subtype__1__last -> 
          spark__unsigned__u64__first <= element(src, [i___1]) and element(src, 
          [i___1]) <= spark__unsigned__u64__last)
     using hypothesis H8.
***  Proved C12:  byte_count >= natural__first
     using hypothesis H9.
***  Proved C13:  byte_count <= natural__last
     using hypothesis H10.
***  Proved C14:  dst__index__subtype__1__first = 0
     using hypothesis H1.
***  Proved C15:  src__index__subtype__1__first = 0
     using hypothesis H2.
***  Proved C16:  dst__index__subtype__1__last >= dst_offset + (byte_count - 1)
     using hypothesis H3.
***  Proved C17:  byte_count <= (src__index__subtype__1__last + 1) * 8
     using hypothesis H4.
***  Proved C19:  0 <= natural__last
     using hypotheses H10 & H20.
***  Proved C20:  true
***  Proved C21:  1 <= byte_count
     using hypothesis H20.
-S-  Applied substitution rule put_64_lsb_f_rules(7).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H6:  dst_offset >= 0
<S>  New H9:  byte_count >= 0
<S>  New H18:  1 <= byte_count -> byte_count >= 1 and byte_count - 1 <= 
          natural__last
<S>  New H19:  1 <= byte_count -> 0 <= natural__last
<S>  New C18:  true
***  Proved C18:  true
+++  Using "A->B, A |- B" on hypotheses H18 & H20 yields a new hypothesis:
     +++  H21:  byte_count >= 1 and byte_count - 1 <= natural__last
+++  Using "A->B, A |- B" on hypotheses H19 & H20 yields a new hypothesis:
     +++  H22:  0 <= natural__last
-S-  Applied substitution rule put_64_lsb_f_rules(2).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H12:  byte_count >= - 2147483647
<S>  New H16:  true
-S-  Applied substitution rule put_64_lsb_f_rules(3).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H13:  byte_count <= 2147483648
<S>  New H17:  true
-S-  Applied substitution rule put_64_lsb_f_rules(4).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H14:  byte_count >= - 2147483647
-S-  Applied substitution rule put_64_lsb_f_rules(5).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H15:  byte_count <= 2147483648
-S-  Applied substitution rule put_64_lsb_f_rules(8).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H7:  dst_offset <= 2147483647
<S>  New H10:  byte_count <= 2147483647
<S>  New H18:  1 <= byte_count -> byte_count >= 1 and byte_count <= 2147483648
<S>  New H19:  true
<S>  New H21:  byte_count >= 1 and byte_count <= 2147483648
<S>  New H22:  true
-S-  Applied substitution rule put_64_lsb_f_rules(26).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H5:  for_all(i___1 : integer, dst__index__subtype__1__first <= i___1 
          and i___1 <= dst__index__subtype__1__last -> 0 <= element(dst, [i___1]
          ) and element(dst, [i___1]) <= spark__unsigned__byte__last)
-S-  Applied substitution rule put_64_lsb_f_rules(27).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H5:  for_all(i___1 : integer, dst__index__subtype__1__first <= i___1 
          and i___1 <= dst__index__subtype__1__last -> 0 <= element(dst, [i___1]
          ) and element(dst, [i___1]) <= 255)
-S-  Applied substitution rule put_64_lsb_f_rules(32).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H8:  for_all(i___1 : integer, src__index__subtype__1__first <= i___1 
          and i___1 <= src__index__subtype__1__last -> 0 <= element(src, [i___1]
          ) and element(src, [i___1]) <= spark__unsigned__u64__last)
-S-  Applied substitution rule put_64_lsb_f_rules(33).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H8:  for_all(i___1 : integer, src__index__subtype__1__first <= i___1 
          and i___1 <= src__index__subtype__1__last -> 0 <= element(src, [i___1]
          ) and element(src, [i___1]) <= 18446744073709551615)
---  Eliminated hypothesis H16 (true-hypothesis).
---  Eliminated hypothesis H17 (true-hypothesis).
---  Eliminated hypothesis H19 (true-hypothesis).
---  Eliminated hypothesis H22 (true-hypothesis).
---  Eliminated hypothesis H14 (duplicate of H12).
---  Eliminated hypothesis H15 (duplicate of H13).
---  Eliminated hypothesis H20 (duplicate of H11).
>>>  Using "A->B, A |- B" on H18, given H20, we simplify the former to:
     >>>  H18:  byte_count >= 1 and byte_count <= 2147483648
---  Eliminated hypothesis H9 (redundant, given H11).
---  Eliminated hypothesis H12 (redundant, given H11).
---  Eliminated hypothesis H13 (redundant, given H10).
***  Proved C7:  - 7 <= src__index__subtype__1__last * 8
     via its standard form, which is:
     Std.Fm C7:  8 * src__index__subtype__1__last > - 8
     using hypotheses H4 & H11.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_put_64_lsb_first_4.  @@@@@@@@@@
%%%  Simplified H8 on reading formula in, to give:
     %%%  H8:  for_all(i___1 : integer, dst__index__subtype__1__first <= i___1 
          and i___1 <= dst__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(dst, [i___1]) and element(
          dst, [i___1]) <= spark__unsigned__byte__last)
%%%  Simplified H11 on reading formula in, to give:
     %%%  H11:  for_all(i___1 : integer, src__index__subtype__1__first <= i___1 
          and i___1 <= src__index__subtype__1__last -> 
          spark__unsigned__u64__first <= element(src, [i___1]) and element(src, 
          [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H17 has been replaced by "true".  (It is already present, as H5)
          .
---  Hypothesis H20 has been replaced by "true".  (It is already present, as H2)
          .
---  Hypothesis H21 has been replaced by "true".  (It is already present, as H3)
          .
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  true
---  Hypothesis H34 has been replaced by "true".  (It is already present, as 
          H23).
---  Hypothesis H37 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H46 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H47 has been replaced by "true".  (It is already present, as 
          H45).
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  loop__1__n >= - 1
%%%  Simplified C8 on reading formula in, to give:
     %%%  C8:  for_all(i___1 : integer, dst__index__subtype__1__first <= i___1 
          and i___1 <= dst__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(update(dst, [dst_offset + 
          loop__1__n], bit__and(spark__unsigned__shift_right_64(element(src, [
          loop__1__n div 8]), 8 * (loop__1__n mod 8)), 255)), [i___1]) and 
          element(update(dst, [dst_offset + loop__1__n], bit__and(
          spark__unsigned__shift_right_64(element(src, [loop__1__n div 8]), 8 * 
          (loop__1__n mod 8)), 255)), [i___1]) <= spark__unsigned__byte__last)
%%%  Simplified C11 on reading formula in, to give:
     %%%  C11:  for_all(i___1 : integer, src__index__subtype__1__first <= i___1 
          and i___1 <= src__index__subtype__1__last -> 
          spark__unsigned__u64__first <= element(src, [i___1]) and element(src, 
          [i___1]) <= spark__unsigned__u64__last)
%%%  Simplified C20 on reading formula in, to give:
     %%%  C20:  loop__1__n >= - 1
***  Proved C1:  byte_count >= 1
     using hypothesis H1.
***  Proved C2:  loop__1__n >= - 1
     using hypothesis H2.
***  Proved C4:  loop__1__n + 1 < byte_count
     using hypotheses H3 & H48.
***  Proved C5:  byte_count <= (src__index__subtype__1__last + 1) * 8
     using hypothesis H5.
***  Proved C8:  for_all(i___1 : integer, dst__index__subtype__1__first <= 
          i___1 and i___1 <= dst__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(update(dst, [dst_offset + 
          loop__1__n], bit__and(spark__unsigned__shift_right_64(element(src, [
          loop__1__n div 8]), 8 * (loop__1__n mod 8)), 255)), [i___1]) and 
          element(update(dst, [dst_offset + loop__1__n], bit__and(
          spark__unsigned__shift_right_64(element(src, [loop__1__n div 8]), 8 * 
          (loop__1__n mod 8)), 255)), [i___1]) <= spark__unsigned__byte__last)
     using hypotheses H8, H38, H39, H44 & H45.
***  Proved C9:  dst_offset >= natural__first
     using hypothesis H9.
***  Proved C10:  dst_offset <= natural__last
     using hypothesis H10.
***  Proved C11:  for_all(i___1 : integer, src__index__subtype__1__first <= 
          i___1 and i___1 <= src__index__subtype__1__last -> 
          spark__unsigned__u64__first <= element(src, [i___1]) and element(src, 
          [i___1]) <= spark__unsigned__u64__last)
     using hypothesis H11.
***  Proved C12:  byte_count >= natural__first
     using hypothesis H12.
***  Proved C13:  byte_count <= natural__last
     using hypothesis H13.
***  Proved C14:  dst__index__subtype__1__first = 0
     using hypothesis H14.
***  Proved C15:  src__index__subtype__1__first = 0
     using hypothesis H15.
***  Proved C16:  dst__index__subtype__1__last >= dst_offset + (byte_count - 1)
     using hypothesis H16.
***  Proved C17:  byte_count <= (src__index__subtype__1__last + 1) * 8
     using hypothesis H5.
***  Proved C18:  loop__1__n + 1 >= natural__first
     using hypothesis H18.
***  Proved C20:  loop__1__n >= - 1
     using hypothesis H2.
-S-  Applied substitution rule put_64_lsb_f_rules(8).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H10:  dst_offset <= 2147483647
<S>  New H13:  byte_count <= 2147483647
<S>  New H19:  loop__1__n <= 2147483647
<S>  New C19:  loop__1__n <= 2147483646
***  Proved C19:  loop__1__n <= 2147483646
     using hypotheses H4 & H13.
>>>  Restructured hypothesis H48 into:
     >>>  H48:  loop__1__n <> byte_count - 1
-S-  Applied substitution rule put_64_lsb_f_rules(4).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H26:  8 * (loop__1__n mod 8) >= - 2147483648
<S>  New H28:  loop__1__n mod 8 >= - 2147483648
<S>  New H35:  loop__1__n div 8 >= - 2147483648
<S>  New H40:  dst_offset + loop__1__n >= - 2147483648
-S-  Applied substitution rule put_64_lsb_f_rules(5).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H27:  8 * (loop__1__n mod 8) <= 2147483647
<S>  New H29:  loop__1__n mod 8 <= 2147483647
<S>  New H36:  loop__1__n div 8 <= 2147483647
<S>  New H41:  dst_offset + loop__1__n <= 2147483647
-S-  Applied substitution rule put_64_lsb_f_rules(7).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H9:  dst_offset >= 0
<S>  New H12:  byte_count >= 0
<S>  New H18:  loop__1__n >= 0
-S-  Applied substitution rule put_64_lsb_f_rules(20).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__first by:
          0.
<S>  New H31:  element(src, [loop__1__n div 8]) >= 0
<S>  New H42:  spark__unsigned__shift_right_64(element(src, [loop__1__n div 8])
          , 8 * (loop__1__n mod 8)) >= 0
-S-  Applied substitution rule put_64_lsb_f_rules(21).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__last by:
          18446744073709551615.
<S>  New H32:  element(src, [loop__1__n div 8]) <= 18446744073709551615
<S>  New H43:  spark__unsigned__shift_right_64(element(src, [loop__1__n div 8])
          , 8 * (loop__1__n mod 8)) <= 18446744073709551615
-S-  Applied substitution rule put_64_lsb_f_rules(26).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H8:  for_all(i___1 : integer, dst__index__subtype__1__first <= i___1 
          and i___1 <= dst__index__subtype__1__last -> 0 <= element(dst, [i___1]
          ) and element(dst, [i___1]) <= spark__unsigned__byte__last)
<S>  New H44:  bit__and(spark__unsigned__shift_right_64(element(src, [
          loop__1__n div 8]), 8 * (loop__1__n mod 8)), 255) >= 0
-S-  Applied substitution rule put_64_lsb_f_rules(27).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H45:  bit__and(spark__unsigned__shift_right_64(element(src, [
          loop__1__n div 8]), 8 * (loop__1__n mod 8)), 255) <= 255
<S>  New H8:  for_all(i___1 : integer, dst__index__subtype__1__first <= i___1 
          and i___1 <= dst__index__subtype__1__last -> 0 <= element(dst, [i___1]
          ) and element(dst, [i___1]) <= 255)
-S-  Applied substitution rule put_64_lsb_f_rules(32).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H11:  for_all(i___1 : integer, src__index__subtype__1__first <= i___1 
          and i___1 <= src__index__subtype__1__last -> 0 <= element(src, [i___1]
          ) and element(src, [i___1]) <= spark__unsigned__u64__last)
-S-  Applied substitution rule put_64_lsb_f_rules(33).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H11:  for_all(i___1 : integer, src__index__subtype__1__first <= i___1 
          and i___1 <= src__index__subtype__1__last -> 0 <= element(src, [i___1]
          ) and element(src, [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule put_64_lsb_f_rules(38).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__first by:
          0.
<S>  New H24:  8 * (loop__1__n mod 8) >= 0
-S-  Applied substitution rule put_64_lsb_f_rules(39).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__last by:
          64.
<S>  New H25:  8 * (loop__1__n mod 8) <= 64
%%%  Hypotheses H3 & H48 together imply that
          loop__1__n < byte_count - 1.
     H3 & H48 have therefore been deleted and a new H49 added to this effect.
%%%  Simplified H44 further, to give:
     %%%  H44:  spark__unsigned__shift_right_64(element(src, [loop__1__n div 8])
          , 8 * (loop__1__n mod 8)) mod 256 >= 0
%%%  Simplified H45 further, to give:
     %%%  H45:  spark__unsigned__shift_right_64(element(src, [loop__1__n div 8])
          , 8 * (loop__1__n mod 8)) mod 256 <= 255
***  Proved C3:  loop__1__n + 1 <= byte_count - 1
     via its standard form, which is:
     Std.Fm C3:  byte_count - loop__1__n > 1
     using hypothesis H49.
***  Proved C21:  loop__1__n + 1 <= byte_count - 1
     via its standard form, which is:
     Std.Fm C21:  byte_count - loop__1__n > 1
     using hypothesis H49.
---  Eliminated hypothesis H17 (true-hypothesis).
---  Eliminated hypothesis H20 (true-hypothesis).
---  Eliminated hypothesis H21 (true-hypothesis).
---  Eliminated hypothesis H30 (true-hypothesis).
---  Eliminated hypothesis H34 (true-hypothesis).
---  Eliminated hypothesis H37 (true-hypothesis).
---  Eliminated hypothesis H46 (true-hypothesis).
---  Eliminated hypothesis H47 (true-hypothesis).
---  Eliminated hypothesis H18 (duplicate of H2).
---  Eliminated hypothesis H7 (duplicate of H6).
---  Eliminated hypothesis H1 (redundant, given H2 & H49).
---  Eliminated hypothesis H4 (redundant, given H49).
---  Eliminated hypothesis H6 (redundant, given H5 & H49).
---  Eliminated hypothesis H12 (redundant, given H2 & H49).
---  Eliminated hypothesis H19 (redundant, given H13 & H49).
---  Eliminated hypothesis H26 (redundant, given H24).
---  Eliminated hypothesis H27 (redundant, given H25).
---  Eliminated hypothesis H28 (redundant, given H24).
---  Eliminated hypothesis H29 (redundant, given H25).
---  Eliminated hypothesis H35 (redundant, given H22).
---  Eliminated hypothesis H39 (redundant, given H16 & H49).
---  Eliminated hypothesis H40 (redundant, given H14 & H38).
---  Eliminated conclusion C7, which is a duplicate of C6.
***  Proved C6:  loop__1__n + 1 < (src__index__subtype__1__last + 1) * 8
     via its standard form, which is:
     Std.Fm C6:  - loop__1__n + 8 * src__index__subtype__1__last > - 7
     using hypotheses H5 & H49.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_put_64_lsb_first_5.  @@@@@@@@@@
%%%  Simplified H8 on reading formula in, to give:
     %%%  H8:  for_all(i___1 : integer, dst__index__subtype__1__first <= i___1 
          and i___1 <= dst__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(dst, [i___1]) and element(
          dst, [i___1]) <= spark__unsigned__byte__last)
%%%  Simplified H11 on reading formula in, to give:
     %%%  H11:  for_all(i___1 : integer, src__index__subtype__1__first <= i___1 
          and i___1 <= src__index__subtype__1__last -> 
          spark__unsigned__u64__first <= element(src, [i___1]) and element(src, 
          [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H17 has been replaced by "true".  (It is already present, as H5)
          .
---  Hypothesis H20 has been replaced by "true".  (It is already present, as H2)
          .
---  Hypothesis H21 has been replaced by "true".  (It is already present, as H3)
          .
-S-  Applied substitution rule put_64_lsb_f_rules(7).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H9:  dst_offset >= 0
<S>  New H12:  byte_count >= 0
<S>  New H18:  loop__1__n >= 0
-S-  Applied substitution rule put_64_lsb_f_rules(8).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H10:  dst_offset <= 2147483647
<S>  New H13:  byte_count <= 2147483647
<S>  New H19:  loop__1__n <= 2147483647
-S-  Applied substitution rule put_64_lsb_f_rules(26).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H8:  for_all(i___1 : integer, dst__index__subtype__1__first <= i___1 
          and i___1 <= dst__index__subtype__1__last -> 0 <= element(dst, [i___1]
          ) and element(dst, [i___1]) <= spark__unsigned__byte__last)
-S-  Applied substitution rule put_64_lsb_f_rules(27).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H8:  for_all(i___1 : integer, dst__index__subtype__1__first <= i___1 
          and i___1 <= dst__index__subtype__1__last -> 0 <= element(dst, [i___1]
          ) and element(dst, [i___1]) <= 255)
-S-  Applied substitution rule put_64_lsb_f_rules(32).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H11:  for_all(i___1 : integer, src__index__subtype__1__first <= i___1 
          and i___1 <= src__index__subtype__1__last -> 0 <= element(src, [i___1]
          ) and element(src, [i___1]) <= spark__unsigned__u64__last)
-S-  Applied substitution rule put_64_lsb_f_rules(33).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H11:  for_all(i___1 : integer, src__index__subtype__1__first <= i___1 
          and i___1 <= src__index__subtype__1__last -> 0 <= element(src, [i___1]
          ) and element(src, [i___1]) <= 18446744073709551615)
---  Eliminated hypothesis H17 (true-hypothesis).
---  Eliminated hypothesis H20 (true-hypothesis).
---  Eliminated hypothesis H21 (true-hypothesis).
---  Eliminated hypothesis H18 (duplicate of H2).
---  Eliminated hypothesis H4 (duplicate of H3).
---  Eliminated hypothesis H7 (duplicate of H6).
---  Eliminated hypothesis H12 (redundant, given H1).
---  Eliminated hypothesis H19 (redundant, given H3 & H13).
***  Proved C1:  loop__1__n div 8 >= 0
     using hypotheses H2 & H14.
***  Proved C2:  loop__1__n div 8 <= src__index__subtype__1__last
     using hypothesis H7.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_put_64_lsb_first_6.  @@@@@@@@@@
%%%  Simplified H8 on reading formula in, to give:
     %%%  H8:  for_all(i___1 : integer, dst__index__subtype__1__first <= i___1 
          and i___1 <= dst__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(dst, [i___1]) and element(
          dst, [i___1]) <= spark__unsigned__byte__last)
%%%  Simplified H11 on reading formula in, to give:
     %%%  H11:  for_all(i___1 : integer, src__index__subtype__1__first <= i___1 
          and i___1 <= src__index__subtype__1__last -> 
          spark__unsigned__u64__first <= element(src, [i___1]) and element(src, 
          [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H17 has been replaced by "true".  (It is already present, as H5)
          .
---  Hypothesis H20 has been replaced by "true".  (It is already present, as H2)
          .
---  Hypothesis H21 has been replaced by "true".  (It is already present, as H3)
          .
%%%  Simplified C7 on reading formula in, to give:
     %%%  C7:  true
%%%  Simplified C14 on reading formula in, to give:
     %%%  C14:  true
***  Proved C7:  true
***  Proved C10:  loop__1__n div 8 >= src__index__subtype__1__first
     using hypotheses H15 & H22.
***  Proved C11:  loop__1__n div 8 <= src__index__subtype__1__last
     using hypothesis H23.
***  Proved C14:  true
***  Proved C16:  dst_offset + loop__1__n <= dst__index__subtype__1__last
     using hypotheses H3 & H16.
-S-  Applied substitution rule put_64_lsb_f_rules(38).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__first by:
          0.
<S>  New C1:  8 * (loop__1__n mod 8) >= 0
-S-  Applied substitution rule put_64_lsb_f_rules(39).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__last by:
          64.
<S>  New C2:  8 * (loop__1__n mod 8) <= 64
-S-  Applied substitution rule put_64_lsb_f_rules(4).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New C3:  8 * (loop__1__n mod 8) >= - 2147483648
<S>  New C5:  loop__1__n mod 8 >= - 2147483648
<S>  New C12:  loop__1__n div 8 >= - 2147483648
<S>  New C17:  dst_offset + loop__1__n >= - 2147483648
-S-  Applied substitution rule put_64_lsb_f_rules(5).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New C4:  8 * (loop__1__n mod 8) <= 2147483647
<S>  New C6:  loop__1__n mod 8 <= 2147483647
<S>  New C13:  loop__1__n div 8 <= 2147483647
<S>  New C18:  dst_offset + loop__1__n <= 2147483647
-S-  Applied substitution rule put_64_lsb_f_rules(20).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__first by:
          0.
<S>  New C8:  element(src, [loop__1__n div 8]) >= 0
-S-  Applied substitution rule put_64_lsb_f_rules(21).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__last by:
          18446744073709551615.
<S>  New C9:  element(src, [loop__1__n div 8]) <= 18446744073709551615
***  Proved C5:  loop__1__n mod 8 >= - 2147483648
***  Proved C12:  loop__1__n div 8 >= - 2147483648
     using hypothesis H22.
***  Proved C6:  loop__1__n mod 8 <= 2147483647
-S-  Applied substitution rule put_64_lsb_f_rules(7).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H9:  dst_offset >= 0
<S>  New H12:  byte_count >= 0
<S>  New H18:  loop__1__n >= 0
-S-  Applied substitution rule put_64_lsb_f_rules(8).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H10:  dst_offset <= 2147483647
<S>  New H13:  byte_count <= 2147483647
<S>  New H19:  loop__1__n <= 2147483647
-S-  Applied substitution rule put_64_lsb_f_rules(26).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H8:  for_all(i___1 : integer, dst__index__subtype__1__first <= i___1 
          and i___1 <= dst__index__subtype__1__last -> 0 <= element(dst, [i___1]
          ) and element(dst, [i___1]) <= spark__unsigned__byte__last)
-S-  Applied substitution rule put_64_lsb_f_rules(27).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H8:  for_all(i___1 : integer, dst__index__subtype__1__first <= i___1 
          and i___1 <= dst__index__subtype__1__last -> 0 <= element(dst, [i___1]
          ) and element(dst, [i___1]) <= 255)
-S-  Applied substitution rule put_64_lsb_f_rules(32).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H11:  for_all(i___1 : integer, src__index__subtype__1__first <= i___1 
          and i___1 <= src__index__subtype__1__last -> 0 <= element(src, [i___1]
          ) and element(src, [i___1]) <= spark__unsigned__u64__last)
-S-  Applied substitution rule put_64_lsb_f_rules(33).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H11:  for_all(i___1 : integer, src__index__subtype__1__first <= i___1 
          and i___1 <= src__index__subtype__1__last -> 0 <= element(src, [i___1]
          ) and element(src, [i___1]) <= 18446744073709551615)
***  Proved C15:  dst_offset + loop__1__n >= dst__index__subtype__1__first
     using hypotheses H2, H9 & H14.
***  Proved C17:  dst_offset + loop__1__n >= - 2147483648
     using hypotheses H2 & H9.
***  Proved C8:  element(src, [loop__1__n div 8]) >= 0
     using hypotheses H11, H15, H22 & H23.
***  Proved C9:  element(src, [loop__1__n div 8]) <= 18446744073709551615
     using hypotheses H11, H15, H22 & H23.
---  Eliminated hypothesis H17 (true-hypothesis).
---  Eliminated hypothesis H20 (true-hypothesis).
---  Eliminated hypothesis H21 (true-hypothesis).
---  Eliminated hypothesis H18 (duplicate of H2).
---  Eliminated hypothesis H4 (duplicate of H3).
---  Eliminated hypothesis H7 (duplicate of H6).
---  Eliminated hypothesis H12 (redundant, given H1).
---  Eliminated hypothesis H19 (redundant, given H3 & H13).
***  Proved C1:  8 * (loop__1__n mod 8) >= 0
***  Proved C2:  8 * (loop__1__n mod 8) <= 64
***  Proved C3:  8 * (loop__1__n mod 8) >= - 2147483648
***  Proved C4:  8 * (loop__1__n mod 8) <= 2147483647
***  Proved C13:  loop__1__n div 8 <= 2147483647
     using hypotheses H1, H3, H9 & H16.
***  Proved C18:  dst_offset + loop__1__n <= 2147483647
     using hypotheses H3 & H16.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_put_64_lsb_first_7.  @@@@@@@@@@
%%%  Simplified H8 on reading formula in, to give:
     %%%  H8:  for_all(i___1 : integer, dst__index__subtype__1__first <= i___1 
          and i___1 <= dst__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(dst, [i___1]) and element(
          dst, [i___1]) <= spark__unsigned__byte__last)
%%%  Simplified H11 on reading formula in, to give:
     %%%  H11:  for_all(i___1 : integer, src__index__subtype__1__first <= i___1 
          and i___1 <= src__index__subtype__1__last -> 
          spark__unsigned__u64__first <= element(src, [i___1]) and element(src, 
          [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H17 has been replaced by "true".  (It is already present, as H5)
          .
---  Hypothesis H20 has been replaced by "true".  (It is already present, as H2)
          .
---  Hypothesis H21 has been replaced by "true".  (It is already present, as H3)
          .
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  true
---  Hypothesis H34 has been replaced by "true".  (It is already present, as 
          H23).
---  Hypothesis H37 has been replaced by "true".  (It is already present, as 
          H30).
-S-  Applied substitution rule put_64_lsb_f_rules(26).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H8:  for_all(i___1 : integer, dst__index__subtype__1__first <= i___1 
          and i___1 <= dst__index__subtype__1__last -> 0 <= element(dst, [i___1]
          ) and element(dst, [i___1]) <= spark__unsigned__byte__last)
<S>  New C1:  bit__and(spark__unsigned__shift_right_64(element(src, [loop__1__n 
          div 8]), 8 * (loop__1__n mod 8)), 255) >= 0
<S>  New C3:  bit__and(spark__unsigned__shift_right_64(element(src, [loop__1__n 
          div 8]), 8 * (loop__1__n mod 8)), 255) >= 0
-S-  Applied substitution rule put_64_lsb_f_rules(27).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H8:  for_all(i___1 : integer, dst__index__subtype__1__first <= i___1 
          and i___1 <= dst__index__subtype__1__last -> 0 <= element(dst, [i___1]
          ) and element(dst, [i___1]) <= 255)
<S>  New C2:  bit__and(spark__unsigned__shift_right_64(element(src, [loop__1__n 
          div 8]), 8 * (loop__1__n mod 8)), 255) <= 255
<S>  New C4:  bit__and(spark__unsigned__shift_right_64(element(src, [loop__1__n 
          div 8]), 8 * (loop__1__n mod 8)), 255) <= 255
-S-  Applied substitution rule put_64_lsb_f_rules(4).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H26:  8 * (loop__1__n mod 8) >= - 2147483648
<S>  New H28:  loop__1__n mod 8 >= - 2147483648
<S>  New H35:  loop__1__n div 8 >= - 2147483648
<S>  New H40:  dst_offset + loop__1__n >= - 2147483648
-S-  Applied substitution rule put_64_lsb_f_rules(5).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H27:  8 * (loop__1__n mod 8) <= 2147483647
<S>  New H29:  loop__1__n mod 8 <= 2147483647
<S>  New H36:  loop__1__n div 8 <= 2147483647
<S>  New H41:  dst_offset + loop__1__n <= 2147483647
-S-  Applied substitution rule put_64_lsb_f_rules(7).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H9:  dst_offset >= 0
<S>  New H12:  byte_count >= 0
<S>  New H18:  loop__1__n >= 0
-S-  Applied substitution rule put_64_lsb_f_rules(8).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H10:  dst_offset <= 2147483647
<S>  New H13:  byte_count <= 2147483647
<S>  New H19:  loop__1__n <= 2147483647
-S-  Applied substitution rule put_64_lsb_f_rules(20).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__first by:
          0.
<S>  New H31:  element(src, [loop__1__n div 8]) >= 0
<S>  New H42:  spark__unsigned__shift_right_64(element(src, [loop__1__n div 8])
          , 8 * (loop__1__n mod 8)) >= 0
-S-  Applied substitution rule put_64_lsb_f_rules(21).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__last by:
          18446744073709551615.
<S>  New H32:  element(src, [loop__1__n div 8]) <= 18446744073709551615
<S>  New H43:  spark__unsigned__shift_right_64(element(src, [loop__1__n div 8])
          , 8 * (loop__1__n mod 8)) <= 18446744073709551615
-S-  Applied substitution rule put_64_lsb_f_rules(32).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H11:  for_all(i___1 : integer, src__index__subtype__1__first <= i___1 
          and i___1 <= src__index__subtype__1__last -> 0 <= element(src, [i___1]
          ) and element(src, [i___1]) <= spark__unsigned__u64__last)
-S-  Applied substitution rule put_64_lsb_f_rules(33).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H11:  for_all(i___1 : integer, src__index__subtype__1__first <= i___1 
          and i___1 <= src__index__subtype__1__last -> 0 <= element(src, [i___1]
          ) and element(src, [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule put_64_lsb_f_rules(38).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__first by:
          0.
<S>  New H24:  8 * (loop__1__n mod 8) >= 0
-S-  Applied substitution rule put_64_lsb_f_rules(39).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__last by:
          64.
<S>  New H25:  8 * (loop__1__n mod 8) <= 64
***  Proved C1:  bit__and(spark__unsigned__shift_right_64(element(src, [
          loop__1__n div 8]), 8 * (loop__1__n mod 8)), 255) >= 0
***  Proved C3:  bit__and(spark__unsigned__shift_right_64(element(src, [
          loop__1__n div 8]), 8 * (loop__1__n mod 8)), 255) >= 0
***  Proved C2:  bit__and(spark__unsigned__shift_right_64(element(src, [
          loop__1__n div 8]), 8 * (loop__1__n mod 8)), 255) <= 255
***  Proved C4:  bit__and(spark__unsigned__shift_right_64(element(src, [
          loop__1__n div 8]), 8 * (loop__1__n mod 8)), 255) <= 255
***  PROVED VC.


@@@@@@@@@@  VC: procedure_put_64_lsb_first_8.  @@@@@@@@@@
***  Proved C1:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_put_64_lsb_first_9.  @@@@@@@@@@
***  Proved C1:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_put_64_lsb_first_10.  @@@@@@@@@@
***  Proved C1:  true
***  PROVED VC.

