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

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



SPARK Simplifier Pro Edition


procedure Skein.Get_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_get_64_lsb_first_1.  @@@@@@@@@@
%%%  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__byte__first <= element(src, [i___1]) and element(
          src, [i___1]) <= spark__unsigned__byte__last)
-S-  Applied substitution rule get_64_lsb_f_rules(43).
     This was achieved by replacing all occurrences of 
          spark__crypto__word_count_t__first by:
          0.
<S>  New C1:  true
-S-  Applied substitution rule get_64_lsb_f_rules(44).
     This was achieved by replacing all occurrences of 
          spark__crypto__word_count_t__last by:
          268435455.
<S>  New C2:  true
***  Proved C1:  true
***  Proved C2:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_64_lsb_first_2.  @@@@@@@@@@
%%%  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__byte__first <= element(src, [i___1]) and element(
          src, [i___1]) <= spark__unsigned__byte__last)
***  Proved C1:  src_offset >= natural__first
     using hypothesis H9.
***  Proved C2:  src_offset <= natural__last
     using hypothesis H10.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_64_lsb_first_3.  @@@@@@@@@@
%%%  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__byte__first <= element(src, [i___1]) and element(
          src, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H13 has been replaced by "true".  (It is already present, as H9)
          .
---  Hypothesis H14 has been replaced by "true".  (It is already present, as 
          H10).
***  Proved C2:  src_offset <= src__index__subtype__1__last
     using hypothesis H3.
***  Proved C4:  src_offset + 1 <= src__index__subtype__1__last
     using hypothesis H6.
***  Proved C6:  src_offset + 2 <= src__index__subtype__1__last
     using hypothesis H6.
***  Proved C8:  src_offset + 3 <= src__index__subtype__1__last
     using hypothesis H6.
***  Proved C10:  src_offset + 4 <= src__index__subtype__1__last
     using hypothesis H6.
***  Proved C12:  src_offset + 5 <= src__index__subtype__1__last
     using hypothesis H6.
***  Proved C14:  src_offset + 6 <= src__index__subtype__1__last
     using hypothesis H6.
***  Proved C16:  src_offset + 7 <= src__index__subtype__1__last
     using hypothesis H6.
-S-  Applied substitution rule get_64_lsb_f_rules(7).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H9:  src_offset >= 0
-S-  Applied substitution rule get_64_lsb_f_rules(8).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H7:  src_offset + dst__index__subtype__1__last * 8 <= 2147483647
<S>  New H10:  src_offset <= 2147483647
-S-  Applied substitution rule get_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, 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__byte__last)
-S-  Applied substitution rule get_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, 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]) <= 255)
-S-  Applied substitution rule get_64_lsb_f_rules(43).
     This was achieved by replacing all occurrences of 
          spark__crypto__word_count_t__first by:
          0.
<S>  New H11:  true
-S-  Applied substitution rule get_64_lsb_f_rules(44).
     This was achieved by replacing all occurrences of 
          spark__crypto__word_count_t__last by:
          268435455.
<S>  New H12:  true
***  Proved C1:  src_offset >= src__index__subtype__1__first
     using hypotheses H1 & H9.
***  Proved C3:  src_offset + 1 >= src__index__subtype__1__first
     using hypotheses H1 & H9.
***  Proved C5:  src_offset + 2 >= src__index__subtype__1__first
     using hypotheses H1 & H9.
***  Proved C7:  src_offset + 3 >= src__index__subtype__1__first
     using hypotheses H1 & H9.
***  Proved C9:  src_offset + 4 >= src__index__subtype__1__first
     using hypotheses H1 & H9.
***  Proved C11:  src_offset + 5 >= src__index__subtype__1__first
     using hypotheses H1 & H9.
***  Proved C13:  src_offset + 6 >= src__index__subtype__1__first
     using hypotheses H1 & H9.
***  Proved C15:  src_offset + 7 >= src__index__subtype__1__first
     using hypotheses H1 & H9.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_64_lsb_first_4.  @@@@@@@@@@
%%%  Simplified H1 on reading formula in, to give:
     %%%  H1:  for_all(i_ : integer, dst__index__subtype__1__first <= i_ and i_ 
          <= dst_index -> spark__unsigned__u64__first <= element(dst, [i_]) and 
          element(dst, [i_]) <= spark__unsigned__u64__last)
%%%  Simplified H10 on reading formula in, to give:
     %%%  H10:  for_all(i___1 : integer, src__index__subtype__1__first <= i___1 
          and i___1 <= src__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(src, [i___1]) and element(
          src, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
%%%  Simplified C3 on reading formula in, to give:
     %%%  C3:  src_index + 9 >= src__index__subtype__1__first
%%%  Simplified C4 on reading formula in, to give:
     %%%  C4:  src_index + 9 <= src__index__subtype__1__last
%%%  Simplified C5 on reading formula in, to give:
     %%%  C5:  src_index + 10 >= src__index__subtype__1__first
%%%  Simplified C6 on reading formula in, to give:
     %%%  C6:  src_index + 10 <= src__index__subtype__1__last
%%%  Simplified C7 on reading formula in, to give:
     %%%  C7:  src_index + 11 >= src__index__subtype__1__first
%%%  Simplified C8 on reading formula in, to give:
     %%%  C8:  src_index + 11 <= src__index__subtype__1__last
%%%  Simplified C9 on reading formula in, to give:
     %%%  C9:  src_index + 12 >= src__index__subtype__1__first
%%%  Simplified C10 on reading formula in, to give:
     %%%  C10:  src_index + 12 <= src__index__subtype__1__last
%%%  Simplified C11 on reading formula in, to give:
     %%%  C11:  src_index + 13 >= src__index__subtype__1__first
%%%  Simplified C12 on reading formula in, to give:
     %%%  C12:  src_index + 13 <= src__index__subtype__1__last
%%%  Simplified C13 on reading formula in, to give:
     %%%  C13:  src_index + 14 >= src__index__subtype__1__first
%%%  Simplified C14 on reading formula in, to give:
     %%%  C14:  src_index + 14 <= src__index__subtype__1__last
%%%  Simplified C15 on reading formula in, to give:
     %%%  C15:  src_index + 15 >= src__index__subtype__1__first
%%%  Simplified C16 on reading formula in, to give:
     %%%  C16:  src_index + 15 <= src__index__subtype__1__last
>>>  Restructured hypothesis H20 into:
     >>>  H20:  dst_index <> dst__index__subtype__1__last
---  Attempted addition of new hypothesis:
          dst_index + 1 <= natural__last
     eliminated: this already exists (as H21).
+++  Using "A->B, A |- B" on hypotheses H8 & H20 yields a new hypothesis:
     +++  H21:  dst_index + 1 <= natural__last
---  Attempted addition of new hypothesis:
          src_index + 8 <= natural__last
     eliminated: this already exists (as H24).
+++  Using "A->B, A |- B" on hypotheses H9 & H20 yields a new hypothesis:
     +++  H24:  src_index + 8 <= natural__last
-S-  Applied substitution rule get_64_lsb_f_rules(7).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H11:  src_offset >= 0
<S>  New H25:  src_index >= - 8
-S-  Applied substitution rule get_64_lsb_f_rules(8).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H8:  dst_index <> dst__index__subtype__1__last -> dst_index <= 
          2147483646
<S>  New H9:  dst_index <> dst__index__subtype__1__last -> src_index <= 
          2147483639
<S>  New H12:  src_offset <= 2147483647
<S>  New H19:  src_offset + dst__index__subtype__1__last * 8 <= 2147483647
<S>  New H21:  dst_index <= 2147483646
<S>  New H24:  src_index <= 2147483639
-S-  Applied substitution rule get_64_lsb_f_rules(26).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H10:  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__byte__last)
-S-  Applied substitution rule get_64_lsb_f_rules(27).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H10:  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]) <= 255)
-S-  Applied substitution rule get_64_lsb_f_rules(32).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H1:  for_all(i_ : integer, dst__index__subtype__1__first <= i_ and i_ 
          <= dst_index -> 0 <= element(dst, [i_]) and element(dst, [i_]) <= 
          spark__unsigned__u64__last)
-S-  Applied substitution rule get_64_lsb_f_rules(33).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H1:  for_all(i_ : integer, dst__index__subtype__1__first <= i_ and i_ 
          <= dst_index -> 0 <= element(dst, [i_]) and element(dst, [i_]) <= 
          18446744073709551615)
-S-  Applied substitution rule get_64_lsb_f_rules(43).
     This was achieved by replacing all occurrences of 
          spark__crypto__word_count_t__first by:
          0.
<S>  New H22:  dst_index >= - 1
-S-  Applied substitution rule get_64_lsb_f_rules(44).
     This was achieved by replacing all occurrences of 
          spark__crypto__word_count_t__last by:
          268435455.
<S>  New H4:  dst__index__subtype__1__last <= 268435455
<S>  New H23:  dst_index <= 268435454
%%%  Hypotheses H3 & H20 together imply that
          dst_index < dst__index__subtype__1__last.
     H3 & H20 have therefore been deleted and a new H27 added to this effect.
***  Proved C1:  src_index + 8 >= src__index__subtype__1__first
     using hypotheses H6, H11 & H13.
***  Proved C3:  src_index + 9 >= src__index__subtype__1__first
     using hypotheses H6, H11 & H13.
***  Proved C5:  src_index + 10 >= src__index__subtype__1__first
     using hypotheses H6, H11 & H13.
***  Proved C7:  src_index + 11 >= src__index__subtype__1__first
     using hypotheses H6, H11 & H13.
***  Proved C9:  src_index + 12 >= src__index__subtype__1__first
     using hypotheses H6, H11 & H13.
***  Proved C11:  src_index + 13 >= src__index__subtype__1__first
     using hypotheses H6, H11 & H13.
***  Proved C13:  src_index + 14 >= src__index__subtype__1__first
     using hypotheses H6, H11 & H13.
***  Proved C15:  src_index + 15 >= src__index__subtype__1__first
     using hypotheses H6, H11 & H13.
---  Eliminated hypothesis H26 (true-hypothesis).
>>>  Using "A->B, A |- B" on H8, given H27, we simplify the former to:
     >>>  H8:  dst_index <= 2147483646
>>>  Using "A->B, A |- B" on H9, given H27, we simplify the former to:
     >>>  H9:  src_index <= 2147483639
---  Eliminated hypothesis H7 (redundant, given H5 & H27).
---  Eliminated hypothesis H12 (redundant, given H6 & H24).
---  Eliminated hypothesis H15 (redundant, given H18).
---  Eliminated hypothesis H21 (redundant, given H23).
---  Eliminated hypothesis H22 (redundant, given H2 & H14).
---  Eliminated hypothesis H25 (redundant, given H6 & H11).
-S-  Eliminated hypothesis H5.
     This was achieved by replacing all occurrences of src_index by:
          src_offset + dst_index * 8.
<S>  New H6:  src_offset + dst_index * 8 >= src_offset
<S>  New H24:  src_offset + dst_index * 8 <= 2147483639
<S>  New H9:  src_offset + dst_index * 8 <= 2147483639
<S>  New C2:  src_offset + dst_index * 8 + 8 <= src__index__subtype__1__last
<S>  New C4:  src_offset + dst_index * 8 + 9 <= src__index__subtype__1__last
<S>  New C6:  src_offset + dst_index * 8 + 10 <= src__index__subtype__1__last
<S>  New C8:  src_offset + dst_index * 8 + 11 <= src__index__subtype__1__last
<S>  New C10:  src_offset + dst_index * 8 + 12 <= src__index__subtype__1__last
<S>  New C12:  src_offset + dst_index * 8 + 13 <= src__index__subtype__1__last
<S>  New C14:  src_offset + dst_index * 8 + 14 <= src__index__subtype__1__last
<S>  New C16:  src_offset + dst_index * 8 + 15 <= src__index__subtype__1__last
     +++  New H28:  integer__size >= 0
     +++  New H29:  natural__size >= 0
     +++  New H30:  spark__unsigned__byte__size >= 0
     +++  New H31:  spark__unsigned__u64__size >= 0
     +++  New H32:  spark__unsigned__shift_count__size >= 0
     +++  New H33:  spark__crypto__word_count_t__size >= 0
     +++  New H34:  dst__index__subtype__1__first <= 
          dst__index__subtype__1__last
     +++  New H35:  src__index__subtype__1__first <= 
          src__index__subtype__1__last
     +++  New H36:  src__index__subtype__1__first >= 0
     +++  New H37:  src__index__subtype__1__last >= 0
     +++  New H38:  src__index__subtype__1__last <= 2147483647
     +++  New H39:  src__index__subtype__1__first <= 2147483647
     +++  New H40:  dst__index__subtype__1__first >= 0
     +++  New H41:  dst__index__subtype__1__last >= 0
---  Attempted addition of new hypothesis:
          dst__index__subtype__1__last <= 268435455
     eliminated: this already exists (as H4).
     +++  New H4:  dst__index__subtype__1__last <= 268435455
     +++  New H42:  dst__index__subtype__1__first <= 268435455


@@@@@@@@@@  VC: procedure_get_64_lsb_first_5.  @@@@@@@@@@
%%%  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__byte__first <= element(src, [i___1]) and element(
          src, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H13 has been replaced by "true".  (It is already present, as H9)
          .
---  Hypothesis H14 has been replaced by "true".  (It is already present, as 
          H10).
---  Hypothesis H16 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H30 has been replaced by "true".  (It is already present, as H6)
          .
***  Proved C7:  src_offset + 1 >= src__index__subtype__1__first
     using hypothesis H17.
***  Proved C8:  src_offset + 1 <= src__index__subtype__1__last
     using hypothesis H18.
***  Proved C13:  src_offset >= src__index__subtype__1__first
     using hypothesis H15.
***  Proved C14:  src_offset <= src__index__subtype__1__last
     using hypothesis H3.
***  Proved C15:  0 >= dst__index__subtype__1__first
     using hypothesis H2.
-S-  Applied substitution rule get_64_lsb_f_rules(38).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__first by:
          0.
<S>  New C1:  true
-S-  Applied substitution rule get_64_lsb_f_rules(39).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__last by:
          64.
<S>  New C2:  true
-S-  Applied substitution rule get_64_lsb_f_rules(20).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__first by:
          0.
<S>  New C3:  element(src, [src_offset + 1]) >= 0
-S-  Applied substitution rule get_64_lsb_f_rules(21).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__last by:
          18446744073709551615.
<S>  New C4:  element(src, [src_offset + 1]) <= 18446744073709551615
-S-  Applied substitution rule get_64_lsb_f_rules(32).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New C5:  element(src, [src_offset + 1]) >= 0
<S>  New C11:  element(src, [src_offset]) >= 0
-S-  Applied substitution rule get_64_lsb_f_rules(33).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New C6:  element(src, [src_offset + 1]) <= 18446744073709551615
<S>  New C12:  element(src, [src_offset]) <= 18446744073709551615
-S-  Applied substitution rule get_64_lsb_f_rules(4).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New C9:  src_offset >= - 2147483649
-S-  Applied substitution rule get_64_lsb_f_rules(5).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New C10:  src_offset <= 2147483646
***  Proved C1:  true
***  Proved C2:  true
***  Proved C9:  src_offset >= - 2147483649
     using hypotheses H1 & H15.
-S-  Applied substitution rule get_64_lsb_f_rules(7).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H9:  src_offset >= 0
-S-  Applied substitution rule get_64_lsb_f_rules(8).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H7:  src_offset + dst__index__subtype__1__last * 8 <= 2147483647
<S>  New H10:  src_offset <= 2147483647
-S-  Applied substitution rule get_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, 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__byte__last)
-S-  Applied substitution rule get_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, 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]) <= 255)
-S-  Applied substitution rule get_64_lsb_f_rules(43).
     This was achieved by replacing all occurrences of 
          spark__crypto__word_count_t__first by:
          0.
<S>  New H11:  true
-S-  Applied substitution rule get_64_lsb_f_rules(44).
     This was achieved by replacing all occurrences of 
          spark__crypto__word_count_t__last by:
          268435455.
<S>  New H12:  true
***  Proved C3:  element(src, [src_offset + 1]) >= 0
     using hypotheses H8, H17 & H18.
***  Proved C4:  element(src, [src_offset + 1]) <= 18446744073709551615
     using hypotheses H8, H17 & H18.
***  Proved C5:  element(src, [src_offset + 1]) >= 0
     using hypotheses H8, H17 & H18.
***  Proved C11:  element(src, [src_offset]) >= 0
     using hypotheses H3, H8 & H15.
***  Proved C6:  element(src, [src_offset + 1]) <= 18446744073709551615
     using hypotheses H8, H17 & H18.
***  Proved C12:  element(src, [src_offset]) <= 18446744073709551615
     using hypotheses H3, H8 & H15.
---  Eliminated hypothesis H13 (true-hypothesis).
---  Eliminated hypothesis H14 (true-hypothesis).
---  Eliminated hypothesis H16 (true-hypothesis).
---  Eliminated hypothesis H30 (true-hypothesis).
---  Eliminated hypothesis H11 (true-hypothesis).
---  Eliminated hypothesis H12 (true-hypothesis).
---  Eliminated hypothesis H3 (redundant, given H6).
---  Eliminated hypothesis H17 (redundant, given H15).
---  Eliminated hypothesis H18 (redundant, given H6).
---  Eliminated hypothesis H19 (redundant, given H15).
---  Eliminated hypothesis H20 (redundant, given H6).
---  Eliminated hypothesis H21 (redundant, given H15).
---  Eliminated hypothesis H22 (redundant, given H6).
---  Eliminated hypothesis H23 (redundant, given H15).
---  Eliminated hypothesis H24 (redundant, given H6).
---  Eliminated hypothesis H25 (redundant, given H15).
---  Eliminated hypothesis H26 (redundant, given H6).
---  Eliminated hypothesis H27 (redundant, given H15).
---  Eliminated hypothesis H28 (redundant, given H6).
---  Eliminated hypothesis H29 (redundant, given H15).
***  Proved C16:  0 <= dst__index__subtype__1__last
***  Proved C10:  src_offset <= 2147483646
     using hypothesis H6.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_64_lsb_first_6.  @@@@@@@@@@
%%%  Simplified H1 on reading formula in, to give:
     %%%  H1:  for_all(i_ : integer, dst__index__subtype__1__first <= i_ and i_ 
          <= dst_index -> spark__unsigned__u64__first <= element(dst, [i_]) and 
          element(dst, [i_]) <= spark__unsigned__u64__last)
%%%  Simplified H10 on reading formula in, to give:
     %%%  H10:  for_all(i___1 : integer, src__index__subtype__1__first <= i___1 
          and i___1 <= src__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(src, [i___1]) and element(
          src, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
%%%  Simplified H29 on reading formula in, to give:
     %%%  H29:  src_index + 9 >= src__index__subtype__1__first
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  src_index + 9 <= src__index__subtype__1__last
%%%  Simplified H31 on reading formula in, to give:
     %%%  H31:  src_index + 10 >= src__index__subtype__1__first
%%%  Simplified H32 on reading formula in, to give:
     %%%  H32:  src_index + 10 <= src__index__subtype__1__last
%%%  Simplified H33 on reading formula in, to give:
     %%%  H33:  src_index + 11 >= src__index__subtype__1__first
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  src_index + 11 <= src__index__subtype__1__last
%%%  Simplified H35 on reading formula in, to give:
     %%%  H35:  src_index + 12 >= src__index__subtype__1__first
%%%  Simplified H36 on reading formula in, to give:
     %%%  H36:  src_index + 12 <= src__index__subtype__1__last
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  src_index + 13 >= src__index__subtype__1__first
%%%  Simplified H38 on reading formula in, to give:
     %%%  H38:  src_index + 13 <= src__index__subtype__1__last
%%%  Simplified H39 on reading formula in, to give:
     %%%  H39:  src_index + 14 >= src__index__subtype__1__first
%%%  Simplified H40 on reading formula in, to give:
     %%%  H40:  src_index + 14 <= src__index__subtype__1__last
%%%  Simplified H41 on reading formula in, to give:
     %%%  H41:  src_index + 15 >= src__index__subtype__1__first
%%%  Simplified H42 on reading formula in, to give:
     %%%  H42:  src_index + 15 <= src__index__subtype__1__last
%%%  Simplified C3 on reading formula in, to give:
     %%%  C3:  element(src, [src_index + 9]) >= interfaces__unsigned_64__first
%%%  Simplified C4 on reading formula in, to give:
     %%%  C4:  element(src, [src_index + 9]) <= interfaces__unsigned_64__last
%%%  Simplified C5 on reading formula in, to give:
     %%%  C5:  element(src, [src_index + 9]) >= spark__unsigned__u64__first
%%%  Simplified C6 on reading formula in, to give:
     %%%  C6:  element(src, [src_index + 9]) <= spark__unsigned__u64__last
%%%  Simplified C7 on reading formula in, to give:
     %%%  C7:  src_index + 9 >= src__index__subtype__1__first
%%%  Simplified C8 on reading formula in, to give:
     %%%  C8:  src_index + 9 <= src__index__subtype__1__last
%%%  Simplified C9 on reading formula in, to give:
     %%%  C9:  src_index + 9 >= integer__base__first
%%%  Simplified C10 on reading formula in, to give:
     %%%  C10:  src_index + 9 <= integer__base__last
***  Proved C7:  src_index + 9 >= src__index__subtype__1__first
     using hypothesis H29.
***  Proved C8:  src_index + 9 <= src__index__subtype__1__last
     using hypothesis H30.
***  Proved C13:  src_index + 8 >= src__index__subtype__1__first
     using hypothesis H27.
***  Proved C14:  src_index + 8 <= src__index__subtype__1__last
     using hypothesis H28.
***  Proved C15:  dst_index + 1 >= dst__index__subtype__1__first
     using hypothesis H2.
-S-  Applied substitution rule get_64_lsb_f_rules(38).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__first by:
          0.
<S>  New C1:  true
-S-  Applied substitution rule get_64_lsb_f_rules(39).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__last by:
          64.
<S>  New C2:  true
-S-  Applied substitution rule get_64_lsb_f_rules(20).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__first by:
          0.
<S>  New C3:  element(src, [src_index + 9]) >= 0
-S-  Applied substitution rule get_64_lsb_f_rules(21).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__last by:
          18446744073709551615.
<S>  New C4:  element(src, [src_index + 9]) <= 18446744073709551615
-S-  Applied substitution rule get_64_lsb_f_rules(32).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H1:  for_all(i_ : integer, dst__index__subtype__1__first <= i_ and i_ 
          <= dst_index -> 0 <= element(dst, [i_]) and element(dst, [i_]) <= 
          spark__unsigned__u64__last)
<S>  New C5:  element(src, [src_index + 9]) >= 0
<S>  New C11:  element(src, [src_index + 8]) >= 0
-S-  Applied substitution rule get_64_lsb_f_rules(33).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H1:  for_all(i_ : integer, dst__index__subtype__1__first <= i_ and i_ 
          <= dst_index -> 0 <= element(dst, [i_]) and element(dst, [i_]) <= 
          18446744073709551615)
<S>  New C6:  element(src, [src_index + 9]) <= 18446744073709551615
<S>  New C12:  element(src, [src_index + 8]) <= 18446744073709551615
-S-  Applied substitution rule get_64_lsb_f_rules(4).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New C9:  src_index >= - 2147483657
-S-  Applied substitution rule get_64_lsb_f_rules(5).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New C10:  src_index <= 2147483638
***  Proved C1:  true
***  Proved C2:  true
>>>  Restructured hypothesis H20 into:
     >>>  H20:  dst_index <> dst__index__subtype__1__last
---  Attempted addition of new hypothesis:
          dst_index + 1 <= natural__last
     eliminated: this already exists (as H21).
+++  Using "A->B, A |- B" on hypotheses H8 & H20 yields a new hypothesis:
     +++  H21:  dst_index + 1 <= natural__last
---  Attempted addition of new hypothesis:
          src_index + 8 <= natural__last
     eliminated: this already exists (as H24).
+++  Using "A->B, A |- B" on hypotheses H9 & H20 yields a new hypothesis:
     +++  H24:  src_index + 8 <= natural__last
-S-  Applied substitution rule get_64_lsb_f_rules(7).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H11:  src_offset >= 0
<S>  New H25:  src_index >= - 8
-S-  Applied substitution rule get_64_lsb_f_rules(8).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H8:  dst_index <> dst__index__subtype__1__last -> dst_index <= 
          2147483646
<S>  New H9:  dst_index <> dst__index__subtype__1__last -> src_index <= 
          2147483639
<S>  New H12:  src_offset <= 2147483647
<S>  New H19:  src_offset + dst__index__subtype__1__last * 8 <= 2147483647
<S>  New H21:  dst_index <= 2147483646
<S>  New H24:  src_index <= 2147483639
-S-  Applied substitution rule get_64_lsb_f_rules(26).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H10:  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__byte__last)
-S-  Applied substitution rule get_64_lsb_f_rules(27).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H10:  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]) <= 255)
-S-  Applied substitution rule get_64_lsb_f_rules(43).
     This was achieved by replacing all occurrences of 
          spark__crypto__word_count_t__first by:
          0.
<S>  New H22:  dst_index >= - 1
-S-  Applied substitution rule get_64_lsb_f_rules(44).
     This was achieved by replacing all occurrences of 
          spark__crypto__word_count_t__last by:
          268435455.
<S>  New H4:  dst__index__subtype__1__last <= 268435455
<S>  New H23:  dst_index <= 268435454
%%%  Hypotheses H3 & H20 together imply that
          dst_index < dst__index__subtype__1__last.
     H3 & H20 have therefore been deleted and a new H43 added to this effect.
***  Proved C16:  dst_index + 1 <= dst__index__subtype__1__last
     via its standard form, which is:
     Std.Fm C16:  dst__index__subtype__1__last - dst_index > 0
     using hypothesis H43.
***  Proved C3:  element(src, [src_index + 9]) >= 0
     using hypotheses H10, H29 & H30.
***  Proved C4:  element(src, [src_index + 9]) <= 18446744073709551615
     using hypotheses H10, H29 & H30.
***  Proved C5:  element(src, [src_index + 9]) >= 0
     using hypotheses H10, H29 & H30.
***  Proved C11:  element(src, [src_index + 8]) >= 0
     using hypotheses H10, H27 & H28.
***  Proved C6:  element(src, [src_index + 9]) <= 18446744073709551615
     using hypotheses H10, H29 & H30.
***  Proved C12:  element(src, [src_index + 8]) <= 18446744073709551615
     using hypotheses H10, H27 & H28.
***  Proved C9:  src_index >= - 2147483657
     using hypothesis H25.
---  Eliminated hypothesis H26 (true-hypothesis).
>>>  Using "A->B, A |- B" on H8, given H43, we simplify the former to:
     >>>  H8:  dst_index <= 2147483646
>>>  Using "A->B, A |- B" on H9, given H43, we simplify the former to:
     >>>  H9:  src_index <= 2147483639
---  Eliminated hypothesis H7 (redundant, given H5 & H43).
---  Eliminated hypothesis H15 (redundant, given H18).
---  Eliminated hypothesis H21 (redundant, given H23).
---  Eliminated hypothesis H22 (redundant, given H2 & H14).
---  Eliminated hypothesis H28 (redundant, given H30).
---  Eliminated hypothesis H29 (redundant, given H27).
---  Eliminated hypothesis H30 (redundant, given H32).
---  Eliminated hypothesis H31 (redundant, given H27).
---  Eliminated hypothesis H32 (redundant, given H34).
---  Eliminated hypothesis H33 (redundant, given H27).
---  Eliminated hypothesis H34 (redundant, given H36).
---  Eliminated hypothesis H35 (redundant, given H27).
---  Eliminated hypothesis H36 (redundant, given H38).
---  Eliminated hypothesis H37 (redundant, given H27).
---  Eliminated hypothesis H38 (redundant, given H40).
---  Eliminated hypothesis H39 (redundant, given H27).
---  Eliminated hypothesis H40 (redundant, given H42).
---  Eliminated hypothesis H41 (redundant, given H27).
-S-  Eliminated hypothesis H5.
     This was achieved by replacing all occurrences of src_index by:
          src_offset + dst_index * 8.
<S>  New H6:  src_offset + dst_index * 8 >= src_offset
<S>  New H27:  src_offset + dst_index * 8 + 8 >= src__index__subtype__1__first
<S>  New H42:  src_offset + dst_index * 8 + 15 <= src__index__subtype__1__last
<S>  New H25:  src_offset + dst_index * 8 >= - 8
<S>  New H24:  src_offset + dst_index * 8 <= 2147483639
<S>  New H9:  src_offset + dst_index * 8 <= 2147483639
<S>  New C10:  src_offset + dst_index * 8 <= 2147483638
     +++  New H44:  integer__size >= 0
     +++  New H45:  natural__size >= 0
     +++  New H46:  spark__unsigned__byte__size >= 0
     +++  New H47:  spark__unsigned__u64__size >= 0
     +++  New H48:  spark__unsigned__shift_count__size >= 0
     +++  New H49:  spark__crypto__word_count_t__size >= 0
     +++  New H50:  dst__index__subtype__1__first <= 
          dst__index__subtype__1__last
     +++  New H51:  src__index__subtype__1__first <= 
          src__index__subtype__1__last
     +++  New H52:  src__index__subtype__1__first >= 0
     +++  New H53:  src__index__subtype__1__last >= 0
     +++  New H54:  src__index__subtype__1__last <= 2147483647
     +++  New H55:  src__index__subtype__1__first <= 2147483647
     +++  New H56:  dst__index__subtype__1__first >= 0
     +++  New H57:  dst__index__subtype__1__last >= 0
---  Attempted addition of new hypothesis:
          dst__index__subtype__1__last <= 268435455
     eliminated: this already exists (as H4).
     +++  New H4:  dst__index__subtype__1__last <= 268435455
     +++  New H58:  dst__index__subtype__1__first <= 268435455
***  Proved C10:  src_offset + dst_index * 8 <= 2147483638
     using hypotheses H42 & H54.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_64_lsb_first_7.  @@@@@@@@@@
%%%  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__byte__first <= element(src, [i___1]) and element(
          src, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H13 has been replaced by "true".  (It is already present, as H9)
          .
---  Hypothesis H14 has been replaced by "true".  (It is already present, as 
          H10).
---  Hypothesis H16 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H30 has been replaced by "true".  (It is already present, as H6)
          .
---  Hypothesis H37 has been replaced by "true".  (It is already present, as 
          H17).
---  Hypothesis H38 has been replaced by "true".  (It is already present, as 
          H18).
---  Hypothesis H43 has been replaced by "true".  (It is already present, as 
          H15).
---  Hypothesis H44 has been replaced by "true".  (It is already present, as H3)
          .
***  Proved C1:  16 >= spark__unsigned__shift_count__first
     using hypothesis H31.
***  Proved C7:  src_offset + 2 >= src__index__subtype__1__first
     using hypothesis H19.
***  Proved C8:  src_offset + 2 <= src__index__subtype__1__last
     using hypothesis H20.
***  Proved C9:  src_offset + 2 >= integer__base__first
     using hypothesis H39.
-S-  Applied substitution rule get_64_lsb_f_rules(39).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__last by:
          64.
<S>  New H32:  true
<S>  New C2:  true
-S-  Applied substitution rule get_64_lsb_f_rules(20).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__first by:
          0.
<S>  New H33:  element(src, [src_offset + 1]) >= 0
<S>  New H47:  spark__unsigned__shift_left_64(element(src, [src_offset + 1]), 8)
           >= 0
<S>  New C3:  element(src, [src_offset + 2]) >= 0
-S-  Applied substitution rule get_64_lsb_f_rules(21).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__last by:
          18446744073709551615.
<S>  New H34:  element(src, [src_offset + 1]) <= 18446744073709551615
<S>  New H48:  spark__unsigned__shift_left_64(element(src, [src_offset + 1]), 8)
           <= 18446744073709551615
<S>  New C4:  element(src, [src_offset + 2]) <= 18446744073709551615
-S-  Applied substitution rule get_64_lsb_f_rules(32).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H35:  element(src, [src_offset + 1]) >= 0
<S>  New H41:  element(src, [src_offset]) >= 0
<S>  New C5:  element(src, [src_offset + 2]) >= 0
-S-  Applied substitution rule get_64_lsb_f_rules(33).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H36:  element(src, [src_offset + 1]) <= 18446744073709551615
<S>  New H42:  element(src, [src_offset]) <= 18446744073709551615
<S>  New C6:  element(src, [src_offset + 2]) <= 18446744073709551615
-S-  Applied substitution rule get_64_lsb_f_rules(5).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H40:  src_offset <= 2147483646
<S>  New C10:  src_offset <= 2147483645
***  Proved C2:  true
-S-  Applied substitution rule get_64_lsb_f_rules(4).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H39:  src_offset >= - 2147483649
-S-  Applied substitution rule get_64_lsb_f_rules(7).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H9:  src_offset >= 0
-S-  Applied substitution rule get_64_lsb_f_rules(8).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H7:  src_offset + dst__index__subtype__1__last * 8 <= 2147483647
<S>  New H10:  src_offset <= 2147483647
-S-  Applied substitution rule get_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, 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__byte__last)
-S-  Applied substitution rule get_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, 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]) <= 255)
-S-  Applied substitution rule get_64_lsb_f_rules(38).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__first by:
          0.
<S>  New H31:  true
-S-  Applied substitution rule get_64_lsb_f_rules(43).
     This was achieved by replacing all occurrences of 
          spark__crypto__word_count_t__first by:
          0.
<S>  New H11:  true
-S-  Applied substitution rule get_64_lsb_f_rules(44).
     This was achieved by replacing all occurrences of 
          spark__crypto__word_count_t__last by:
          268435455.
<S>  New H12:  true
***  Proved C3:  element(src, [src_offset + 2]) >= 0
     using hypotheses H8, H19 & H20.
***  Proved C4:  element(src, [src_offset + 2]) <= 18446744073709551615
     using hypotheses H8, H19 & H20.
***  Proved C5:  element(src, [src_offset + 2]) >= 0
     using hypotheses H8, H19 & H20.
***  Proved C6:  element(src, [src_offset + 2]) <= 18446744073709551615
     using hypotheses H8, H19 & H20.
---  Eliminated hypothesis H13 (true-hypothesis).
---  Eliminated hypothesis H14 (true-hypothesis).
---  Eliminated hypothesis H16 (true-hypothesis).
---  Eliminated hypothesis H30 (true-hypothesis).
---  Eliminated hypothesis H32 (true-hypothesis).
---  Eliminated hypothesis H37 (true-hypothesis).
---  Eliminated hypothesis H38 (true-hypothesis).
---  Eliminated hypothesis H43 (true-hypothesis).
---  Eliminated hypothesis H44 (true-hypothesis).
---  Eliminated hypothesis H31 (true-hypothesis).
---  Eliminated hypothesis H11 (true-hypothesis).
---  Eliminated hypothesis H12 (true-hypothesis).
---  Eliminated hypothesis H35 (duplicate of H33).
---  Eliminated hypothesis H36 (duplicate of H34).
---  Eliminated hypothesis H3 (redundant, given H6).
---  Eliminated hypothesis H10 (redundant, given H40).
---  Eliminated hypothesis H17 (redundant, given H15).
---  Eliminated hypothesis H18 (redundant, given H6).
---  Eliminated hypothesis H19 (redundant, given H15).
---  Eliminated hypothesis H20 (redundant, given H6).
---  Eliminated hypothesis H21 (redundant, given H15).
---  Eliminated hypothesis H22 (redundant, given H6).
---  Eliminated hypothesis H23 (redundant, given H15).
---  Eliminated hypothesis H24 (redundant, given H6).
---  Eliminated hypothesis H25 (redundant, given H15).
---  Eliminated hypothesis H26 (redundant, given H6).
---  Eliminated hypothesis H27 (redundant, given H15).
---  Eliminated hypothesis H28 (redundant, given H6).
---  Eliminated hypothesis H29 (redundant, given H15).
---  Eliminated hypothesis H39 (redundant, given H9).
---  Eliminated hypothesis H45 (redundant, given H2).
     +++  New H49:  integer__size >= 0
     +++  New H50:  natural__size >= 0
     +++  New H51:  spark__unsigned__byte__size >= 0
     +++  New H52:  spark__unsigned__u64__size >= 0
     +++  New H53:  spark__unsigned__shift_count__size >= 0
     +++  New H54:  spark__crypto__word_count_t__size >= 0
     +++  New H55:  dst__index__subtype__1__first <= 
          dst__index__subtype__1__last
     +++  New H56:  src__index__subtype__1__first <= 
          src__index__subtype__1__last
     +++  New H57:  src__index__subtype__1__first >= 0
     +++  New H58:  src__index__subtype__1__last >= 0
     +++  New H59:  src__index__subtype__1__last <= 2147483647
     +++  New H60:  src__index__subtype__1__first <= 2147483647
     +++  New H61:  dst__index__subtype__1__first >= 0
     +++  New H62:  dst__index__subtype__1__last >= 0
     +++  New H63:  dst__index__subtype__1__last <= 268435455
     +++  New H64:  dst__index__subtype__1__first <= 268435455
***  Proved C10:  src_offset <= 2147483645
     using hypotheses H6 & H59.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_64_lsb_first_8.  @@@@@@@@@@
%%%  Simplified H1 on reading formula in, to give:
     %%%  H1:  for_all(i_ : integer, dst__index__subtype__1__first <= i_ and i_ 
          <= dst_index -> spark__unsigned__u64__first <= element(dst, [i_]) and 
          element(dst, [i_]) <= spark__unsigned__u64__last)
%%%  Simplified H10 on reading formula in, to give:
     %%%  H10:  for_all(i___1 : integer, src__index__subtype__1__first <= i___1 
          and i___1 <= src__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(src, [i___1]) and element(
          src, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
%%%  Simplified H29 on reading formula in, to give:
     %%%  H29:  src_index + 9 >= src__index__subtype__1__first
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  src_index + 9 <= src__index__subtype__1__last
%%%  Simplified H31 on reading formula in, to give:
     %%%  H31:  src_index + 10 >= src__index__subtype__1__first
%%%  Simplified H32 on reading formula in, to give:
     %%%  H32:  src_index + 10 <= src__index__subtype__1__last
%%%  Simplified H33 on reading formula in, to give:
     %%%  H33:  src_index + 11 >= src__index__subtype__1__first
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  src_index + 11 <= src__index__subtype__1__last
%%%  Simplified H35 on reading formula in, to give:
     %%%  H35:  src_index + 12 >= src__index__subtype__1__first
%%%  Simplified H36 on reading formula in, to give:
     %%%  H36:  src_index + 12 <= src__index__subtype__1__last
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  src_index + 13 >= src__index__subtype__1__first
%%%  Simplified H38 on reading formula in, to give:
     %%%  H38:  src_index + 13 <= src__index__subtype__1__last
%%%  Simplified H39 on reading formula in, to give:
     %%%  H39:  src_index + 14 >= src__index__subtype__1__first
%%%  Simplified H40 on reading formula in, to give:
     %%%  H40:  src_index + 14 <= src__index__subtype__1__last
%%%  Simplified H41 on reading formula in, to give:
     %%%  H41:  src_index + 15 >= src__index__subtype__1__first
%%%  Simplified H42 on reading formula in, to give:
     %%%  H42:  src_index + 15 <= src__index__subtype__1__last
%%%  Simplified H45 on reading formula in, to give:
     %%%  H45:  element(src, [src_index + 9]) >= interfaces__unsigned_64__first
%%%  Simplified H46 on reading formula in, to give:
     %%%  H46:  element(src, [src_index + 9]) <= interfaces__unsigned_64__last
%%%  Simplified H47 on reading formula in, to give:
     %%%  H47:  element(src, [src_index + 9]) >= spark__unsigned__u64__first
%%%  Simplified H48 on reading formula in, to give:
     %%%  H48:  element(src, [src_index + 9]) <= spark__unsigned__u64__last
---  Hypothesis H49 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H50 has been replaced by "true".  (It is already present, as 
          H30).
%%%  Simplified H51 on reading formula in, to give:
     %%%  H51:  src_index + 9 >= integer__base__first
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  src_index + 9 <= integer__base__last
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H27).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H28).
%%%  Simplified H59 on reading formula in, to give:
     %%%  H59:  spark__unsigned__shift_left_64(element(src, [src_index + 9]), 8)
           >= interfaces__unsigned_64__first
%%%  Simplified H60 on reading formula in, to give:
     %%%  H60:  spark__unsigned__shift_left_64(element(src, [src_index + 9]), 8)
           <= interfaces__unsigned_64__last
%%%  Simplified C3 on reading formula in, to give:
     %%%  C3:  element(src, [src_index + 10]) >= interfaces__unsigned_64__first
%%%  Simplified C4 on reading formula in, to give:
     %%%  C4:  element(src, [src_index + 10]) <= interfaces__unsigned_64__last
%%%  Simplified C5 on reading formula in, to give:
     %%%  C5:  element(src, [src_index + 10]) >= spark__unsigned__u64__first
%%%  Simplified C6 on reading formula in, to give:
     %%%  C6:  element(src, [src_index + 10]) <= spark__unsigned__u64__last
%%%  Simplified C7 on reading formula in, to give:
     %%%  C7:  src_index + 10 >= src__index__subtype__1__first
%%%  Simplified C8 on reading formula in, to give:
     %%%  C8:  src_index + 10 <= src__index__subtype__1__last
%%%  Simplified C9 on reading formula in, to give:
     %%%  C9:  src_index + 10 >= integer__base__first
%%%  Simplified C10 on reading formula in, to give:
     %%%  C10:  src_index + 10 <= integer__base__last
***  Proved C1:  16 >= spark__unsigned__shift_count__first
     using hypothesis H43.
***  Proved C7:  src_index + 10 >= src__index__subtype__1__first
     using hypothesis H31.
***  Proved C8:  src_index + 10 <= src__index__subtype__1__last
     using hypothesis H32.
***  Proved C9:  src_index + 10 >= integer__base__first
     using hypothesis H51.
-S-  Applied substitution rule get_64_lsb_f_rules(39).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__last by:
          64.
<S>  New H44:  true
<S>  New C2:  true
-S-  Applied substitution rule get_64_lsb_f_rules(20).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__first by:
          0.
<S>  New H45:  element(src, [src_index + 9]) >= 0
<S>  New H59:  spark__unsigned__shift_left_64(element(src, [src_index + 9]), 8) 
          >= 0
<S>  New C3:  element(src, [src_index + 10]) >= 0
-S-  Applied substitution rule get_64_lsb_f_rules(21).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__last by:
          18446744073709551615.
<S>  New H46:  element(src, [src_index + 9]) <= 18446744073709551615
<S>  New H60:  spark__unsigned__shift_left_64(element(src, [src_index + 9]), 8) 
          <= 18446744073709551615
<S>  New C4:  element(src, [src_index + 10]) <= 18446744073709551615
-S-  Applied substitution rule get_64_lsb_f_rules(32).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H1:  for_all(i_ : integer, dst__index__subtype__1__first <= i_ and i_ 
          <= dst_index -> 0 <= element(dst, [i_]) and element(dst, [i_]) <= 
          spark__unsigned__u64__last)
<S>  New H47:  element(src, [src_index + 9]) >= 0
<S>  New H53:  element(src, [src_index + 8]) >= 0
<S>  New C5:  element(src, [src_index + 10]) >= 0
-S-  Applied substitution rule get_64_lsb_f_rules(33).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H48:  element(src, [src_index + 9]) <= 18446744073709551615
<S>  New H54:  element(src, [src_index + 8]) <= 18446744073709551615
<S>  New H1:  for_all(i_ : integer, dst__index__subtype__1__first <= i_ and i_ 
          <= dst_index -> 0 <= element(dst, [i_]) and element(dst, [i_]) <= 
          18446744073709551615)
<S>  New C6:  element(src, [src_index + 10]) <= 18446744073709551615
-S-  Applied substitution rule get_64_lsb_f_rules(5).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H52:  src_index <= 2147483638
<S>  New C10:  src_index <= 2147483637
***  Proved C2:  true
>>>  Restructured hypothesis H20 into:
     >>>  H20:  dst_index <> dst__index__subtype__1__last
---  Attempted addition of new hypothesis:
          dst_index + 1 <= natural__last
     eliminated: this already exists (as H21).
+++  Using "A->B, A |- B" on hypotheses H8 & H20 yields a new hypothesis:
     +++  H21:  dst_index + 1 <= natural__last
---  Attempted addition of new hypothesis:
          src_index + 8 <= natural__last
     eliminated: this already exists (as H24).
+++  Using "A->B, A |- B" on hypotheses H9 & H20 yields a new hypothesis:
     +++  H24:  src_index + 8 <= natural__last
-S-  Applied substitution rule get_64_lsb_f_rules(4).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H51:  src_index >= - 2147483657
-S-  Applied substitution rule get_64_lsb_f_rules(7).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H11:  src_offset >= 0
<S>  New H25:  src_index >= - 8
-S-  Applied substitution rule get_64_lsb_f_rules(8).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H8:  dst_index <> dst__index__subtype__1__last -> dst_index <= 
          2147483646
<S>  New H9:  dst_index <> dst__index__subtype__1__last -> src_index <= 
          2147483639
<S>  New H12:  src_offset <= 2147483647
<S>  New H19:  src_offset + dst__index__subtype__1__last * 8 <= 2147483647
<S>  New H21:  dst_index <= 2147483646
<S>  New H24:  src_index <= 2147483639
-S-  Applied substitution rule get_64_lsb_f_rules(26).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H10:  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__byte__last)
-S-  Applied substitution rule get_64_lsb_f_rules(27).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H10:  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]) <= 255)
-S-  Applied substitution rule get_64_lsb_f_rules(38).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__first by:
          0.
<S>  New H43:  true
-S-  Applied substitution rule get_64_lsb_f_rules(43).
     This was achieved by replacing all occurrences of 
          spark__crypto__word_count_t__first by:
          0.
<S>  New H22:  dst_index >= - 1
-S-  Applied substitution rule get_64_lsb_f_rules(44).
     This was achieved by replacing all occurrences of 
          spark__crypto__word_count_t__last by:
          268435455.
<S>  New H4:  dst__index__subtype__1__last <= 268435455
<S>  New H23:  dst_index <= 268435454
%%%  Hypotheses H3 & H20 together imply that
          dst_index < dst__index__subtype__1__last.
     H3 & H20 have therefore been deleted and a new H61 added to this effect.
***  Proved C3:  element(src, [src_index + 10]) >= 0
     using hypotheses H10, H31 & H32.
***  Proved C4:  element(src, [src_index + 10]) <= 18446744073709551615
     using hypotheses H10, H31 & H32.
***  Proved C5:  element(src, [src_index + 10]) >= 0
     using hypotheses H10, H31 & H32.
***  Proved C6:  element(src, [src_index + 10]) <= 18446744073709551615
     using hypotheses H10, H31 & H32.
---  Eliminated hypothesis H26 (true-hypothesis).
---  Eliminated hypothesis H44 (true-hypothesis).
---  Eliminated hypothesis H49 (true-hypothesis).
---  Eliminated hypothesis H50 (true-hypothesis).
---  Eliminated hypothesis H55 (true-hypothesis).
---  Eliminated hypothesis H56 (true-hypothesis).
---  Eliminated hypothesis H43 (true-hypothesis).
---  Eliminated hypothesis H47 (duplicate of H45).
---  Eliminated hypothesis H48 (duplicate of H46).
---  Eliminated hypothesis H61 (duplicate of H58).
>>>  Using "A->B, A |- B" on H8, given H61, we simplify the former to:
     >>>  H8:  dst_index <= 2147483646
>>>  Using "A->B, A |- B" on H9, given H61, we simplify the former to:
     >>>  H9:  src_index <= 2147483639
---  Eliminated hypothesis H15 (redundant, given H18).
---  Eliminated hypothesis H21 (redundant, given H23).
---  Eliminated hypothesis H22 (redundant, given H2 & H14).
---  Eliminated hypothesis H24 (redundant, given H52).
---  Eliminated hypothesis H28 (redundant, given H30).
---  Eliminated hypothesis H29 (redundant, given H27).
---  Eliminated hypothesis H30 (redundant, given H32).
---  Eliminated hypothesis H31 (redundant, given H27).
---  Eliminated hypothesis H32 (redundant, given H34).
---  Eliminated hypothesis H33 (redundant, given H27).
---  Eliminated hypothesis H34 (redundant, given H36).
---  Eliminated hypothesis H35 (redundant, given H27).
---  Eliminated hypothesis H36 (redundant, given H38).
---  Eliminated hypothesis H37 (redundant, given H27).
---  Eliminated hypothesis H38 (redundant, given H40).
---  Eliminated hypothesis H39 (redundant, given H27).
---  Eliminated hypothesis H40 (redundant, given H42).
---  Eliminated hypothesis H41 (redundant, given H27).
---  Eliminated hypothesis H51 (redundant, given H25).
---  Eliminated hypothesis H57 (redundant, given H2).
-S-  Eliminated hypothesis H5.
     This was achieved by replacing all occurrences of src_index by:
          src_offset + dst_index * 8.
<S>  New H6:  src_offset + dst_index * 8 >= src_offset
<S>  New H7:  src_offset + dst_index * 8 <= src_offset + 
          dst__index__subtype__1__last * 8
<S>  New H27:  src_offset + dst_index * 8 + 8 >= src__index__subtype__1__first
<S>  New H42:  src_offset + dst_index * 8 + 15 <= src__index__subtype__1__last
<S>  New H45:  element(src, [src_offset + dst_index * 8 + 9]) >= 0
<S>  New H46:  element(src, [src_offset + dst_index * 8 + 9]) <= 
          18446744073709551615
<S>  New H52:  src_offset + dst_index * 8 <= 2147483638
<S>  New H53:  element(src, [src_offset + dst_index * 8 + 8]) >= 0
<S>  New H54:  element(src, [src_offset + dst_index * 8 + 8]) <= 
          18446744073709551615
<S>  New H59:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 9]), 8) >= 0
<S>  New H60:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 9]), 8) <= 18446744073709551615
<S>  New H25:  src_offset + dst_index * 8 >= - 8
<S>  New H9:  src_offset + dst_index * 8 <= 2147483639
<S>  New C10:  src_offset + dst_index * 8 <= 2147483637
     +++  New H62:  integer__size >= 0
     +++  New H63:  natural__size >= 0
     +++  New H64:  spark__unsigned__byte__size >= 0
     +++  New H65:  spark__unsigned__u64__size >= 0
     +++  New H66:  spark__unsigned__shift_count__size >= 0
     +++  New H67:  spark__crypto__word_count_t__size >= 0
     +++  New H68:  dst__index__subtype__1__first <= 
          dst__index__subtype__1__last
     +++  New H69:  src__index__subtype__1__first <= 
          src__index__subtype__1__last
     +++  New H70:  src__index__subtype__1__first >= 0
     +++  New H71:  src__index__subtype__1__last >= 0
     +++  New H72:  src__index__subtype__1__last <= 2147483647
     +++  New H73:  src__index__subtype__1__first <= 2147483647
     +++  New H74:  dst__index__subtype__1__first >= 0
     +++  New H75:  dst__index__subtype__1__last >= 0
---  Attempted addition of new hypothesis:
          dst__index__subtype__1__last <= 268435455
     eliminated: this already exists (as H4).
     +++  New H4:  dst__index__subtype__1__last <= 268435455
     +++  New H76:  dst__index__subtype__1__first <= 268435455
***  Proved C10:  src_offset + dst_index * 8 <= 2147483637
     using hypotheses H42 & H72.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_64_lsb_first_9.  @@@@@@@@@@
%%%  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__byte__first <= element(src, [i___1]) and element(
          src, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H13 has been replaced by "true".  (It is already present, as H9)
          .
---  Hypothesis H14 has been replaced by "true".  (It is already present, as 
          H10).
---  Hypothesis H16 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H30 has been replaced by "true".  (It is already present, as H6)
          .
---  Hypothesis H37 has been replaced by "true".  (It is already present, as 
          H17).
---  Hypothesis H38 has been replaced by "true".  (It is already present, as 
          H18).
---  Hypothesis H43 has been replaced by "true".  (It is already present, as 
          H15).
---  Hypothesis H44 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H19).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H20).
***  Proved C1:  24 >= spark__unsigned__shift_count__first
     using hypothesis H31.
***  Proved C7:  src_offset + 3 >= src__index__subtype__1__first
     using hypothesis H21.
***  Proved C8:  src_offset + 3 <= src__index__subtype__1__last
     using hypothesis H22.
***  Proved C9:  src_offset + 3 >= integer__base__first
     using hypothesis H39.
-S-  Applied substitution rule get_64_lsb_f_rules(39).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__last by:
          64.
<S>  New H32:  true
<S>  New H50:  true
<S>  New C2:  true
-S-  Applied substitution rule get_64_lsb_f_rules(20).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__first by:
          0.
<S>  New H33:  element(src, [src_offset + 1]) >= 0
<S>  New H47:  spark__unsigned__shift_left_64(element(src, [src_offset + 1]), 8)
           >= 0
<S>  New H51:  element(src, [src_offset + 2]) >= 0
<S>  New H59:  spark__unsigned__shift_left_64(element(src, [src_offset + 2]), 
          16) >= 0
<S>  New C3:  element(src, [src_offset + 3]) >= 0
-S-  Applied substitution rule get_64_lsb_f_rules(21).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__last by:
          18446744073709551615.
<S>  New H34:  element(src, [src_offset + 1]) <= 18446744073709551615
<S>  New H48:  spark__unsigned__shift_left_64(element(src, [src_offset + 1]), 8)
           <= 18446744073709551615
<S>  New H52:  element(src, [src_offset + 2]) <= 18446744073709551615
<S>  New H60:  spark__unsigned__shift_left_64(element(src, [src_offset + 2]), 
          16) <= 18446744073709551615
<S>  New C4:  element(src, [src_offset + 3]) <= 18446744073709551615
-S-  Applied substitution rule get_64_lsb_f_rules(32).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H35:  element(src, [src_offset + 1]) >= 0
<S>  New H41:  element(src, [src_offset]) >= 0
<S>  New H53:  element(src, [src_offset + 2]) >= 0
<S>  New C5:  element(src, [src_offset + 3]) >= 0
-S-  Applied substitution rule get_64_lsb_f_rules(33).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H36:  element(src, [src_offset + 1]) <= 18446744073709551615
<S>  New H42:  element(src, [src_offset]) <= 18446744073709551615
<S>  New H54:  element(src, [src_offset + 2]) <= 18446744073709551615
<S>  New C6:  element(src, [src_offset + 3]) <= 18446744073709551615
-S-  Applied substitution rule get_64_lsb_f_rules(5).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H40:  src_offset <= 2147483646
<S>  New H58:  src_offset <= 2147483645
<S>  New C10:  src_offset <= 2147483644
***  Proved C2:  true
-S-  Applied substitution rule get_64_lsb_f_rules(4).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H39:  src_offset >= - 2147483649
<S>  New H57:  src_offset >= - 2147483650
-S-  Applied substitution rule get_64_lsb_f_rules(7).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H9:  src_offset >= 0
-S-  Applied substitution rule get_64_lsb_f_rules(8).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H7:  src_offset + dst__index__subtype__1__last * 8 <= 2147483647
<S>  New H10:  src_offset <= 2147483647
-S-  Applied substitution rule get_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, 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__byte__last)
-S-  Applied substitution rule get_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, 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]) <= 255)
-S-  Applied substitution rule get_64_lsb_f_rules(38).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__first by:
          0.
<S>  New H31:  true
<S>  New H49:  true
-S-  Applied substitution rule get_64_lsb_f_rules(43).
     This was achieved by replacing all occurrences of 
          spark__crypto__word_count_t__first by:
          0.
<S>  New H11:  true
-S-  Applied substitution rule get_64_lsb_f_rules(44).
     This was achieved by replacing all occurrences of 
          spark__crypto__word_count_t__last by:
          268435455.
<S>  New H12:  true
***  Proved C3:  element(src, [src_offset + 3]) >= 0
     using hypotheses H8, H21 & H22.
***  Proved C4:  element(src, [src_offset + 3]) <= 18446744073709551615
     using hypotheses H8, H21 & H22.
***  Proved C5:  element(src, [src_offset + 3]) >= 0
     using hypotheses H8, H21 & H22.
***  Proved C6:  element(src, [src_offset + 3]) <= 18446744073709551615
     using hypotheses H8, H21 & H22.
---  Eliminated hypothesis H13 (true-hypothesis).
---  Eliminated hypothesis H14 (true-hypothesis).
---  Eliminated hypothesis H16 (true-hypothesis).
---  Eliminated hypothesis H30 (true-hypothesis).
---  Eliminated hypothesis H32 (true-hypothesis).
---  Eliminated hypothesis H37 (true-hypothesis).
---  Eliminated hypothesis H38 (true-hypothesis).
---  Eliminated hypothesis H43 (true-hypothesis).
---  Eliminated hypothesis H44 (true-hypothesis).
---  Eliminated hypothesis H50 (true-hypothesis).
---  Eliminated hypothesis H55 (true-hypothesis).
---  Eliminated hypothesis H56 (true-hypothesis).
---  Eliminated hypothesis H31 (true-hypothesis).
---  Eliminated hypothesis H49 (true-hypothesis).
---  Eliminated hypothesis H11 (true-hypothesis).
---  Eliminated hypothesis H12 (true-hypothesis).
---  Eliminated hypothesis H35 (duplicate of H33).
---  Eliminated hypothesis H36 (duplicate of H34).
---  Eliminated hypothesis H53 (duplicate of H51).
---  Eliminated hypothesis H54 (duplicate of H52).
---  Eliminated hypothesis H3 (redundant, given H6).
---  Eliminated hypothesis H10 (redundant, given H40).
---  Eliminated hypothesis H17 (redundant, given H15).
---  Eliminated hypothesis H18 (redundant, given H6).
---  Eliminated hypothesis H19 (redundant, given H15).
---  Eliminated hypothesis H20 (redundant, given H6).
---  Eliminated hypothesis H21 (redundant, given H15).
---  Eliminated hypothesis H22 (redundant, given H6).
---  Eliminated hypothesis H23 (redundant, given H15).
---  Eliminated hypothesis H24 (redundant, given H6).
---  Eliminated hypothesis H25 (redundant, given H15).
---  Eliminated hypothesis H26 (redundant, given H6).
---  Eliminated hypothesis H27 (redundant, given H15).
---  Eliminated hypothesis H28 (redundant, given H6).
---  Eliminated hypothesis H29 (redundant, given H15).
---  Eliminated hypothesis H39 (redundant, given H9).
---  Eliminated hypothesis H40 (redundant, given H58).
---  Eliminated hypothesis H45 (redundant, given H2).
---  Eliminated hypothesis H57 (redundant, given H9).
     +++  New H61:  integer__size >= 0
     +++  New H62:  natural__size >= 0
     +++  New H63:  spark__unsigned__byte__size >= 0
     +++  New H64:  spark__unsigned__u64__size >= 0
     +++  New H65:  spark__unsigned__shift_count__size >= 0
     +++  New H66:  spark__crypto__word_count_t__size >= 0
     +++  New H67:  dst__index__subtype__1__first <= 
          dst__index__subtype__1__last
     +++  New H68:  src__index__subtype__1__first <= 
          src__index__subtype__1__last
     +++  New H69:  src__index__subtype__1__first >= 0
     +++  New H70:  src__index__subtype__1__last >= 0
     +++  New H71:  src__index__subtype__1__last <= 2147483647
     +++  New H72:  src__index__subtype__1__first <= 2147483647
     +++  New H73:  dst__index__subtype__1__first >= 0
     +++  New H74:  dst__index__subtype__1__last >= 0
     +++  New H75:  dst__index__subtype__1__last <= 268435455
     +++  New H76:  dst__index__subtype__1__first <= 268435455
***  Proved C10:  src_offset <= 2147483644
     using hypotheses H6 & H71.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_64_lsb_first_10.  @@@@@@@@@@
%%%  Simplified H1 on reading formula in, to give:
     %%%  H1:  for_all(i_ : integer, dst__index__subtype__1__first <= i_ and i_ 
          <= dst_index -> spark__unsigned__u64__first <= element(dst, [i_]) and 
          element(dst, [i_]) <= spark__unsigned__u64__last)
%%%  Simplified H10 on reading formula in, to give:
     %%%  H10:  for_all(i___1 : integer, src__index__subtype__1__first <= i___1 
          and i___1 <= src__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(src, [i___1]) and element(
          src, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
%%%  Simplified H29 on reading formula in, to give:
     %%%  H29:  src_index + 9 >= src__index__subtype__1__first
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  src_index + 9 <= src__index__subtype__1__last
%%%  Simplified H31 on reading formula in, to give:
     %%%  H31:  src_index + 10 >= src__index__subtype__1__first
%%%  Simplified H32 on reading formula in, to give:
     %%%  H32:  src_index + 10 <= src__index__subtype__1__last
%%%  Simplified H33 on reading formula in, to give:
     %%%  H33:  src_index + 11 >= src__index__subtype__1__first
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  src_index + 11 <= src__index__subtype__1__last
%%%  Simplified H35 on reading formula in, to give:
     %%%  H35:  src_index + 12 >= src__index__subtype__1__first
%%%  Simplified H36 on reading formula in, to give:
     %%%  H36:  src_index + 12 <= src__index__subtype__1__last
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  src_index + 13 >= src__index__subtype__1__first
%%%  Simplified H38 on reading formula in, to give:
     %%%  H38:  src_index + 13 <= src__index__subtype__1__last
%%%  Simplified H39 on reading formula in, to give:
     %%%  H39:  src_index + 14 >= src__index__subtype__1__first
%%%  Simplified H40 on reading formula in, to give:
     %%%  H40:  src_index + 14 <= src__index__subtype__1__last
%%%  Simplified H41 on reading formula in, to give:
     %%%  H41:  src_index + 15 >= src__index__subtype__1__first
%%%  Simplified H42 on reading formula in, to give:
     %%%  H42:  src_index + 15 <= src__index__subtype__1__last
%%%  Simplified H45 on reading formula in, to give:
     %%%  H45:  element(src, [src_index + 9]) >= interfaces__unsigned_64__first
%%%  Simplified H46 on reading formula in, to give:
     %%%  H46:  element(src, [src_index + 9]) <= interfaces__unsigned_64__last
%%%  Simplified H47 on reading formula in, to give:
     %%%  H47:  element(src, [src_index + 9]) >= spark__unsigned__u64__first
%%%  Simplified H48 on reading formula in, to give:
     %%%  H48:  element(src, [src_index + 9]) <= spark__unsigned__u64__last
---  Hypothesis H49 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H50 has been replaced by "true".  (It is already present, as 
          H30).
%%%  Simplified H51 on reading formula in, to give:
     %%%  H51:  src_index + 9 >= integer__base__first
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  src_index + 9 <= integer__base__last
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H27).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H28).
%%%  Simplified H59 on reading formula in, to give:
     %%%  H59:  spark__unsigned__shift_left_64(element(src, [src_index + 9]), 8)
           >= interfaces__unsigned_64__first
%%%  Simplified H60 on reading formula in, to give:
     %%%  H60:  spark__unsigned__shift_left_64(element(src, [src_index + 9]), 8)
           <= interfaces__unsigned_64__last
%%%  Simplified H63 on reading formula in, to give:
     %%%  H63:  element(src, [src_index + 10]) >= interfaces__unsigned_64__first
%%%  Simplified H64 on reading formula in, to give:
     %%%  H64:  element(src, [src_index + 10]) <= interfaces__unsigned_64__last
%%%  Simplified H65 on reading formula in, to give:
     %%%  H65:  element(src, [src_index + 10]) >= spark__unsigned__u64__first
%%%  Simplified H66 on reading formula in, to give:
     %%%  H66:  element(src, [src_index + 10]) <= spark__unsigned__u64__last
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H32).
%%%  Simplified H69 on reading formula in, to give:
     %%%  H69:  src_index + 10 >= integer__base__first
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  src_index + 10 <= integer__base__last
%%%  Simplified H71 on reading formula in, to give:
     %%%  H71:  spark__unsigned__shift_left_64(element(src, [src_index + 10]), 
          16) >= interfaces__unsigned_64__first
%%%  Simplified H72 on reading formula in, to give:
     %%%  H72:  spark__unsigned__shift_left_64(element(src, [src_index + 10]), 
          16) <= interfaces__unsigned_64__last
%%%  Simplified C3 on reading formula in, to give:
     %%%  C3:  element(src, [src_index + 11]) >= interfaces__unsigned_64__first
%%%  Simplified C4 on reading formula in, to give:
     %%%  C4:  element(src, [src_index + 11]) <= interfaces__unsigned_64__last
%%%  Simplified C5 on reading formula in, to give:
     %%%  C5:  element(src, [src_index + 11]) >= spark__unsigned__u64__first
%%%  Simplified C6 on reading formula in, to give:
     %%%  C6:  element(src, [src_index + 11]) <= spark__unsigned__u64__last
%%%  Simplified C7 on reading formula in, to give:
     %%%  C7:  src_index + 11 >= src__index__subtype__1__first
%%%  Simplified C8 on reading formula in, to give:
     %%%  C8:  src_index + 11 <= src__index__subtype__1__last
%%%  Simplified C9 on reading formula in, to give:
     %%%  C9:  src_index + 11 >= integer__base__first
%%%  Simplified C10 on reading formula in, to give:
     %%%  C10:  src_index + 11 <= integer__base__last
***  Proved C1:  24 >= spark__unsigned__shift_count__first
     using hypothesis H43.
***  Proved C7:  src_index + 11 >= src__index__subtype__1__first
     using hypothesis H33.
***  Proved C8:  src_index + 11 <= src__index__subtype__1__last
     using hypothesis H34.
***  Proved C9:  src_index + 11 >= integer__base__first
     using hypothesis H51.
-S-  Applied substitution rule get_64_lsb_f_rules(39).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__last by:
          64.
<S>  New H44:  true
<S>  New H62:  true
<S>  New C2:  true
-S-  Applied substitution rule get_64_lsb_f_rules(20).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__first by:
          0.
<S>  New H45:  element(src, [src_index + 9]) >= 0
<S>  New H59:  spark__unsigned__shift_left_64(element(src, [src_index + 9]), 8) 
          >= 0
<S>  New H63:  element(src, [src_index + 10]) >= 0
<S>  New H71:  spark__unsigned__shift_left_64(element(src, [src_index + 10]), 
          16) >= 0
<S>  New C3:  element(src, [src_index + 11]) >= 0
-S-  Applied substitution rule get_64_lsb_f_rules(21).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__last by:
          18446744073709551615.
<S>  New H46:  element(src, [src_index + 9]) <= 18446744073709551615
<S>  New H60:  spark__unsigned__shift_left_64(element(src, [src_index + 9]), 8) 
          <= 18446744073709551615
<S>  New H64:  element(src, [src_index + 10]) <= 18446744073709551615
<S>  New H72:  spark__unsigned__shift_left_64(element(src, [src_index + 10]), 
          16) <= 18446744073709551615
<S>  New C4:  element(src, [src_index + 11]) <= 18446744073709551615
-S-  Applied substitution rule get_64_lsb_f_rules(32).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H1:  for_all(i_ : integer, dst__index__subtype__1__first <= i_ and i_ 
          <= dst_index -> 0 <= element(dst, [i_]) and element(dst, [i_]) <= 
          spark__unsigned__u64__last)
<S>  New H47:  element(src, [src_index + 9]) >= 0
<S>  New H53:  element(src, [src_index + 8]) >= 0
<S>  New H65:  element(src, [src_index + 10]) >= 0
<S>  New C5:  element(src, [src_index + 11]) >= 0
-S-  Applied substitution rule get_64_lsb_f_rules(33).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H48:  element(src, [src_index + 9]) <= 18446744073709551615
<S>  New H54:  element(src, [src_index + 8]) <= 18446744073709551615
<S>  New H66:  element(src, [src_index + 10]) <= 18446744073709551615
<S>  New H1:  for_all(i_ : integer, dst__index__subtype__1__first <= i_ and i_ 
          <= dst_index -> 0 <= element(dst, [i_]) and element(dst, [i_]) <= 
          18446744073709551615)
<S>  New C6:  element(src, [src_index + 11]) <= 18446744073709551615
-S-  Applied substitution rule get_64_lsb_f_rules(5).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H52:  src_index <= 2147483638
<S>  New H70:  src_index <= 2147483637
<S>  New C10:  src_index <= 2147483636
***  Proved C2:  true
>>>  Restructured hypothesis H20 into:
     >>>  H20:  dst_index <> dst__index__subtype__1__last
---  Attempted addition of new hypothesis:
          dst_index + 1 <= natural__last
     eliminated: this already exists (as H21).
+++  Using "A->B, A |- B" on hypotheses H8 & H20 yields a new hypothesis:
     +++  H21:  dst_index + 1 <= natural__last
---  Attempted addition of new hypothesis:
          src_index + 8 <= natural__last
     eliminated: this already exists (as H24).
+++  Using "A->B, A |- B" on hypotheses H9 & H20 yields a new hypothesis:
     +++  H24:  src_index + 8 <= natural__last
-S-  Applied substitution rule get_64_lsb_f_rules(4).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H51:  src_index >= - 2147483657
<S>  New H69:  src_index >= - 2147483658
-S-  Applied substitution rule get_64_lsb_f_rules(7).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H11:  src_offset >= 0
<S>  New H25:  src_index >= - 8
-S-  Applied substitution rule get_64_lsb_f_rules(8).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H8:  dst_index <> dst__index__subtype__1__last -> dst_index <= 
          2147483646
<S>  New H9:  dst_index <> dst__index__subtype__1__last -> src_index <= 
          2147483639
<S>  New H12:  src_offset <= 2147483647
<S>  New H19:  src_offset + dst__index__subtype__1__last * 8 <= 2147483647
<S>  New H21:  dst_index <= 2147483646
<S>  New H24:  src_index <= 2147483639
-S-  Applied substitution rule get_64_lsb_f_rules(26).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H10:  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__byte__last)
-S-  Applied substitution rule get_64_lsb_f_rules(27).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H10:  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]) <= 255)
-S-  Applied substitution rule get_64_lsb_f_rules(38).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__first by:
          0.
<S>  New H43:  true
<S>  New H61:  true
-S-  Applied substitution rule get_64_lsb_f_rules(43).
     This was achieved by replacing all occurrences of 
          spark__crypto__word_count_t__first by:
          0.
<S>  New H22:  dst_index >= - 1
-S-  Applied substitution rule get_64_lsb_f_rules(44).
     This was achieved by replacing all occurrences of 
          spark__crypto__word_count_t__last by:
          268435455.
<S>  New H4:  dst__index__subtype__1__last <= 268435455
<S>  New H23:  dst_index <= 268435454
%%%  Hypotheses H3 & H20 together imply that
          dst_index < dst__index__subtype__1__last.
     H3 & H20 have therefore been deleted and a new H73 added to this effect.
***  Proved C3:  element(src, [src_index + 11]) >= 0
     using hypotheses H10, H33 & H34.
***  Proved C4:  element(src, [src_index + 11]) <= 18446744073709551615
     using hypotheses H10, H33 & H34.
***  Proved C5:  element(src, [src_index + 11]) >= 0
     using hypotheses H10, H33 & H34.
***  Proved C6:  element(src, [src_index + 11]) <= 18446744073709551615
     using hypotheses H10, H33 & H34.
---  Eliminated hypothesis H26 (true-hypothesis).
---  Eliminated hypothesis H44 (true-hypothesis).
---  Eliminated hypothesis H49 (true-hypothesis).
---  Eliminated hypothesis H50 (true-hypothesis).
---  Eliminated hypothesis H55 (true-hypothesis).
---  Eliminated hypothesis H56 (true-hypothesis).
---  Eliminated hypothesis H62 (true-hypothesis).
---  Eliminated hypothesis H67 (true-hypothesis).
---  Eliminated hypothesis H68 (true-hypothesis).
---  Eliminated hypothesis H43 (true-hypothesis).
---  Eliminated hypothesis H61 (true-hypothesis).
---  Eliminated hypothesis H47 (duplicate of H45).
---  Eliminated hypothesis H48 (duplicate of H46).
---  Eliminated hypothesis H65 (duplicate of H63).
---  Eliminated hypothesis H66 (duplicate of H64).
---  Eliminated hypothesis H73 (duplicate of H58).
>>>  Using "A->B, A |- B" on H8, given H73, we simplify the former to:
     >>>  H8:  dst_index <= 2147483646
>>>  Using "A->B, A |- B" on H9, given H73, we simplify the former to:
     >>>  H9:  src_index <= 2147483639
---  Eliminated hypothesis H15 (redundant, given H18).
---  Eliminated hypothesis H21 (redundant, given H23).
---  Eliminated hypothesis H22 (redundant, given H2 & H14).
---  Eliminated hypothesis H24 (redundant, given H52).
---  Eliminated hypothesis H28 (redundant, given H30).
---  Eliminated hypothesis H29 (redundant, given H27).
---  Eliminated hypothesis H30 (redundant, given H32).
---  Eliminated hypothesis H31 (redundant, given H27).
---  Eliminated hypothesis H32 (redundant, given H34).
---  Eliminated hypothesis H33 (redundant, given H27).
---  Eliminated hypothesis H34 (redundant, given H36).
---  Eliminated hypothesis H35 (redundant, given H27).
---  Eliminated hypothesis H36 (redundant, given H38).
---  Eliminated hypothesis H37 (redundant, given H27).
---  Eliminated hypothesis H38 (redundant, given H40).
---  Eliminated hypothesis H39 (redundant, given H27).
---  Eliminated hypothesis H40 (redundant, given H42).
---  Eliminated hypothesis H41 (redundant, given H27).
---  Eliminated hypothesis H51 (redundant, given H25).
---  Eliminated hypothesis H52 (redundant, given H70).
---  Eliminated hypothesis H57 (redundant, given H2).
---  Eliminated hypothesis H69 (redundant, given H25).
-S-  Eliminated hypothesis H5.
     This was achieved by replacing all occurrences of src_index by:
          src_offset + dst_index * 8.
<S>  New H6:  src_offset + dst_index * 8 >= src_offset
<S>  New H7:  src_offset + dst_index * 8 <= src_offset + 
          dst__index__subtype__1__last * 8
<S>  New H27:  src_offset + dst_index * 8 + 8 >= src__index__subtype__1__first
<S>  New H42:  src_offset + dst_index * 8 + 15 <= src__index__subtype__1__last
<S>  New H45:  element(src, [src_offset + dst_index * 8 + 9]) >= 0
<S>  New H46:  element(src, [src_offset + dst_index * 8 + 9]) <= 
          18446744073709551615
<S>  New H53:  element(src, [src_offset + dst_index * 8 + 8]) >= 0
<S>  New H54:  element(src, [src_offset + dst_index * 8 + 8]) <= 
          18446744073709551615
<S>  New H59:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 9]), 8) >= 0
<S>  New H60:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 9]), 8) <= 18446744073709551615
<S>  New H63:  element(src, [src_offset + dst_index * 8 + 10]) >= 0
<S>  New H64:  element(src, [src_offset + dst_index * 8 + 10]) <= 
          18446744073709551615
<S>  New H70:  src_offset + dst_index * 8 <= 2147483637
<S>  New H71:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 10]), 16) >= 0
<S>  New H72:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 10]), 16) <= 18446744073709551615
<S>  New H25:  src_offset + dst_index * 8 >= - 8
<S>  New H9:  src_offset + dst_index * 8 <= 2147483639
<S>  New C10:  src_offset + dst_index * 8 <= 2147483636
     +++  New H74:  integer__size >= 0
     +++  New H75:  natural__size >= 0
     +++  New H76:  spark__unsigned__byte__size >= 0
     +++  New H77:  spark__unsigned__u64__size >= 0
     +++  New H78:  spark__unsigned__shift_count__size >= 0
     +++  New H79:  spark__crypto__word_count_t__size >= 0
     +++  New H80:  dst__index__subtype__1__first <= 
          dst__index__subtype__1__last
     +++  New H81:  src__index__subtype__1__first <= 
          src__index__subtype__1__last
     +++  New H82:  src__index__subtype__1__first >= 0
     +++  New H83:  src__index__subtype__1__last >= 0
     +++  New H84:  src__index__subtype__1__last <= 2147483647
     +++  New H85:  src__index__subtype__1__first <= 2147483647
     +++  New H86:  dst__index__subtype__1__first >= 0
     +++  New H87:  dst__index__subtype__1__last >= 0
---  Attempted addition of new hypothesis:
          dst__index__subtype__1__last <= 268435455
     eliminated: this already exists (as H4).
     +++  New H4:  dst__index__subtype__1__last <= 268435455
     +++  New H88:  dst__index__subtype__1__first <= 268435455
***  Proved C10:  src_offset + dst_index * 8 <= 2147483636
     using hypotheses H42 & H84.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_64_lsb_first_11.  @@@@@@@@@@
%%%  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__byte__first <= element(src, [i___1]) and element(
          src, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H13 has been replaced by "true".  (It is already present, as H9)
          .
---  Hypothesis H14 has been replaced by "true".  (It is already present, as 
          H10).
---  Hypothesis H16 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H30 has been replaced by "true".  (It is already present, as H6)
          .
---  Hypothesis H37 has been replaced by "true".  (It is already present, as 
          H17).
---  Hypothesis H38 has been replaced by "true".  (It is already present, as 
          H18).
---  Hypothesis H43 has been replaced by "true".  (It is already present, as 
          H15).
---  Hypothesis H44 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H19).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H20).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H21).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H22).
***  Proved C1:  32 >= spark__unsigned__shift_count__first
     using hypothesis H31.
***  Proved C7:  src_offset + 4 >= src__index__subtype__1__first
     using hypothesis H23.
***  Proved C8:  src_offset + 4 <= src__index__subtype__1__last
     using hypothesis H24.
***  Proved C9:  src_offset + 4 >= integer__base__first
     using hypothesis H39.
-S-  Applied substitution rule get_64_lsb_f_rules(39).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__last by:
          64.
<S>  New H32:  true
<S>  New H50:  true
<S>  New H62:  true
<S>  New C2:  true
-S-  Applied substitution rule get_64_lsb_f_rules(20).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__first by:
          0.
<S>  New H33:  element(src, [src_offset + 1]) >= 0
<S>  New H47:  spark__unsigned__shift_left_64(element(src, [src_offset + 1]), 8)
           >= 0
<S>  New H51:  element(src, [src_offset + 2]) >= 0
<S>  New H59:  spark__unsigned__shift_left_64(element(src, [src_offset + 2]), 
          16) >= 0
<S>  New H63:  element(src, [src_offset + 3]) >= 0
<S>  New H71:  spark__unsigned__shift_left_64(element(src, [src_offset + 3]), 
          24) >= 0
<S>  New C3:  element(src, [src_offset + 4]) >= 0
-S-  Applied substitution rule get_64_lsb_f_rules(21).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__last by:
          18446744073709551615.
<S>  New H34:  element(src, [src_offset + 1]) <= 18446744073709551615
<S>  New H48:  spark__unsigned__shift_left_64(element(src, [src_offset + 1]), 8)
           <= 18446744073709551615
<S>  New H52:  element(src, [src_offset + 2]) <= 18446744073709551615
<S>  New H60:  spark__unsigned__shift_left_64(element(src, [src_offset + 2]), 
          16) <= 18446744073709551615
<S>  New H64:  element(src, [src_offset + 3]) <= 18446744073709551615
<S>  New H72:  spark__unsigned__shift_left_64(element(src, [src_offset + 3]), 
          24) <= 18446744073709551615
<S>  New C4:  element(src, [src_offset + 4]) <= 18446744073709551615
-S-  Applied substitution rule get_64_lsb_f_rules(32).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H35:  element(src, [src_offset + 1]) >= 0
<S>  New H41:  element(src, [src_offset]) >= 0
<S>  New H53:  element(src, [src_offset + 2]) >= 0
<S>  New H65:  element(src, [src_offset + 3]) >= 0
<S>  New C5:  element(src, [src_offset + 4]) >= 0
-S-  Applied substitution rule get_64_lsb_f_rules(33).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H36:  element(src, [src_offset + 1]) <= 18446744073709551615
<S>  New H42:  element(src, [src_offset]) <= 18446744073709551615
<S>  New H54:  element(src, [src_offset + 2]) <= 18446744073709551615
<S>  New H66:  element(src, [src_offset + 3]) <= 18446744073709551615
<S>  New C6:  element(src, [src_offset + 4]) <= 18446744073709551615
-S-  Applied substitution rule get_64_lsb_f_rules(5).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H40:  src_offset <= 2147483646
<S>  New H58:  src_offset <= 2147483645
<S>  New H70:  src_offset <= 2147483644
<S>  New C10:  src_offset <= 2147483643
***  Proved C2:  true
-S-  Applied substitution rule get_64_lsb_f_rules(4).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H39:  src_offset >= - 2147483649
<S>  New H57:  src_offset >= - 2147483650
<S>  New H69:  src_offset >= - 2147483651
-S-  Applied substitution rule get_64_lsb_f_rules(7).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H9:  src_offset >= 0
-S-  Applied substitution rule get_64_lsb_f_rules(8).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H7:  src_offset + dst__index__subtype__1__last * 8 <= 2147483647
<S>  New H10:  src_offset <= 2147483647
-S-  Applied substitution rule get_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, 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__byte__last)
-S-  Applied substitution rule get_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, 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]) <= 255)
-S-  Applied substitution rule get_64_lsb_f_rules(38).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__first by:
          0.
<S>  New H31:  true
<S>  New H49:  true
<S>  New H61:  true
-S-  Applied substitution rule get_64_lsb_f_rules(43).
     This was achieved by replacing all occurrences of 
          spark__crypto__word_count_t__first by:
          0.
<S>  New H11:  true
-S-  Applied substitution rule get_64_lsb_f_rules(44).
     This was achieved by replacing all occurrences of 
          spark__crypto__word_count_t__last by:
          268435455.
<S>  New H12:  true
***  Proved C3:  element(src, [src_offset + 4]) >= 0
     using hypotheses H8, H23 & H24.
***  Proved C4:  element(src, [src_offset + 4]) <= 18446744073709551615
     using hypotheses H8, H23 & H24.
***  Proved C5:  element(src, [src_offset + 4]) >= 0
     using hypotheses H8, H23 & H24.
***  Proved C6:  element(src, [src_offset + 4]) <= 18446744073709551615
     using hypotheses H8, H23 & H24.
---  Eliminated hypothesis H13 (true-hypothesis).
---  Eliminated hypothesis H14 (true-hypothesis).
---  Eliminated hypothesis H16 (true-hypothesis).
---  Eliminated hypothesis H30 (true-hypothesis).
---  Eliminated hypothesis H32 (true-hypothesis).
---  Eliminated hypothesis H37 (true-hypothesis).
---  Eliminated hypothesis H38 (true-hypothesis).
---  Eliminated hypothesis H43 (true-hypothesis).
---  Eliminated hypothesis H44 (true-hypothesis).
---  Eliminated hypothesis H50 (true-hypothesis).
---  Eliminated hypothesis H55 (true-hypothesis).
---  Eliminated hypothesis H56 (true-hypothesis).
---  Eliminated hypothesis H62 (true-hypothesis).
---  Eliminated hypothesis H67 (true-hypothesis).
---  Eliminated hypothesis H68 (true-hypothesis).
---  Eliminated hypothesis H31 (true-hypothesis).
---  Eliminated hypothesis H49 (true-hypothesis).
---  Eliminated hypothesis H61 (true-hypothesis).
---  Eliminated hypothesis H11 (true-hypothesis).
---  Eliminated hypothesis H12 (true-hypothesis).
---  Eliminated hypothesis H35 (duplicate of H33).
---  Eliminated hypothesis H36 (duplicate of H34).
---  Eliminated hypothesis H53 (duplicate of H51).
---  Eliminated hypothesis H54 (duplicate of H52).
---  Eliminated hypothesis H65 (duplicate of H63).
---  Eliminated hypothesis H66 (duplicate of H64).
---  Eliminated hypothesis H3 (redundant, given H6).
---  Eliminated hypothesis H10 (redundant, given H40).
---  Eliminated hypothesis H17 (redundant, given H15).
---  Eliminated hypothesis H18 (redundant, given H6).
---  Eliminated hypothesis H19 (redundant, given H15).
---  Eliminated hypothesis H20 (redundant, given H6).
---  Eliminated hypothesis H21 (redundant, given H15).
---  Eliminated hypothesis H22 (redundant, given H6).
---  Eliminated hypothesis H23 (redundant, given H15).
---  Eliminated hypothesis H24 (redundant, given H6).
---  Eliminated hypothesis H25 (redundant, given H15).
---  Eliminated hypothesis H26 (redundant, given H6).
---  Eliminated hypothesis H27 (redundant, given H15).
---  Eliminated hypothesis H28 (redundant, given H6).
---  Eliminated hypothesis H29 (redundant, given H15).
---  Eliminated hypothesis H39 (redundant, given H9).
---  Eliminated hypothesis H40 (redundant, given H58).
---  Eliminated hypothesis H45 (redundant, given H2).
---  Eliminated hypothesis H57 (redundant, given H9).
---  Eliminated hypothesis H58 (redundant, given H70).
---  Eliminated hypothesis H69 (redundant, given H9).
     +++  New H73:  integer__size >= 0
     +++  New H74:  natural__size >= 0
     +++  New H75:  spark__unsigned__byte__size >= 0
     +++  New H76:  spark__unsigned__u64__size >= 0
     +++  New H77:  spark__unsigned__shift_count__size >= 0
     +++  New H78:  spark__crypto__word_count_t__size >= 0
     +++  New H79:  dst__index__subtype__1__first <= 
          dst__index__subtype__1__last
     +++  New H80:  src__index__subtype__1__first <= 
          src__index__subtype__1__last
     +++  New H81:  src__index__subtype__1__first >= 0
     +++  New H82:  src__index__subtype__1__last >= 0
     +++  New H83:  src__index__subtype__1__last <= 2147483647
     +++  New H84:  src__index__subtype__1__first <= 2147483647
     +++  New H85:  dst__index__subtype__1__first >= 0
     +++  New H86:  dst__index__subtype__1__last >= 0
     +++  New H87:  dst__index__subtype__1__last <= 268435455
     +++  New H88:  dst__index__subtype__1__first <= 268435455
***  Proved C10:  src_offset <= 2147483643
     using hypotheses H6 & H83.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_64_lsb_first_12.  @@@@@@@@@@
%%%  Simplified H1 on reading formula in, to give:
     %%%  H1:  for_all(i_ : integer, dst__index__subtype__1__first <= i_ and i_ 
          <= dst_index -> spark__unsigned__u64__first <= element(dst, [i_]) and 
          element(dst, [i_]) <= spark__unsigned__u64__last)
%%%  Simplified H10 on reading formula in, to give:
     %%%  H10:  for_all(i___1 : integer, src__index__subtype__1__first <= i___1 
          and i___1 <= src__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(src, [i___1]) and element(
          src, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
%%%  Simplified H29 on reading formula in, to give:
     %%%  H29:  src_index + 9 >= src__index__subtype__1__first
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  src_index + 9 <= src__index__subtype__1__last
%%%  Simplified H31 on reading formula in, to give:
     %%%  H31:  src_index + 10 >= src__index__subtype__1__first
%%%  Simplified H32 on reading formula in, to give:
     %%%  H32:  src_index + 10 <= src__index__subtype__1__last
%%%  Simplified H33 on reading formula in, to give:
     %%%  H33:  src_index + 11 >= src__index__subtype__1__first
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  src_index + 11 <= src__index__subtype__1__last
%%%  Simplified H35 on reading formula in, to give:
     %%%  H35:  src_index + 12 >= src__index__subtype__1__first
%%%  Simplified H36 on reading formula in, to give:
     %%%  H36:  src_index + 12 <= src__index__subtype__1__last
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  src_index + 13 >= src__index__subtype__1__first
%%%  Simplified H38 on reading formula in, to give:
     %%%  H38:  src_index + 13 <= src__index__subtype__1__last
%%%  Simplified H39 on reading formula in, to give:
     %%%  H39:  src_index + 14 >= src__index__subtype__1__first
%%%  Simplified H40 on reading formula in, to give:
     %%%  H40:  src_index + 14 <= src__index__subtype__1__last
%%%  Simplified H41 on reading formula in, to give:
     %%%  H41:  src_index + 15 >= src__index__subtype__1__first
%%%  Simplified H42 on reading formula in, to give:
     %%%  H42:  src_index + 15 <= src__index__subtype__1__last
%%%  Simplified H45 on reading formula in, to give:
     %%%  H45:  element(src, [src_index + 9]) >= interfaces__unsigned_64__first
%%%  Simplified H46 on reading formula in, to give:
     %%%  H46:  element(src, [src_index + 9]) <= interfaces__unsigned_64__last
%%%  Simplified H47 on reading formula in, to give:
     %%%  H47:  element(src, [src_index + 9]) >= spark__unsigned__u64__first
%%%  Simplified H48 on reading formula in, to give:
     %%%  H48:  element(src, [src_index + 9]) <= spark__unsigned__u64__last
---  Hypothesis H49 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H50 has been replaced by "true".  (It is already present, as 
          H30).
%%%  Simplified H51 on reading formula in, to give:
     %%%  H51:  src_index + 9 >= integer__base__first
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  src_index + 9 <= integer__base__last
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H27).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H28).
%%%  Simplified H59 on reading formula in, to give:
     %%%  H59:  spark__unsigned__shift_left_64(element(src, [src_index + 9]), 8)
           >= interfaces__unsigned_64__first
%%%  Simplified H60 on reading formula in, to give:
     %%%  H60:  spark__unsigned__shift_left_64(element(src, [src_index + 9]), 8)
           <= interfaces__unsigned_64__last
%%%  Simplified H63 on reading formula in, to give:
     %%%  H63:  element(src, [src_index + 10]) >= interfaces__unsigned_64__first
%%%  Simplified H64 on reading formula in, to give:
     %%%  H64:  element(src, [src_index + 10]) <= interfaces__unsigned_64__last
%%%  Simplified H65 on reading formula in, to give:
     %%%  H65:  element(src, [src_index + 10]) >= spark__unsigned__u64__first
%%%  Simplified H66 on reading formula in, to give:
     %%%  H66:  element(src, [src_index + 10]) <= spark__unsigned__u64__last
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H32).
%%%  Simplified H69 on reading formula in, to give:
     %%%  H69:  src_index + 10 >= integer__base__first
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  src_index + 10 <= integer__base__last
%%%  Simplified H71 on reading formula in, to give:
     %%%  H71:  spark__unsigned__shift_left_64(element(src, [src_index + 10]), 
          16) >= interfaces__unsigned_64__first
%%%  Simplified H72 on reading formula in, to give:
     %%%  H72:  spark__unsigned__shift_left_64(element(src, [src_index + 10]), 
          16) <= interfaces__unsigned_64__last
%%%  Simplified H75 on reading formula in, to give:
     %%%  H75:  element(src, [src_index + 11]) >= interfaces__unsigned_64__first
%%%  Simplified H76 on reading formula in, to give:
     %%%  H76:  element(src, [src_index + 11]) <= interfaces__unsigned_64__last
%%%  Simplified H77 on reading formula in, to give:
     %%%  H77:  element(src, [src_index + 11]) >= spark__unsigned__u64__first
%%%  Simplified H78 on reading formula in, to give:
     %%%  H78:  element(src, [src_index + 11]) <= spark__unsigned__u64__last
---  Hypothesis H79 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H80 has been replaced by "true".  (It is already present, as 
          H34).
%%%  Simplified H81 on reading formula in, to give:
     %%%  H81:  src_index + 11 >= integer__base__first
%%%  Simplified H82 on reading formula in, to give:
     %%%  H82:  src_index + 11 <= integer__base__last
%%%  Simplified H83 on reading formula in, to give:
     %%%  H83:  spark__unsigned__shift_left_64(element(src, [src_index + 11]), 
          24) >= interfaces__unsigned_64__first
%%%  Simplified H84 on reading formula in, to give:
     %%%  H84:  spark__unsigned__shift_left_64(element(src, [src_index + 11]), 
          24) <= interfaces__unsigned_64__last
%%%  Simplified C3 on reading formula in, to give:
     %%%  C3:  element(src, [src_index + 12]) >= interfaces__unsigned_64__first
%%%  Simplified C4 on reading formula in, to give:
     %%%  C4:  element(src, [src_index + 12]) <= interfaces__unsigned_64__last
%%%  Simplified C5 on reading formula in, to give:
     %%%  C5:  element(src, [src_index + 12]) >= spark__unsigned__u64__first
%%%  Simplified C6 on reading formula in, to give:
     %%%  C6:  element(src, [src_index + 12]) <= spark__unsigned__u64__last
%%%  Simplified C7 on reading formula in, to give:
     %%%  C7:  src_index + 12 >= src__index__subtype__1__first
%%%  Simplified C8 on reading formula in, to give:
     %%%  C8:  src_index + 12 <= src__index__subtype__1__last
%%%  Simplified C9 on reading formula in, to give:
     %%%  C9:  src_index + 12 >= integer__base__first
%%%  Simplified C10 on reading formula in, to give:
     %%%  C10:  src_index + 12 <= integer__base__last
***  Proved C1:  32 >= spark__unsigned__shift_count__first
     using hypothesis H43.
***  Proved C7:  src_index + 12 >= src__index__subtype__1__first
     using hypothesis H35.
***  Proved C8:  src_index + 12 <= src__index__subtype__1__last
     using hypothesis H36.
***  Proved C9:  src_index + 12 >= integer__base__first
     using hypothesis H51.
-S-  Applied substitution rule get_64_lsb_f_rules(39).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__last by:
          64.
<S>  New H44:  true
<S>  New H62:  true
<S>  New H74:  true
<S>  New C2:  true
-S-  Applied substitution rule get_64_lsb_f_rules(20).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__first by:
          0.
<S>  New H45:  element(src, [src_index + 9]) >= 0
<S>  New H59:  spark__unsigned__shift_left_64(element(src, [src_index + 9]), 8) 
          >= 0
<S>  New H63:  element(src, [src_index + 10]) >= 0
<S>  New H71:  spark__unsigned__shift_left_64(element(src, [src_index + 10]), 
          16) >= 0
<S>  New H75:  element(src, [src_index + 11]) >= 0
<S>  New H83:  spark__unsigned__shift_left_64(element(src, [src_index + 11]), 
          24) >= 0
<S>  New C3:  element(src, [src_index + 12]) >= 0
-S-  Applied substitution rule get_64_lsb_f_rules(21).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__last by:
          18446744073709551615.
<S>  New H46:  element(src, [src_index + 9]) <= 18446744073709551615
<S>  New H60:  spark__unsigned__shift_left_64(element(src, [src_index + 9]), 8) 
          <= 18446744073709551615
<S>  New H64:  element(src, [src_index + 10]) <= 18446744073709551615
<S>  New H72:  spark__unsigned__shift_left_64(element(src, [src_index + 10]), 
          16) <= 18446744073709551615
<S>  New H76:  element(src, [src_index + 11]) <= 18446744073709551615
<S>  New H84:  spark__unsigned__shift_left_64(element(src, [src_index + 11]), 
          24) <= 18446744073709551615
<S>  New C4:  element(src, [src_index + 12]) <= 18446744073709551615
-S-  Applied substitution rule get_64_lsb_f_rules(32).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H1:  for_all(i_ : integer, dst__index__subtype__1__first <= i_ and i_ 
          <= dst_index -> 0 <= element(dst, [i_]) and element(dst, [i_]) <= 
          spark__unsigned__u64__last)
<S>  New H47:  element(src, [src_index + 9]) >= 0
<S>  New H53:  element(src, [src_index + 8]) >= 0
<S>  New H65:  element(src, [src_index + 10]) >= 0
<S>  New H77:  element(src, [src_index + 11]) >= 0
<S>  New C5:  element(src, [src_index + 12]) >= 0
-S-  Applied substitution rule get_64_lsb_f_rules(33).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H48:  element(src, [src_index + 9]) <= 18446744073709551615
<S>  New H54:  element(src, [src_index + 8]) <= 18446744073709551615
<S>  New H66:  element(src, [src_index + 10]) <= 18446744073709551615
<S>  New H78:  element(src, [src_index + 11]) <= 18446744073709551615
<S>  New H1:  for_all(i_ : integer, dst__index__subtype__1__first <= i_ and i_ 
          <= dst_index -> 0 <= element(dst, [i_]) and element(dst, [i_]) <= 
          18446744073709551615)
<S>  New C6:  element(src, [src_index + 12]) <= 18446744073709551615
-S-  Applied substitution rule get_64_lsb_f_rules(5).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H52:  src_index <= 2147483638
<S>  New H70:  src_index <= 2147483637
<S>  New H82:  src_index <= 2147483636
<S>  New C10:  src_index <= 2147483635
***  Proved C2:  true
>>>  Restructured hypothesis H20 into:
     >>>  H20:  dst_index <> dst__index__subtype__1__last
---  Attempted addition of new hypothesis:
          dst_index + 1 <= natural__last
     eliminated: this already exists (as H21).
+++  Using "A->B, A |- B" on hypotheses H8 & H20 yields a new hypothesis:
     +++  H21:  dst_index + 1 <= natural__last
---  Attempted addition of new hypothesis:
          src_index + 8 <= natural__last
     eliminated: this already exists (as H24).
+++  Using "A->B, A |- B" on hypotheses H9 & H20 yields a new hypothesis:
     +++  H24:  src_index + 8 <= natural__last
-S-  Applied substitution rule get_64_lsb_f_rules(4).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H51:  src_index >= - 2147483657
<S>  New H69:  src_index >= - 2147483658
<S>  New H81:  src_index >= - 2147483659
-S-  Applied substitution rule get_64_lsb_f_rules(7).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H11:  src_offset >= 0
<S>  New H25:  src_index >= - 8
-S-  Applied substitution rule get_64_lsb_f_rules(8).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H8:  dst_index <> dst__index__subtype__1__last -> dst_index <= 
          2147483646
<S>  New H9:  dst_index <> dst__index__subtype__1__last -> src_index <= 
          2147483639
<S>  New H12:  src_offset <= 2147483647
<S>  New H19:  src_offset + dst__index__subtype__1__last * 8 <= 2147483647
<S>  New H21:  dst_index <= 2147483646
<S>  New H24:  src_index <= 2147483639
-S-  Applied substitution rule get_64_lsb_f_rules(26).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H10:  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__byte__last)
-S-  Applied substitution rule get_64_lsb_f_rules(27).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H10:  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]) <= 255)
-S-  Applied substitution rule get_64_lsb_f_rules(38).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__first by:
          0.
<S>  New H43:  true
<S>  New H61:  true
<S>  New H73:  true
-S-  Applied substitution rule get_64_lsb_f_rules(43).
     This was achieved by replacing all occurrences of 
          spark__crypto__word_count_t__first by:
          0.
<S>  New H22:  dst_index >= - 1
-S-  Applied substitution rule get_64_lsb_f_rules(44).
     This was achieved by replacing all occurrences of 
          spark__crypto__word_count_t__last by:
          268435455.
<S>  New H4:  dst__index__subtype__1__last <= 268435455
<S>  New H23:  dst_index <= 268435454
%%%  Hypotheses H3 & H20 together imply that
          dst_index < dst__index__subtype__1__last.
     H3 & H20 have therefore been deleted and a new H85 added to this effect.
***  Proved C3:  element(src, [src_index + 12]) >= 0
     using hypotheses H10, H35 & H36.
***  Proved C4:  element(src, [src_index + 12]) <= 18446744073709551615
     using hypotheses H10, H35 & H36.
***  Proved C5:  element(src, [src_index + 12]) >= 0
     using hypotheses H10, H35 & H36.
***  Proved C6:  element(src, [src_index + 12]) <= 18446744073709551615
     using hypotheses H10, H35 & H36.
---  Eliminated hypothesis H26 (true-hypothesis).
---  Eliminated hypothesis H44 (true-hypothesis).
---  Eliminated hypothesis H49 (true-hypothesis).
---  Eliminated hypothesis H50 (true-hypothesis).
---  Eliminated hypothesis H55 (true-hypothesis).
---  Eliminated hypothesis H56 (true-hypothesis).
---  Eliminated hypothesis H62 (true-hypothesis).
---  Eliminated hypothesis H67 (true-hypothesis).
---  Eliminated hypothesis H68 (true-hypothesis).
---  Eliminated hypothesis H74 (true-hypothesis).
---  Eliminated hypothesis H79 (true-hypothesis).
---  Eliminated hypothesis H80 (true-hypothesis).
---  Eliminated hypothesis H43 (true-hypothesis).
---  Eliminated hypothesis H61 (true-hypothesis).
---  Eliminated hypothesis H73 (true-hypothesis).
---  Eliminated hypothesis H47 (duplicate of H45).
---  Eliminated hypothesis H48 (duplicate of H46).
---  Eliminated hypothesis H65 (duplicate of H63).
---  Eliminated hypothesis H66 (duplicate of H64).
---  Eliminated hypothesis H77 (duplicate of H75).
---  Eliminated hypothesis H78 (duplicate of H76).
---  Eliminated hypothesis H85 (duplicate of H58).
>>>  Using "A->B, A |- B" on H8, given H85, we simplify the former to:
     >>>  H8:  dst_index <= 2147483646
>>>  Using "A->B, A |- B" on H9, given H85, we simplify the former to:
     >>>  H9:  src_index <= 2147483639
---  Eliminated hypothesis H15 (redundant, given H18).
---  Eliminated hypothesis H21 (redundant, given H23).
---  Eliminated hypothesis H22 (redundant, given H2 & H14).
---  Eliminated hypothesis H24 (redundant, given H52).
---  Eliminated hypothesis H28 (redundant, given H30).
---  Eliminated hypothesis H29 (redundant, given H27).
---  Eliminated hypothesis H30 (redundant, given H32).
---  Eliminated hypothesis H31 (redundant, given H27).
---  Eliminated hypothesis H32 (redundant, given H34).
---  Eliminated hypothesis H33 (redundant, given H27).
---  Eliminated hypothesis H34 (redundant, given H36).
---  Eliminated hypothesis H35 (redundant, given H27).
---  Eliminated hypothesis H36 (redundant, given H38).
---  Eliminated hypothesis H37 (redundant, given H27).
---  Eliminated hypothesis H38 (redundant, given H40).
---  Eliminated hypothesis H39 (redundant, given H27).
---  Eliminated hypothesis H40 (redundant, given H42).
---  Eliminated hypothesis H41 (redundant, given H27).
---  Eliminated hypothesis H51 (redundant, given H25).
---  Eliminated hypothesis H52 (redundant, given H70).
---  Eliminated hypothesis H57 (redundant, given H2).
---  Eliminated hypothesis H69 (redundant, given H25).
---  Eliminated hypothesis H70 (redundant, given H82).
---  Eliminated hypothesis H81 (redundant, given H25).
-S-  Eliminated hypothesis H5.
     This was achieved by replacing all occurrences of src_index by:
          src_offset + dst_index * 8.
<S>  New H6:  src_offset + dst_index * 8 >= src_offset
<S>  New H7:  src_offset + dst_index * 8 <= src_offset + 
          dst__index__subtype__1__last * 8
<S>  New H27:  src_offset + dst_index * 8 + 8 >= src__index__subtype__1__first
<S>  New H42:  src_offset + dst_index * 8 + 15 <= src__index__subtype__1__last
<S>  New H45:  element(src, [src_offset + dst_index * 8 + 9]) >= 0
<S>  New H46:  element(src, [src_offset + dst_index * 8 + 9]) <= 
          18446744073709551615
<S>  New H53:  element(src, [src_offset + dst_index * 8 + 8]) >= 0
<S>  New H54:  element(src, [src_offset + dst_index * 8 + 8]) <= 
          18446744073709551615
<S>  New H59:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 9]), 8) >= 0
<S>  New H60:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 9]), 8) <= 18446744073709551615
<S>  New H63:  element(src, [src_offset + dst_index * 8 + 10]) >= 0
<S>  New H64:  element(src, [src_offset + dst_index * 8 + 10]) <= 
          18446744073709551615
<S>  New H71:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 10]), 16) >= 0
<S>  New H72:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 10]), 16) <= 18446744073709551615
<S>  New H75:  element(src, [src_offset + dst_index * 8 + 11]) >= 0
<S>  New H76:  element(src, [src_offset + dst_index * 8 + 11]) <= 
          18446744073709551615
<S>  New H82:  src_offset + dst_index * 8 <= 2147483636
<S>  New H83:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 11]), 24) >= 0
<S>  New H84:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 11]), 24) <= 18446744073709551615
<S>  New H25:  src_offset + dst_index * 8 >= - 8
<S>  New H9:  src_offset + dst_index * 8 <= 2147483639
<S>  New C10:  src_offset + dst_index * 8 <= 2147483635
     +++  New H86:  integer__size >= 0
     +++  New H87:  natural__size >= 0
     +++  New H88:  spark__unsigned__byte__size >= 0
     +++  New H89:  spark__unsigned__u64__size >= 0
     +++  New H90:  spark__unsigned__shift_count__size >= 0
     +++  New H91:  spark__crypto__word_count_t__size >= 0
     +++  New H92:  dst__index__subtype__1__first <= 
          dst__index__subtype__1__last
     +++  New H93:  src__index__subtype__1__first <= 
          src__index__subtype__1__last
     +++  New H94:  src__index__subtype__1__first >= 0
     +++  New H95:  src__index__subtype__1__last >= 0
     +++  New H96:  src__index__subtype__1__last <= 2147483647
     +++  New H97:  src__index__subtype__1__first <= 2147483647
     +++  New H98:  dst__index__subtype__1__first >= 0
     +++  New H99:  dst__index__subtype__1__last >= 0
---  Attempted addition of new hypothesis:
          dst__index__subtype__1__last <= 268435455
     eliminated: this already exists (as H4).
     +++  New H4:  dst__index__subtype__1__last <= 268435455
     +++  New H100:  dst__index__subtype__1__first <= 268435455
***  Proved C10:  src_offset + dst_index * 8 <= 2147483635
     using hypotheses H42 & H96.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_64_lsb_first_13.  @@@@@@@@@@
%%%  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__byte__first <= element(src, [i___1]) and element(
          src, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H13 has been replaced by "true".  (It is already present, as H9)
          .
---  Hypothesis H14 has been replaced by "true".  (It is already present, as 
          H10).
---  Hypothesis H16 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H30 has been replaced by "true".  (It is already present, as H6)
          .
---  Hypothesis H37 has been replaced by "true".  (It is already present, as 
          H17).
---  Hypothesis H38 has been replaced by "true".  (It is already present, as 
          H18).
---  Hypothesis H43 has been replaced by "true".  (It is already present, as 
          H15).
---  Hypothesis H44 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H19).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H20).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H21).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H22).
---  Hypothesis H79 has been replaced by "true".  (It is already present, as 
          H23).
---  Hypothesis H80 has been replaced by "true".  (It is already present, as 
          H24).
***  Proved C1:  40 >= spark__unsigned__shift_count__first
     using hypothesis H31.
***  Proved C7:  src_offset + 5 >= src__index__subtype__1__first
     using hypothesis H25.
***  Proved C8:  src_offset + 5 <= src__index__subtype__1__last
     using hypothesis H26.
***  Proved C9:  src_offset + 5 >= integer__base__first
     using hypothesis H39.
-S-  Applied substitution rule get_64_lsb_f_rules(39).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__last by:
          64.
<S>  New H32:  true
<S>  New H50:  true
<S>  New H62:  true
<S>  New H74:  true
<S>  New C2:  true
-S-  Applied substitution rule get_64_lsb_f_rules(20).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__first by:
          0.
<S>  New H33:  element(src, [src_offset + 1]) >= 0
<S>  New H47:  spark__unsigned__shift_left_64(element(src, [src_offset + 1]), 8)
           >= 0
<S>  New H51:  element(src, [src_offset + 2]) >= 0
<S>  New H59:  spark__unsigned__shift_left_64(element(src, [src_offset + 2]), 
          16) >= 0
<S>  New H63:  element(src, [src_offset + 3]) >= 0
<S>  New H71:  spark__unsigned__shift_left_64(element(src, [src_offset + 3]), 
          24) >= 0
<S>  New H75:  element(src, [src_offset + 4]) >= 0
<S>  New H83:  spark__unsigned__shift_left_64(element(src, [src_offset + 4]), 
          32) >= 0
<S>  New C3:  element(src, [src_offset + 5]) >= 0
-S-  Applied substitution rule get_64_lsb_f_rules(21).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__last by:
          18446744073709551615.
<S>  New H34:  element(src, [src_offset + 1]) <= 18446744073709551615
<S>  New H48:  spark__unsigned__shift_left_64(element(src, [src_offset + 1]), 8)
           <= 18446744073709551615
<S>  New H52:  element(src, [src_offset + 2]) <= 18446744073709551615
<S>  New H60:  spark__unsigned__shift_left_64(element(src, [src_offset + 2]), 
          16) <= 18446744073709551615
<S>  New H64:  element(src, [src_offset + 3]) <= 18446744073709551615
<S>  New H72:  spark__unsigned__shift_left_64(element(src, [src_offset + 3]), 
          24) <= 18446744073709551615
<S>  New H76:  element(src, [src_offset + 4]) <= 18446744073709551615
<S>  New H84:  spark__unsigned__shift_left_64(element(src, [src_offset + 4]), 
          32) <= 18446744073709551615
<S>  New C4:  element(src, [src_offset + 5]) <= 18446744073709551615
-S-  Applied substitution rule get_64_lsb_f_rules(32).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H35:  element(src, [src_offset + 1]) >= 0
<S>  New H41:  element(src, [src_offset]) >= 0
<S>  New H53:  element(src, [src_offset + 2]) >= 0
<S>  New H65:  element(src, [src_offset + 3]) >= 0
<S>  New H77:  element(src, [src_offset + 4]) >= 0
<S>  New C5:  element(src, [src_offset + 5]) >= 0
-S-  Applied substitution rule get_64_lsb_f_rules(33).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H36:  element(src, [src_offset + 1]) <= 18446744073709551615
<S>  New H42:  element(src, [src_offset]) <= 18446744073709551615
<S>  New H54:  element(src, [src_offset + 2]) <= 18446744073709551615
<S>  New H66:  element(src, [src_offset + 3]) <= 18446744073709551615
<S>  New H78:  element(src, [src_offset + 4]) <= 18446744073709551615
<S>  New C6:  element(src, [src_offset + 5]) <= 18446744073709551615
-S-  Applied substitution rule get_64_lsb_f_rules(5).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H40:  src_offset <= 2147483646
<S>  New H58:  src_offset <= 2147483645
<S>  New H70:  src_offset <= 2147483644
<S>  New H82:  src_offset <= 2147483643
<S>  New C10:  src_offset <= 2147483642
***  Proved C2:  true
-S-  Applied substitution rule get_64_lsb_f_rules(4).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H39:  src_offset >= - 2147483649
<S>  New H57:  src_offset >= - 2147483650
<S>  New H69:  src_offset >= - 2147483651
<S>  New H81:  src_offset >= - 2147483652
-S-  Applied substitution rule get_64_lsb_f_rules(7).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H9:  src_offset >= 0
-S-  Applied substitution rule get_64_lsb_f_rules(8).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H7:  src_offset + dst__index__subtype__1__last * 8 <= 2147483647
<S>  New H10:  src_offset <= 2147483647
-S-  Applied substitution rule get_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, 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__byte__last)
-S-  Applied substitution rule get_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, 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]) <= 255)
-S-  Applied substitution rule get_64_lsb_f_rules(38).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__first by:
          0.
<S>  New H31:  true
<S>  New H49:  true
<S>  New H61:  true
<S>  New H73:  true
-S-  Applied substitution rule get_64_lsb_f_rules(43).
     This was achieved by replacing all occurrences of 
          spark__crypto__word_count_t__first by:
          0.
<S>  New H11:  true
-S-  Applied substitution rule get_64_lsb_f_rules(44).
     This was achieved by replacing all occurrences of 
          spark__crypto__word_count_t__last by:
          268435455.
<S>  New H12:  true
***  Proved C3:  element(src, [src_offset + 5]) >= 0
     using hypotheses H8, H25 & H26.
***  Proved C4:  element(src, [src_offset + 5]) <= 18446744073709551615
     using hypotheses H8, H25 & H26.
***  Proved C5:  element(src, [src_offset + 5]) >= 0
     using hypotheses H8, H25 & H26.
***  Proved C6:  element(src, [src_offset + 5]) <= 18446744073709551615
     using hypotheses H8, H25 & H26.
---  Eliminated hypothesis H13 (true-hypothesis).
---  Eliminated hypothesis H14 (true-hypothesis).
---  Eliminated hypothesis H16 (true-hypothesis).
---  Eliminated hypothesis H30 (true-hypothesis).
---  Eliminated hypothesis H32 (true-hypothesis).
---  Eliminated hypothesis H37 (true-hypothesis).
---  Eliminated hypothesis H38 (true-hypothesis).
---  Eliminated hypothesis H43 (true-hypothesis).
---  Eliminated hypothesis H44 (true-hypothesis).
---  Eliminated hypothesis H50 (true-hypothesis).
---  Eliminated hypothesis H55 (true-hypothesis).
---  Eliminated hypothesis H56 (true-hypothesis).
---  Eliminated hypothesis H62 (true-hypothesis).
---  Eliminated hypothesis H67 (true-hypothesis).
---  Eliminated hypothesis H68 (true-hypothesis).
---  Eliminated hypothesis H74 (true-hypothesis).
---  Eliminated hypothesis H79 (true-hypothesis).
---  Eliminated hypothesis H80 (true-hypothesis).
---  Eliminated hypothesis H31 (true-hypothesis).
---  Eliminated hypothesis H49 (true-hypothesis).
---  Eliminated hypothesis H61 (true-hypothesis).
---  Eliminated hypothesis H73 (true-hypothesis).
---  Eliminated hypothesis H11 (true-hypothesis).
---  Eliminated hypothesis H12 (true-hypothesis).
---  Eliminated hypothesis H35 (duplicate of H33).
---  Eliminated hypothesis H36 (duplicate of H34).
---  Eliminated hypothesis H53 (duplicate of H51).
---  Eliminated hypothesis H54 (duplicate of H52).
---  Eliminated hypothesis H65 (duplicate of H63).
---  Eliminated hypothesis H66 (duplicate of H64).
---  Eliminated hypothesis H77 (duplicate of H75).
---  Eliminated hypothesis H78 (duplicate of H76).
---  Eliminated hypothesis H3 (redundant, given H6).
---  Eliminated hypothesis H10 (redundant, given H40).
---  Eliminated hypothesis H17 (redundant, given H15).
---  Eliminated hypothesis H18 (redundant, given H6).
---  Eliminated hypothesis H19 (redundant, given H15).
---  Eliminated hypothesis H20 (redundant, given H6).
---  Eliminated hypothesis H21 (redundant, given H15).
---  Eliminated hypothesis H22 (redundant, given H6).
---  Eliminated hypothesis H23 (redundant, given H15).
---  Eliminated hypothesis H24 (redundant, given H6).
---  Eliminated hypothesis H25 (redundant, given H15).
---  Eliminated hypothesis H26 (redundant, given H6).
---  Eliminated hypothesis H27 (redundant, given H15).
---  Eliminated hypothesis H28 (redundant, given H6).
---  Eliminated hypothesis H29 (redundant, given H15).
---  Eliminated hypothesis H39 (redundant, given H9).
---  Eliminated hypothesis H40 (redundant, given H58).
---  Eliminated hypothesis H45 (redundant, given H2).
---  Eliminated hypothesis H57 (redundant, given H9).
---  Eliminated hypothesis H58 (redundant, given H70).
---  Eliminated hypothesis H69 (redundant, given H9).
---  Eliminated hypothesis H70 (redundant, given H82).
---  Eliminated hypothesis H81 (redundant, given H9).
     +++  New H85:  integer__size >= 0
     +++  New H86:  natural__size >= 0
     +++  New H87:  spark__unsigned__byte__size >= 0
     +++  New H88:  spark__unsigned__u64__size >= 0
     +++  New H89:  spark__unsigned__shift_count__size >= 0
     +++  New H90:  spark__crypto__word_count_t__size >= 0
     +++  New H91:  dst__index__subtype__1__first <= 
          dst__index__subtype__1__last
     +++  New H92:  src__index__subtype__1__first <= 
          src__index__subtype__1__last
     +++  New H93:  src__index__subtype__1__first >= 0
     +++  New H94:  src__index__subtype__1__last >= 0
     +++  New H95:  src__index__subtype__1__last <= 2147483647
     +++  New H96:  src__index__subtype__1__first <= 2147483647
     +++  New H97:  dst__index__subtype__1__first >= 0
     +++  New H98:  dst__index__subtype__1__last >= 0
     +++  New H99:  dst__index__subtype__1__last <= 268435455
     +++  New H100:  dst__index__subtype__1__first <= 268435455
***  Proved C10:  src_offset <= 2147483642
     using hypotheses H6 & H95.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_64_lsb_first_14.  @@@@@@@@@@
%%%  Simplified H1 on reading formula in, to give:
     %%%  H1:  for_all(i_ : integer, dst__index__subtype__1__first <= i_ and i_ 
          <= dst_index -> spark__unsigned__u64__first <= element(dst, [i_]) and 
          element(dst, [i_]) <= spark__unsigned__u64__last)
%%%  Simplified H10 on reading formula in, to give:
     %%%  H10:  for_all(i___1 : integer, src__index__subtype__1__first <= i___1 
          and i___1 <= src__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(src, [i___1]) and element(
          src, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
%%%  Simplified H29 on reading formula in, to give:
     %%%  H29:  src_index + 9 >= src__index__subtype__1__first
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  src_index + 9 <= src__index__subtype__1__last
%%%  Simplified H31 on reading formula in, to give:
     %%%  H31:  src_index + 10 >= src__index__subtype__1__first
%%%  Simplified H32 on reading formula in, to give:
     %%%  H32:  src_index + 10 <= src__index__subtype__1__last
%%%  Simplified H33 on reading formula in, to give:
     %%%  H33:  src_index + 11 >= src__index__subtype__1__first
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  src_index + 11 <= src__index__subtype__1__last
%%%  Simplified H35 on reading formula in, to give:
     %%%  H35:  src_index + 12 >= src__index__subtype__1__first
%%%  Simplified H36 on reading formula in, to give:
     %%%  H36:  src_index + 12 <= src__index__subtype__1__last
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  src_index + 13 >= src__index__subtype__1__first
%%%  Simplified H38 on reading formula in, to give:
     %%%  H38:  src_index + 13 <= src__index__subtype__1__last
%%%  Simplified H39 on reading formula in, to give:
     %%%  H39:  src_index + 14 >= src__index__subtype__1__first
%%%  Simplified H40 on reading formula in, to give:
     %%%  H40:  src_index + 14 <= src__index__subtype__1__last
%%%  Simplified H41 on reading formula in, to give:
     %%%  H41:  src_index + 15 >= src__index__subtype__1__first
%%%  Simplified H42 on reading formula in, to give:
     %%%  H42:  src_index + 15 <= src__index__subtype__1__last
%%%  Simplified H45 on reading formula in, to give:
     %%%  H45:  element(src, [src_index + 9]) >= interfaces__unsigned_64__first
%%%  Simplified H46 on reading formula in, to give:
     %%%  H46:  element(src, [src_index + 9]) <= interfaces__unsigned_64__last
%%%  Simplified H47 on reading formula in, to give:
     %%%  H47:  element(src, [src_index + 9]) >= spark__unsigned__u64__first
%%%  Simplified H48 on reading formula in, to give:
     %%%  H48:  element(src, [src_index + 9]) <= spark__unsigned__u64__last
---  Hypothesis H49 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H50 has been replaced by "true".  (It is already present, as 
          H30).
%%%  Simplified H51 on reading formula in, to give:
     %%%  H51:  src_index + 9 >= integer__base__first
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  src_index + 9 <= integer__base__last
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H27).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H28).
%%%  Simplified H59 on reading formula in, to give:
     %%%  H59:  spark__unsigned__shift_left_64(element(src, [src_index + 9]), 8)
           >= interfaces__unsigned_64__first
%%%  Simplified H60 on reading formula in, to give:
     %%%  H60:  spark__unsigned__shift_left_64(element(src, [src_index + 9]), 8)
           <= interfaces__unsigned_64__last
%%%  Simplified H63 on reading formula in, to give:
     %%%  H63:  element(src, [src_index + 10]) >= interfaces__unsigned_64__first
%%%  Simplified H64 on reading formula in, to give:
     %%%  H64:  element(src, [src_index + 10]) <= interfaces__unsigned_64__last
%%%  Simplified H65 on reading formula in, to give:
     %%%  H65:  element(src, [src_index + 10]) >= spark__unsigned__u64__first
%%%  Simplified H66 on reading formula in, to give:
     %%%  H66:  element(src, [src_index + 10]) <= spark__unsigned__u64__last
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H32).
%%%  Simplified H69 on reading formula in, to give:
     %%%  H69:  src_index + 10 >= integer__base__first
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  src_index + 10 <= integer__base__last
%%%  Simplified H71 on reading formula in, to give:
     %%%  H71:  spark__unsigned__shift_left_64(element(src, [src_index + 10]), 
          16) >= interfaces__unsigned_64__first
%%%  Simplified H72 on reading formula in, to give:
     %%%  H72:  spark__unsigned__shift_left_64(element(src, [src_index + 10]), 
          16) <= interfaces__unsigned_64__last
%%%  Simplified H75 on reading formula in, to give:
     %%%  H75:  element(src, [src_index + 11]) >= interfaces__unsigned_64__first
%%%  Simplified H76 on reading formula in, to give:
     %%%  H76:  element(src, [src_index + 11]) <= interfaces__unsigned_64__last
%%%  Simplified H77 on reading formula in, to give:
     %%%  H77:  element(src, [src_index + 11]) >= spark__unsigned__u64__first
%%%  Simplified H78 on reading formula in, to give:
     %%%  H78:  element(src, [src_index + 11]) <= spark__unsigned__u64__last
---  Hypothesis H79 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H80 has been replaced by "true".  (It is already present, as 
          H34).
%%%  Simplified H81 on reading formula in, to give:
     %%%  H81:  src_index + 11 >= integer__base__first
%%%  Simplified H82 on reading formula in, to give:
     %%%  H82:  src_index + 11 <= integer__base__last
%%%  Simplified H83 on reading formula in, to give:
     %%%  H83:  spark__unsigned__shift_left_64(element(src, [src_index + 11]), 
          24) >= interfaces__unsigned_64__first
%%%  Simplified H84 on reading formula in, to give:
     %%%  H84:  spark__unsigned__shift_left_64(element(src, [src_index + 11]), 
          24) <= interfaces__unsigned_64__last
%%%  Simplified H87 on reading formula in, to give:
     %%%  H87:  element(src, [src_index + 12]) >= interfaces__unsigned_64__first
%%%  Simplified H88 on reading formula in, to give:
     %%%  H88:  element(src, [src_index + 12]) <= interfaces__unsigned_64__last
%%%  Simplified H89 on reading formula in, to give:
     %%%  H89:  element(src, [src_index + 12]) >= spark__unsigned__u64__first
%%%  Simplified H90 on reading formula in, to give:
     %%%  H90:  element(src, [src_index + 12]) <= spark__unsigned__u64__last
---  Hypothesis H91 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H92 has been replaced by "true".  (It is already present, as 
          H36).
%%%  Simplified H93 on reading formula in, to give:
     %%%  H93:  src_index + 12 >= integer__base__first
%%%  Simplified H94 on reading formula in, to give:
     %%%  H94:  src_index + 12 <= integer__base__last
%%%  Simplified H95 on reading formula in, to give:
     %%%  H95:  spark__unsigned__shift_left_64(element(src, [src_index + 12]), 
          32) >= interfaces__unsigned_64__first
%%%  Simplified H96 on reading formula in, to give:
     %%%  H96:  spark__unsigned__shift_left_64(element(src, [src_index + 12]), 
          32) <= interfaces__unsigned_64__last
%%%  Simplified C3 on reading formula in, to give:
     %%%  C3:  element(src, [src_index + 13]) >= interfaces__unsigned_64__first
%%%  Simplified C4 on reading formula in, to give:
     %%%  C4:  element(src, [src_index + 13]) <= interfaces__unsigned_64__last
%%%  Simplified C5 on reading formula in, to give:
     %%%  C5:  element(src, [src_index + 13]) >= spark__unsigned__u64__first
%%%  Simplified C6 on reading formula in, to give:
     %%%  C6:  element(src, [src_index + 13]) <= spark__unsigned__u64__last
%%%  Simplified C7 on reading formula in, to give:
     %%%  C7:  src_index + 13 >= src__index__subtype__1__first
%%%  Simplified C8 on reading formula in, to give:
     %%%  C8:  src_index + 13 <= src__index__subtype__1__last
%%%  Simplified C9 on reading formula in, to give:
     %%%  C9:  src_index + 13 >= integer__base__first
%%%  Simplified C10 on reading formula in, to give:
     %%%  C10:  src_index + 13 <= integer__base__last
***  Proved C1:  40 >= spark__unsigned__shift_count__first
     using hypothesis H43.
***  Proved C7:  src_index + 13 >= src__index__subtype__1__first
     using hypothesis H37.
***  Proved C8:  src_index + 13 <= src__index__subtype__1__last
     using hypothesis H38.
***  Proved C9:  src_index + 13 >= integer__base__first
     using hypothesis H51.
-S-  Applied substitution rule get_64_lsb_f_rules(39).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__last by:
          64.
<S>  New H44:  true
<S>  New H62:  true
<S>  New H74:  true
<S>  New H86:  true
<S>  New C2:  true
-S-  Applied substitution rule get_64_lsb_f_rules(20).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__first by:
          0.
<S>  New H45:  element(src, [src_index + 9]) >= 0
<S>  New H59:  spark__unsigned__shift_left_64(element(src, [src_index + 9]), 8) 
          >= 0
<S>  New H63:  element(src, [src_index + 10]) >= 0
<S>  New H71:  spark__unsigned__shift_left_64(element(src, [src_index + 10]), 
          16) >= 0
<S>  New H75:  element(src, [src_index + 11]) >= 0
<S>  New H83:  spark__unsigned__shift_left_64(element(src, [src_index + 11]), 
          24) >= 0
<S>  New H87:  element(src, [src_index + 12]) >= 0
<S>  New H95:  spark__unsigned__shift_left_64(element(src, [src_index + 12]), 
          32) >= 0
<S>  New C3:  element(src, [src_index + 13]) >= 0
-S-  Applied substitution rule get_64_lsb_f_rules(21).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__last by:
          18446744073709551615.
<S>  New H46:  element(src, [src_index + 9]) <= 18446744073709551615
<S>  New H60:  spark__unsigned__shift_left_64(element(src, [src_index + 9]), 8) 
          <= 18446744073709551615
<S>  New H64:  element(src, [src_index + 10]) <= 18446744073709551615
<S>  New H72:  spark__unsigned__shift_left_64(element(src, [src_index + 10]), 
          16) <= 18446744073709551615
<S>  New H76:  element(src, [src_index + 11]) <= 18446744073709551615
<S>  New H84:  spark__unsigned__shift_left_64(element(src, [src_index + 11]), 
          24) <= 18446744073709551615
<S>  New H88:  element(src, [src_index + 12]) <= 18446744073709551615
<S>  New H96:  spark__unsigned__shift_left_64(element(src, [src_index + 12]), 
          32) <= 18446744073709551615
<S>  New C4:  element(src, [src_index + 13]) <= 18446744073709551615
-S-  Applied substitution rule get_64_lsb_f_rules(32).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H1:  for_all(i_ : integer, dst__index__subtype__1__first <= i_ and i_ 
          <= dst_index -> 0 <= element(dst, [i_]) and element(dst, [i_]) <= 
          spark__unsigned__u64__last)
<S>  New H47:  element(src, [src_index + 9]) >= 0
<S>  New H53:  element(src, [src_index + 8]) >= 0
<S>  New H65:  element(src, [src_index + 10]) >= 0
<S>  New H77:  element(src, [src_index + 11]) >= 0
<S>  New H89:  element(src, [src_index + 12]) >= 0
<S>  New C5:  element(src, [src_index + 13]) >= 0
-S-  Applied substitution rule get_64_lsb_f_rules(33).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H48:  element(src, [src_index + 9]) <= 18446744073709551615
<S>  New H54:  element(src, [src_index + 8]) <= 18446744073709551615
<S>  New H66:  element(src, [src_index + 10]) <= 18446744073709551615
<S>  New H78:  element(src, [src_index + 11]) <= 18446744073709551615
<S>  New H90:  element(src, [src_index + 12]) <= 18446744073709551615
<S>  New H1:  for_all(i_ : integer, dst__index__subtype__1__first <= i_ and i_ 
          <= dst_index -> 0 <= element(dst, [i_]) and element(dst, [i_]) <= 
          18446744073709551615)
<S>  New C6:  element(src, [src_index + 13]) <= 18446744073709551615
-S-  Applied substitution rule get_64_lsb_f_rules(5).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H52:  src_index <= 2147483638
<S>  New H70:  src_index <= 2147483637
<S>  New H82:  src_index <= 2147483636
<S>  New H94:  src_index <= 2147483635
<S>  New C10:  src_index <= 2147483634
***  Proved C2:  true
>>>  Restructured hypothesis H20 into:
     >>>  H20:  dst_index <> dst__index__subtype__1__last
---  Attempted addition of new hypothesis:
          dst_index + 1 <= natural__last
     eliminated: this already exists (as H21).
+++  Using "A->B, A |- B" on hypotheses H8 & H20 yields a new hypothesis:
     +++  H21:  dst_index + 1 <= natural__last
---  Attempted addition of new hypothesis:
          src_index + 8 <= natural__last
     eliminated: this already exists (as H24).
+++  Using "A->B, A |- B" on hypotheses H9 & H20 yields a new hypothesis:
     +++  H24:  src_index + 8 <= natural__last
-S-  Applied substitution rule get_64_lsb_f_rules(4).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H51:  src_index >= - 2147483657
<S>  New H69:  src_index >= - 2147483658
<S>  New H81:  src_index >= - 2147483659
<S>  New H93:  src_index >= - 2147483660
-S-  Applied substitution rule get_64_lsb_f_rules(7).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H11:  src_offset >= 0
<S>  New H25:  src_index >= - 8
-S-  Applied substitution rule get_64_lsb_f_rules(8).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H8:  dst_index <> dst__index__subtype__1__last -> dst_index <= 
          2147483646
<S>  New H9:  dst_index <> dst__index__subtype__1__last -> src_index <= 
          2147483639
<S>  New H12:  src_offset <= 2147483647
<S>  New H19:  src_offset + dst__index__subtype__1__last * 8 <= 2147483647
<S>  New H21:  dst_index <= 2147483646
<S>  New H24:  src_index <= 2147483639
-S-  Applied substitution rule get_64_lsb_f_rules(26).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H10:  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__byte__last)
-S-  Applied substitution rule get_64_lsb_f_rules(27).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H10:  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]) <= 255)
-S-  Applied substitution rule get_64_lsb_f_rules(38).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__first by:
          0.
<S>  New H43:  true
<S>  New H61:  true
<S>  New H73:  true
<S>  New H85:  true
-S-  Applied substitution rule get_64_lsb_f_rules(43).
     This was achieved by replacing all occurrences of 
          spark__crypto__word_count_t__first by:
          0.
<S>  New H22:  dst_index >= - 1
-S-  Applied substitution rule get_64_lsb_f_rules(44).
     This was achieved by replacing all occurrences of 
          spark__crypto__word_count_t__last by:
          268435455.
<S>  New H4:  dst__index__subtype__1__last <= 268435455
<S>  New H23:  dst_index <= 268435454
%%%  Hypotheses H3 & H20 together imply that
          dst_index < dst__index__subtype__1__last.
     H3 & H20 have therefore been deleted and a new H97 added to this effect.
***  Proved C3:  element(src, [src_index + 13]) >= 0
     using hypotheses H10, H37 & H38.
***  Proved C4:  element(src, [src_index + 13]) <= 18446744073709551615
     using hypotheses H10, H37 & H38.
***  Proved C5:  element(src, [src_index + 13]) >= 0
     using hypotheses H10, H37 & H38.
***  Proved C6:  element(src, [src_index + 13]) <= 18446744073709551615
     using hypotheses H10, H37 & H38.
---  Eliminated hypothesis H26 (true-hypothesis).
---  Eliminated hypothesis H44 (true-hypothesis).
---  Eliminated hypothesis H49 (true-hypothesis).
---  Eliminated hypothesis H50 (true-hypothesis).
---  Eliminated hypothesis H55 (true-hypothesis).
---  Eliminated hypothesis H56 (true-hypothesis).
---  Eliminated hypothesis H62 (true-hypothesis).
---  Eliminated hypothesis H67 (true-hypothesis).
---  Eliminated hypothesis H68 (true-hypothesis).
---  Eliminated hypothesis H74 (true-hypothesis).
---  Eliminated hypothesis H79 (true-hypothesis).
---  Eliminated hypothesis H80 (true-hypothesis).
---  Eliminated hypothesis H86 (true-hypothesis).
---  Eliminated hypothesis H91 (true-hypothesis).
---  Eliminated hypothesis H92 (true-hypothesis).
---  Eliminated hypothesis H43 (true-hypothesis).
---  Eliminated hypothesis H61 (true-hypothesis).
---  Eliminated hypothesis H73 (true-hypothesis).
---  Eliminated hypothesis H85 (true-hypothesis).
---  Eliminated hypothesis H47 (duplicate of H45).
---  Eliminated hypothesis H48 (duplicate of H46).
---  Eliminated hypothesis H65 (duplicate of H63).
---  Eliminated hypothesis H66 (duplicate of H64).
---  Eliminated hypothesis H77 (duplicate of H75).
---  Eliminated hypothesis H78 (duplicate of H76).
---  Eliminated hypothesis H89 (duplicate of H87).
---  Eliminated hypothesis H90 (duplicate of H88).
---  Eliminated hypothesis H97 (duplicate of H58).
>>>  Using "A->B, A |- B" on H8, given H97, we simplify the former to:
     >>>  H8:  dst_index <= 2147483646
>>>  Using "A->B, A |- B" on H9, given H97, we simplify the former to:
     >>>  H9:  src_index <= 2147483639
---  Eliminated hypothesis H15 (redundant, given H18).
---  Eliminated hypothesis H21 (redundant, given H23).
---  Eliminated hypothesis H22 (redundant, given H2 & H14).
---  Eliminated hypothesis H24 (redundant, given H52).
---  Eliminated hypothesis H28 (redundant, given H30).
---  Eliminated hypothesis H29 (redundant, given H27).
---  Eliminated hypothesis H30 (redundant, given H32).
---  Eliminated hypothesis H31 (redundant, given H27).
---  Eliminated hypothesis H32 (redundant, given H34).
---  Eliminated hypothesis H33 (redundant, given H27).
---  Eliminated hypothesis H34 (redundant, given H36).
---  Eliminated hypothesis H35 (redundant, given H27).
---  Eliminated hypothesis H36 (redundant, given H38).
---  Eliminated hypothesis H37 (redundant, given H27).
---  Eliminated hypothesis H38 (redundant, given H40).
---  Eliminated hypothesis H39 (redundant, given H27).
---  Eliminated hypothesis H40 (redundant, given H42).
---  Eliminated hypothesis H41 (redundant, given H27).
---  Eliminated hypothesis H51 (redundant, given H25).
---  Eliminated hypothesis H52 (redundant, given H70).
---  Eliminated hypothesis H57 (redundant, given H2).
---  Eliminated hypothesis H69 (redundant, given H25).
---  Eliminated hypothesis H70 (redundant, given H82).
---  Eliminated hypothesis H81 (redundant, given H25).
---  Eliminated hypothesis H82 (redundant, given H94).
---  Eliminated hypothesis H93 (redundant, given H25).
-S-  Eliminated hypothesis H5.
     This was achieved by replacing all occurrences of src_index by:
          src_offset + dst_index * 8.
<S>  New H6:  src_offset + dst_index * 8 >= src_offset
<S>  New H7:  src_offset + dst_index * 8 <= src_offset + 
          dst__index__subtype__1__last * 8
<S>  New H27:  src_offset + dst_index * 8 + 8 >= src__index__subtype__1__first
<S>  New H42:  src_offset + dst_index * 8 + 15 <= src__index__subtype__1__last
<S>  New H45:  element(src, [src_offset + dst_index * 8 + 9]) >= 0
<S>  New H46:  element(src, [src_offset + dst_index * 8 + 9]) <= 
          18446744073709551615
<S>  New H53:  element(src, [src_offset + dst_index * 8 + 8]) >= 0
<S>  New H54:  element(src, [src_offset + dst_index * 8 + 8]) <= 
          18446744073709551615
<S>  New H59:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 9]), 8) >= 0
<S>  New H60:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 9]), 8) <= 18446744073709551615
<S>  New H63:  element(src, [src_offset + dst_index * 8 + 10]) >= 0
<S>  New H64:  element(src, [src_offset + dst_index * 8 + 10]) <= 
          18446744073709551615
<S>  New H71:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 10]), 16) >= 0
<S>  New H72:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 10]), 16) <= 18446744073709551615
<S>  New H75:  element(src, [src_offset + dst_index * 8 + 11]) >= 0
<S>  New H76:  element(src, [src_offset + dst_index * 8 + 11]) <= 
          18446744073709551615
<S>  New H83:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 11]), 24) >= 0
<S>  New H84:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 11]), 24) <= 18446744073709551615
<S>  New H87:  element(src, [src_offset + dst_index * 8 + 12]) >= 0
<S>  New H88:  element(src, [src_offset + dst_index * 8 + 12]) <= 
          18446744073709551615
<S>  New H94:  src_offset + dst_index * 8 <= 2147483635
<S>  New H95:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 12]), 32) >= 0
<S>  New H96:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 12]), 32) <= 18446744073709551615
<S>  New H25:  src_offset + dst_index * 8 >= - 8
<S>  New H9:  src_offset + dst_index * 8 <= 2147483639
<S>  New C10:  src_offset + dst_index * 8 <= 2147483634
     +++  New H98:  integer__size >= 0
     +++  New H99:  natural__size >= 0
     +++  New H100:  spark__unsigned__byte__size >= 0
     +++  New H101:  spark__unsigned__u64__size >= 0
     +++  New H102:  spark__unsigned__shift_count__size >= 0
     +++  New H103:  spark__crypto__word_count_t__size >= 0
     +++  New H104:  dst__index__subtype__1__first <= 
          dst__index__subtype__1__last
     +++  New H105:  src__index__subtype__1__first <= 
          src__index__subtype__1__last
     +++  New H106:  src__index__subtype__1__first >= 0
     +++  New H107:  src__index__subtype__1__last >= 0
     +++  New H108:  src__index__subtype__1__last <= 2147483647
     +++  New H109:  src__index__subtype__1__first <= 2147483647
     +++  New H110:  dst__index__subtype__1__first >= 0
     +++  New H111:  dst__index__subtype__1__last >= 0
---  Attempted addition of new hypothesis:
          dst__index__subtype__1__last <= 268435455
     eliminated: this already exists (as H4).
     +++  New H4:  dst__index__subtype__1__last <= 268435455
     +++  New H112:  dst__index__subtype__1__first <= 268435455
***  Proved C10:  src_offset + dst_index * 8 <= 2147483634
     using hypotheses H42 & H108.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_64_lsb_first_15.  @@@@@@@@@@
%%%  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__byte__first <= element(src, [i___1]) and element(
          src, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H13 has been replaced by "true".  (It is already present, as H9)
          .
---  Hypothesis H14 has been replaced by "true".  (It is already present, as 
          H10).
---  Hypothesis H16 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H30 has been replaced by "true".  (It is already present, as H6)
          .
---  Hypothesis H37 has been replaced by "true".  (It is already present, as 
          H17).
---  Hypothesis H38 has been replaced by "true".  (It is already present, as 
          H18).
---  Hypothesis H43 has been replaced by "true".  (It is already present, as 
          H15).
---  Hypothesis H44 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H19).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H20).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H21).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H22).
---  Hypothesis H79 has been replaced by "true".  (It is already present, as 
          H23).
---  Hypothesis H80 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H91 has been replaced by "true".  (It is already present, as 
          H25).
---  Hypothesis H92 has been replaced by "true".  (It is already present, as 
          H26).
***  Proved C1:  48 >= spark__unsigned__shift_count__first
     using hypothesis H31.
***  Proved C7:  src_offset + 6 >= src__index__subtype__1__first
     using hypothesis H27.
***  Proved C8:  src_offset + 6 <= src__index__subtype__1__last
     using hypothesis H28.
***  Proved C9:  src_offset + 6 >= integer__base__first
     using hypothesis H39.
-S-  Applied substitution rule get_64_lsb_f_rules(39).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__last by:
          64.
<S>  New H32:  true
<S>  New H50:  true
<S>  New H62:  true
<S>  New H74:  true
<S>  New H86:  true
<S>  New C2:  true
-S-  Applied substitution rule get_64_lsb_f_rules(20).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__first by:
          0.
<S>  New H33:  element(src, [src_offset + 1]) >= 0
<S>  New H47:  spark__unsigned__shift_left_64(element(src, [src_offset + 1]), 8)
           >= 0
<S>  New H51:  element(src, [src_offset + 2]) >= 0
<S>  New H59:  spark__unsigned__shift_left_64(element(src, [src_offset + 2]), 
          16) >= 0
<S>  New H63:  element(src, [src_offset + 3]) >= 0
<S>  New H71:  spark__unsigned__shift_left_64(element(src, [src_offset + 3]), 
          24) >= 0
<S>  New H75:  element(src, [src_offset + 4]) >= 0
<S>  New H83:  spark__unsigned__shift_left_64(element(src, [src_offset + 4]), 
          32) >= 0
<S>  New H87:  element(src, [src_offset + 5]) >= 0
<S>  New H95:  spark__unsigned__shift_left_64(element(src, [src_offset + 5]), 
          40) >= 0
<S>  New C3:  element(src, [src_offset + 6]) >= 0
-S-  Applied substitution rule get_64_lsb_f_rules(21).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__last by:
          18446744073709551615.
<S>  New H34:  element(src, [src_offset + 1]) <= 18446744073709551615
<S>  New H48:  spark__unsigned__shift_left_64(element(src, [src_offset + 1]), 8)
           <= 18446744073709551615
<S>  New H52:  element(src, [src_offset + 2]) <= 18446744073709551615
<S>  New H60:  spark__unsigned__shift_left_64(element(src, [src_offset + 2]), 
          16) <= 18446744073709551615
<S>  New H64:  element(src, [src_offset + 3]) <= 18446744073709551615
<S>  New H72:  spark__unsigned__shift_left_64(element(src, [src_offset + 3]), 
          24) <= 18446744073709551615
<S>  New H76:  element(src, [src_offset + 4]) <= 18446744073709551615
<S>  New H84:  spark__unsigned__shift_left_64(element(src, [src_offset + 4]), 
          32) <= 18446744073709551615
<S>  New H88:  element(src, [src_offset + 5]) <= 18446744073709551615
<S>  New H96:  spark__unsigned__shift_left_64(element(src, [src_offset + 5]), 
          40) <= 18446744073709551615
<S>  New C4:  element(src, [src_offset + 6]) <= 18446744073709551615
-S-  Applied substitution rule get_64_lsb_f_rules(32).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H35:  element(src, [src_offset + 1]) >= 0
<S>  New H41:  element(src, [src_offset]) >= 0
<S>  New H53:  element(src, [src_offset + 2]) >= 0
<S>  New H65:  element(src, [src_offset + 3]) >= 0
<S>  New H77:  element(src, [src_offset + 4]) >= 0
<S>  New H89:  element(src, [src_offset + 5]) >= 0
<S>  New C5:  element(src, [src_offset + 6]) >= 0
-S-  Applied substitution rule get_64_lsb_f_rules(33).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H36:  element(src, [src_offset + 1]) <= 18446744073709551615
<S>  New H42:  element(src, [src_offset]) <= 18446744073709551615
<S>  New H54:  element(src, [src_offset + 2]) <= 18446744073709551615
<S>  New H66:  element(src, [src_offset + 3]) <= 18446744073709551615
<S>  New H78:  element(src, [src_offset + 4]) <= 18446744073709551615
<S>  New H90:  element(src, [src_offset + 5]) <= 18446744073709551615
<S>  New C6:  element(src, [src_offset + 6]) <= 18446744073709551615
-S-  Applied substitution rule get_64_lsb_f_rules(5).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H40:  src_offset <= 2147483646
<S>  New H58:  src_offset <= 2147483645
<S>  New H70:  src_offset <= 2147483644
<S>  New H82:  src_offset <= 2147483643
<S>  New H94:  src_offset <= 2147483642
<S>  New C10:  src_offset <= 2147483641
***  Proved C2:  true
-S-  Applied substitution rule get_64_lsb_f_rules(4).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H39:  src_offset >= - 2147483649
<S>  New H57:  src_offset >= - 2147483650
<S>  New H69:  src_offset >= - 2147483651
<S>  New H81:  src_offset >= - 2147483652
<S>  New H93:  src_offset >= - 2147483653
-S-  Applied substitution rule get_64_lsb_f_rules(7).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H9:  src_offset >= 0
-S-  Applied substitution rule get_64_lsb_f_rules(8).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H7:  src_offset + dst__index__subtype__1__last * 8 <= 2147483647
<S>  New H10:  src_offset <= 2147483647
-S-  Applied substitution rule get_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, 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__byte__last)
-S-  Applied substitution rule get_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, 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]) <= 255)
-S-  Applied substitution rule get_64_lsb_f_rules(38).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__first by:
          0.
<S>  New H31:  true
<S>  New H49:  true
<S>  New H61:  true
<S>  New H73:  true
<S>  New H85:  true
-S-  Applied substitution rule get_64_lsb_f_rules(43).
     This was achieved by replacing all occurrences of 
          spark__crypto__word_count_t__first by:
          0.
<S>  New H11:  true
-S-  Applied substitution rule get_64_lsb_f_rules(44).
     This was achieved by replacing all occurrences of 
          spark__crypto__word_count_t__last by:
          268435455.
<S>  New H12:  true
***  Proved C3:  element(src, [src_offset + 6]) >= 0
     using hypotheses H8, H27 & H28.
***  Proved C4:  element(src, [src_offset + 6]) <= 18446744073709551615
     using hypotheses H8, H27 & H28.
***  Proved C5:  element(src, [src_offset + 6]) >= 0
     using hypotheses H8, H27 & H28.
***  Proved C6:  element(src, [src_offset + 6]) <= 18446744073709551615
     using hypotheses H8, H27 & H28.
---  Eliminated hypothesis H13 (true-hypothesis).
---  Eliminated hypothesis H14 (true-hypothesis).
---  Eliminated hypothesis H16 (true-hypothesis).
---  Eliminated hypothesis H30 (true-hypothesis).
---  Eliminated hypothesis H32 (true-hypothesis).
---  Eliminated hypothesis H37 (true-hypothesis).
---  Eliminated hypothesis H38 (true-hypothesis).
---  Eliminated hypothesis H43 (true-hypothesis).
---  Eliminated hypothesis H44 (true-hypothesis).
---  Eliminated hypothesis H50 (true-hypothesis).
---  Eliminated hypothesis H55 (true-hypothesis).
---  Eliminated hypothesis H56 (true-hypothesis).
---  Eliminated hypothesis H62 (true-hypothesis).
---  Eliminated hypothesis H67 (true-hypothesis).
---  Eliminated hypothesis H68 (true-hypothesis).
---  Eliminated hypothesis H74 (true-hypothesis).
---  Eliminated hypothesis H79 (true-hypothesis).
---  Eliminated hypothesis H80 (true-hypothesis).
---  Eliminated hypothesis H86 (true-hypothesis).
---  Eliminated hypothesis H91 (true-hypothesis).
---  Eliminated hypothesis H92 (true-hypothesis).
---  Eliminated hypothesis H31 (true-hypothesis).
---  Eliminated hypothesis H49 (true-hypothesis).
---  Eliminated hypothesis H61 (true-hypothesis).
---  Eliminated hypothesis H73 (true-hypothesis).
---  Eliminated hypothesis H85 (true-hypothesis).
---  Eliminated hypothesis H11 (true-hypothesis).
---  Eliminated hypothesis H12 (true-hypothesis).
---  Eliminated hypothesis H35 (duplicate of H33).
---  Eliminated hypothesis H36 (duplicate of H34).
---  Eliminated hypothesis H53 (duplicate of H51).
---  Eliminated hypothesis H54 (duplicate of H52).
---  Eliminated hypothesis H65 (duplicate of H63).
---  Eliminated hypothesis H66 (duplicate of H64).
---  Eliminated hypothesis H77 (duplicate of H75).
---  Eliminated hypothesis H78 (duplicate of H76).
---  Eliminated hypothesis H89 (duplicate of H87).
---  Eliminated hypothesis H90 (duplicate of H88).
---  Eliminated hypothesis H3 (redundant, given H6).
---  Eliminated hypothesis H10 (redundant, given H40).
---  Eliminated hypothesis H17 (redundant, given H15).
---  Eliminated hypothesis H18 (redundant, given H6).
---  Eliminated hypothesis H19 (redundant, given H15).
---  Eliminated hypothesis H20 (redundant, given H6).
---  Eliminated hypothesis H21 (redundant, given H15).
---  Eliminated hypothesis H22 (redundant, given H6).
---  Eliminated hypothesis H23 (redundant, given H15).
---  Eliminated hypothesis H24 (redundant, given H6).
---  Eliminated hypothesis H25 (redundant, given H15).
---  Eliminated hypothesis H26 (redundant, given H6).
---  Eliminated hypothesis H27 (redundant, given H15).
---  Eliminated hypothesis H28 (redundant, given H6).
---  Eliminated hypothesis H29 (redundant, given H15).
---  Eliminated hypothesis H39 (redundant, given H9).
---  Eliminated hypothesis H40 (redundant, given H58).
---  Eliminated hypothesis H45 (redundant, given H2).
---  Eliminated hypothesis H57 (redundant, given H9).
---  Eliminated hypothesis H58 (redundant, given H70).
---  Eliminated hypothesis H69 (redundant, given H9).
---  Eliminated hypothesis H70 (redundant, given H82).
---  Eliminated hypothesis H81 (redundant, given H9).
---  Eliminated hypothesis H82 (redundant, given H94).
---  Eliminated hypothesis H93 (redundant, given H9).
     +++  New H97:  integer__size >= 0
     +++  New H98:  natural__size >= 0
     +++  New H99:  spark__unsigned__byte__size >= 0
     +++  New H100:  spark__unsigned__u64__size >= 0
     +++  New H101:  spark__unsigned__shift_count__size >= 0
     +++  New H102:  spark__crypto__word_count_t__size >= 0
     +++  New H103:  dst__index__subtype__1__first <= 
          dst__index__subtype__1__last
     +++  New H104:  src__index__subtype__1__first <= 
          src__index__subtype__1__last
     +++  New H105:  src__index__subtype__1__first >= 0
     +++  New H106:  src__index__subtype__1__last >= 0
     +++  New H107:  src__index__subtype__1__last <= 2147483647
     +++  New H108:  src__index__subtype__1__first <= 2147483647
     +++  New H109:  dst__index__subtype__1__first >= 0
     +++  New H110:  dst__index__subtype__1__last >= 0
     +++  New H111:  dst__index__subtype__1__last <= 268435455
     +++  New H112:  dst__index__subtype__1__first <= 268435455
***  Proved C10:  src_offset <= 2147483641
     using hypotheses H6 & H107.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_64_lsb_first_16.  @@@@@@@@@@
%%%  Simplified H1 on reading formula in, to give:
     %%%  H1:  for_all(i_ : integer, dst__index__subtype__1__first <= i_ and i_ 
          <= dst_index -> spark__unsigned__u64__first <= element(dst, [i_]) and 
          element(dst, [i_]) <= spark__unsigned__u64__last)
%%%  Simplified H10 on reading formula in, to give:
     %%%  H10:  for_all(i___1 : integer, src__index__subtype__1__first <= i___1 
          and i___1 <= src__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(src, [i___1]) and element(
          src, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
%%%  Simplified H29 on reading formula in, to give:
     %%%  H29:  src_index + 9 >= src__index__subtype__1__first
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  src_index + 9 <= src__index__subtype__1__last
%%%  Simplified H31 on reading formula in, to give:
     %%%  H31:  src_index + 10 >= src__index__subtype__1__first
%%%  Simplified H32 on reading formula in, to give:
     %%%  H32:  src_index + 10 <= src__index__subtype__1__last
%%%  Simplified H33 on reading formula in, to give:
     %%%  H33:  src_index + 11 >= src__index__subtype__1__first
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  src_index + 11 <= src__index__subtype__1__last
%%%  Simplified H35 on reading formula in, to give:
     %%%  H35:  src_index + 12 >= src__index__subtype__1__first
%%%  Simplified H36 on reading formula in, to give:
     %%%  H36:  src_index + 12 <= src__index__subtype__1__last
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  src_index + 13 >= src__index__subtype__1__first
%%%  Simplified H38 on reading formula in, to give:
     %%%  H38:  src_index + 13 <= src__index__subtype__1__last
%%%  Simplified H39 on reading formula in, to give:
     %%%  H39:  src_index + 14 >= src__index__subtype__1__first
%%%  Simplified H40 on reading formula in, to give:
     %%%  H40:  src_index + 14 <= src__index__subtype__1__last
%%%  Simplified H41 on reading formula in, to give:
     %%%  H41:  src_index + 15 >= src__index__subtype__1__first
%%%  Simplified H42 on reading formula in, to give:
     %%%  H42:  src_index + 15 <= src__index__subtype__1__last
%%%  Simplified H45 on reading formula in, to give:
     %%%  H45:  element(src, [src_index + 9]) >= interfaces__unsigned_64__first
%%%  Simplified H46 on reading formula in, to give:
     %%%  H46:  element(src, [src_index + 9]) <= interfaces__unsigned_64__last
%%%  Simplified H47 on reading formula in, to give:
     %%%  H47:  element(src, [src_index + 9]) >= spark__unsigned__u64__first
%%%  Simplified H48 on reading formula in, to give:
     %%%  H48:  element(src, [src_index + 9]) <= spark__unsigned__u64__last
---  Hypothesis H49 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H50 has been replaced by "true".  (It is already present, as 
          H30).
%%%  Simplified H51 on reading formula in, to give:
     %%%  H51:  src_index + 9 >= integer__base__first
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  src_index + 9 <= integer__base__last
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H27).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H28).
%%%  Simplified H59 on reading formula in, to give:
     %%%  H59:  spark__unsigned__shift_left_64(element(src, [src_index + 9]), 8)
           >= interfaces__unsigned_64__first
%%%  Simplified H60 on reading formula in, to give:
     %%%  H60:  spark__unsigned__shift_left_64(element(src, [src_index + 9]), 8)
           <= interfaces__unsigned_64__last
%%%  Simplified H63 on reading formula in, to give:
     %%%  H63:  element(src, [src_index + 10]) >= interfaces__unsigned_64__first
%%%  Simplified H64 on reading formula in, to give:
     %%%  H64:  element(src, [src_index + 10]) <= interfaces__unsigned_64__last
%%%  Simplified H65 on reading formula in, to give:
     %%%  H65:  element(src, [src_index + 10]) >= spark__unsigned__u64__first
%%%  Simplified H66 on reading formula in, to give:
     %%%  H66:  element(src, [src_index + 10]) <= spark__unsigned__u64__last
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H32).
%%%  Simplified H69 on reading formula in, to give:
     %%%  H69:  src_index + 10 >= integer__base__first
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  src_index + 10 <= integer__base__last
%%%  Simplified H71 on reading formula in, to give:
     %%%  H71:  spark__unsigned__shift_left_64(element(src, [src_index + 10]), 
          16) >= interfaces__unsigned_64__first
%%%  Simplified H72 on reading formula in, to give:
     %%%  H72:  spark__unsigned__shift_left_64(element(src, [src_index + 10]), 
          16) <= interfaces__unsigned_64__last
%%%  Simplified H75 on reading formula in, to give:
     %%%  H75:  element(src, [src_index + 11]) >= interfaces__unsigned_64__first
%%%  Simplified H76 on reading formula in, to give:
     %%%  H76:  element(src, [src_index + 11]) <= interfaces__unsigned_64__last
%%%  Simplified H77 on reading formula in, to give:
     %%%  H77:  element(src, [src_index + 11]) >= spark__unsigned__u64__first
%%%  Simplified H78 on reading formula in, to give:
     %%%  H78:  element(src, [src_index + 11]) <= spark__unsigned__u64__last
---  Hypothesis H79 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H80 has been replaced by "true".  (It is already present, as 
          H34).
%%%  Simplified H81 on reading formula in, to give:
     %%%  H81:  src_index + 11 >= integer__base__first
%%%  Simplified H82 on reading formula in, to give:
     %%%  H82:  src_index + 11 <= integer__base__last
%%%  Simplified H83 on reading formula in, to give:
     %%%  H83:  spark__unsigned__shift_left_64(element(src, [src_index + 11]), 
          24) >= interfaces__unsigned_64__first
%%%  Simplified H84 on reading formula in, to give:
     %%%  H84:  spark__unsigned__shift_left_64(element(src, [src_index + 11]), 
          24) <= interfaces__unsigned_64__last
%%%  Simplified H87 on reading formula in, to give:
     %%%  H87:  element(src, [src_index + 12]) >= interfaces__unsigned_64__first
%%%  Simplified H88 on reading formula in, to give:
     %%%  H88:  element(src, [src_index + 12]) <= interfaces__unsigned_64__last
%%%  Simplified H89 on reading formula in, to give:
     %%%  H89:  element(src, [src_index + 12]) >= spark__unsigned__u64__first
%%%  Simplified H90 on reading formula in, to give:
     %%%  H90:  element(src, [src_index + 12]) <= spark__unsigned__u64__last
---  Hypothesis H91 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H92 has been replaced by "true".  (It is already present, as 
          H36).
%%%  Simplified H93 on reading formula in, to give:
     %%%  H93:  src_index + 12 >= integer__base__first
%%%  Simplified H94 on reading formula in, to give:
     %%%  H94:  src_index + 12 <= integer__base__last
%%%  Simplified H95 on reading formula in, to give:
     %%%  H95:  spark__unsigned__shift_left_64(element(src, [src_index + 12]), 
          32) >= interfaces__unsigned_64__first
%%%  Simplified H96 on reading formula in, to give:
     %%%  H96:  spark__unsigned__shift_left_64(element(src, [src_index + 12]), 
          32) <= interfaces__unsigned_64__last
%%%  Simplified H99 on reading formula in, to give:
     %%%  H99:  element(src, [src_index + 13]) >= interfaces__unsigned_64__first
%%%  Simplified H100 on reading formula in, to give:
     %%%  H100:  element(src, [src_index + 13]) <= interfaces__unsigned_64__last
%%%  Simplified H101 on reading formula in, to give:
     %%%  H101:  element(src, [src_index + 13]) >= spark__unsigned__u64__first
%%%  Simplified H102 on reading formula in, to give:
     %%%  H102:  element(src, [src_index + 13]) <= spark__unsigned__u64__last
---  Hypothesis H103 has been replaced by "true".  (It is already present, as 
          H37).
---  Hypothesis H104 has been replaced by "true".  (It is already present, as 
          H38).
%%%  Simplified H105 on reading formula in, to give:
     %%%  H105:  src_index + 13 >= integer__base__first
%%%  Simplified H106 on reading formula in, to give:
     %%%  H106:  src_index + 13 <= integer__base__last
%%%  Simplified H107 on reading formula in, to give:
     %%%  H107:  spark__unsigned__shift_left_64(element(src, [src_index + 13]), 
          40) >= interfaces__unsigned_64__first
%%%  Simplified H108 on reading formula in, to give:
     %%%  H108:  spark__unsigned__shift_left_64(element(src, [src_index + 13]), 
          40) <= interfaces__unsigned_64__last
%%%  Simplified C3 on reading formula in, to give:
     %%%  C3:  element(src, [src_index + 14]) >= interfaces__unsigned_64__first
%%%  Simplified C4 on reading formula in, to give:
     %%%  C4:  element(src, [src_index + 14]) <= interfaces__unsigned_64__last
%%%  Simplified C5 on reading formula in, to give:
     %%%  C5:  element(src, [src_index + 14]) >= spark__unsigned__u64__first
%%%  Simplified C6 on reading formula in, to give:
     %%%  C6:  element(src, [src_index + 14]) <= spark__unsigned__u64__last
%%%  Simplified C7 on reading formula in, to give:
     %%%  C7:  src_index + 14 >= src__index__subtype__1__first
%%%  Simplified C8 on reading formula in, to give:
     %%%  C8:  src_index + 14 <= src__index__subtype__1__last
%%%  Simplified C9 on reading formula in, to give:
     %%%  C9:  src_index + 14 >= integer__base__first
%%%  Simplified C10 on reading formula in, to give:
     %%%  C10:  src_index + 14 <= integer__base__last
***  Proved C1:  48 >= spark__unsigned__shift_count__first
     using hypothesis H43.
***  Proved C7:  src_index + 14 >= src__index__subtype__1__first
     using hypothesis H39.
***  Proved C8:  src_index + 14 <= src__index__subtype__1__last
     using hypothesis H40.
***  Proved C9:  src_index + 14 >= integer__base__first
     using hypothesis H51.
-S-  Applied substitution rule get_64_lsb_f_rules(39).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__last by:
          64.
<S>  New H44:  true
<S>  New H62:  true
<S>  New H74:  true
<S>  New H86:  true
<S>  New H98:  true
<S>  New C2:  true
-S-  Applied substitution rule get_64_lsb_f_rules(20).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__first by:
          0.
<S>  New H45:  element(src, [src_index + 9]) >= 0
<S>  New H59:  spark__unsigned__shift_left_64(element(src, [src_index + 9]), 8) 
          >= 0
<S>  New H63:  element(src, [src_index + 10]) >= 0
<S>  New H71:  spark__unsigned__shift_left_64(element(src, [src_index + 10]), 
          16) >= 0
<S>  New H75:  element(src, [src_index + 11]) >= 0
<S>  New H83:  spark__unsigned__shift_left_64(element(src, [src_index + 11]), 
          24) >= 0
<S>  New H87:  element(src, [src_index + 12]) >= 0
<S>  New H95:  spark__unsigned__shift_left_64(element(src, [src_index + 12]), 
          32) >= 0
<S>  New H99:  element(src, [src_index + 13]) >= 0
<S>  New H107:  spark__unsigned__shift_left_64(element(src, [src_index + 13]), 
          40) >= 0
<S>  New C3:  element(src, [src_index + 14]) >= 0
-S-  Applied substitution rule get_64_lsb_f_rules(21).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__last by:
          18446744073709551615.
<S>  New H46:  element(src, [src_index + 9]) <= 18446744073709551615
<S>  New H60:  spark__unsigned__shift_left_64(element(src, [src_index + 9]), 8) 
          <= 18446744073709551615
<S>  New H64:  element(src, [src_index + 10]) <= 18446744073709551615
<S>  New H72:  spark__unsigned__shift_left_64(element(src, [src_index + 10]), 
          16) <= 18446744073709551615
<S>  New H76:  element(src, [src_index + 11]) <= 18446744073709551615
<S>  New H84:  spark__unsigned__shift_left_64(element(src, [src_index + 11]), 
          24) <= 18446744073709551615
<S>  New H88:  element(src, [src_index + 12]) <= 18446744073709551615
<S>  New H96:  spark__unsigned__shift_left_64(element(src, [src_index + 12]), 
          32) <= 18446744073709551615
<S>  New H100:  element(src, [src_index + 13]) <= 18446744073709551615
<S>  New H108:  spark__unsigned__shift_left_64(element(src, [src_index + 13]), 
          40) <= 18446744073709551615
<S>  New C4:  element(src, [src_index + 14]) <= 18446744073709551615
-S-  Applied substitution rule get_64_lsb_f_rules(32).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H1:  for_all(i_ : integer, dst__index__subtype__1__first <= i_ and i_ 
          <= dst_index -> 0 <= element(dst, [i_]) and element(dst, [i_]) <= 
          spark__unsigned__u64__last)
<S>  New H47:  element(src, [src_index + 9]) >= 0
<S>  New H53:  element(src, [src_index + 8]) >= 0
<S>  New H65:  element(src, [src_index + 10]) >= 0
<S>  New H77:  element(src, [src_index + 11]) >= 0
<S>  New H89:  element(src, [src_index + 12]) >= 0
<S>  New H101:  element(src, [src_index + 13]) >= 0
<S>  New C5:  element(src, [src_index + 14]) >= 0
-S-  Applied substitution rule get_64_lsb_f_rules(33).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H48:  element(src, [src_index + 9]) <= 18446744073709551615
<S>  New H54:  element(src, [src_index + 8]) <= 18446744073709551615
<S>  New H66:  element(src, [src_index + 10]) <= 18446744073709551615
<S>  New H78:  element(src, [src_index + 11]) <= 18446744073709551615
<S>  New H90:  element(src, [src_index + 12]) <= 18446744073709551615
<S>  New H102:  element(src, [src_index + 13]) <= 18446744073709551615
<S>  New H1:  for_all(i_ : integer, dst__index__subtype__1__first <= i_ and i_ 
          <= dst_index -> 0 <= element(dst, [i_]) and element(dst, [i_]) <= 
          18446744073709551615)
<S>  New C6:  element(src, [src_index + 14]) <= 18446744073709551615
-S-  Applied substitution rule get_64_lsb_f_rules(5).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H52:  src_index <= 2147483638
<S>  New H70:  src_index <= 2147483637
<S>  New H82:  src_index <= 2147483636
<S>  New H94:  src_index <= 2147483635
<S>  New H106:  src_index <= 2147483634
<S>  New C10:  src_index <= 2147483633
***  Proved C2:  true
>>>  Restructured hypothesis H20 into:
     >>>  H20:  dst_index <> dst__index__subtype__1__last
---  Attempted addition of new hypothesis:
          dst_index + 1 <= natural__last
     eliminated: this already exists (as H21).
+++  Using "A->B, A |- B" on hypotheses H8 & H20 yields a new hypothesis:
     +++  H21:  dst_index + 1 <= natural__last
---  Attempted addition of new hypothesis:
          src_index + 8 <= natural__last
     eliminated: this already exists (as H24).
+++  Using "A->B, A |- B" on hypotheses H9 & H20 yields a new hypothesis:
     +++  H24:  src_index + 8 <= natural__last
-S-  Applied substitution rule get_64_lsb_f_rules(4).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H51:  src_index >= - 2147483657
<S>  New H69:  src_index >= - 2147483658
<S>  New H81:  src_index >= - 2147483659
<S>  New H93:  src_index >= - 2147483660
<S>  New H105:  src_index >= - 2147483661
-S-  Applied substitution rule get_64_lsb_f_rules(7).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H11:  src_offset >= 0
<S>  New H25:  src_index >= - 8
-S-  Applied substitution rule get_64_lsb_f_rules(8).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H8:  dst_index <> dst__index__subtype__1__last -> dst_index <= 
          2147483646
<S>  New H9:  dst_index <> dst__index__subtype__1__last -> src_index <= 
          2147483639
<S>  New H12:  src_offset <= 2147483647
<S>  New H19:  src_offset + dst__index__subtype__1__last * 8 <= 2147483647
<S>  New H21:  dst_index <= 2147483646
<S>  New H24:  src_index <= 2147483639
-S-  Applied substitution rule get_64_lsb_f_rules(26).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H10:  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__byte__last)
-S-  Applied substitution rule get_64_lsb_f_rules(27).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H10:  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]) <= 255)
-S-  Applied substitution rule get_64_lsb_f_rules(38).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__first by:
          0.
<S>  New H43:  true
<S>  New H61:  true
<S>  New H73:  true
<S>  New H85:  true
<S>  New H97:  true
-S-  Applied substitution rule get_64_lsb_f_rules(43).
     This was achieved by replacing all occurrences of 
          spark__crypto__word_count_t__first by:
          0.
<S>  New H22:  dst_index >= - 1
-S-  Applied substitution rule get_64_lsb_f_rules(44).
     This was achieved by replacing all occurrences of 
          spark__crypto__word_count_t__last by:
          268435455.
<S>  New H4:  dst__index__subtype__1__last <= 268435455
<S>  New H23:  dst_index <= 268435454
%%%  Hypotheses H3 & H20 together imply that
          dst_index < dst__index__subtype__1__last.
     H3 & H20 have therefore been deleted and a new H109 added to this effect.
***  Proved C3:  element(src, [src_index + 14]) >= 0
     using hypotheses H10, H39 & H40.
***  Proved C4:  element(src, [src_index + 14]) <= 18446744073709551615
     using hypotheses H10, H39 & H40.
***  Proved C5:  element(src, [src_index + 14]) >= 0
     using hypotheses H10, H39 & H40.
***  Proved C6:  element(src, [src_index + 14]) <= 18446744073709551615
     using hypotheses H10, H39 & H40.
---  Eliminated hypothesis H26 (true-hypothesis).
---  Eliminated hypothesis H44 (true-hypothesis).
---  Eliminated hypothesis H49 (true-hypothesis).
---  Eliminated hypothesis H50 (true-hypothesis).
---  Eliminated hypothesis H55 (true-hypothesis).
---  Eliminated hypothesis H56 (true-hypothesis).
---  Eliminated hypothesis H62 (true-hypothesis).
---  Eliminated hypothesis H67 (true-hypothesis).
---  Eliminated hypothesis H68 (true-hypothesis).
---  Eliminated hypothesis H74 (true-hypothesis).
---  Eliminated hypothesis H79 (true-hypothesis).
---  Eliminated hypothesis H80 (true-hypothesis).
---  Eliminated hypothesis H86 (true-hypothesis).
---  Eliminated hypothesis H91 (true-hypothesis).
---  Eliminated hypothesis H92 (true-hypothesis).
---  Eliminated hypothesis H98 (true-hypothesis).
---  Eliminated hypothesis H103 (true-hypothesis).
---  Eliminated hypothesis H104 (true-hypothesis).
---  Eliminated hypothesis H43 (true-hypothesis).
---  Eliminated hypothesis H61 (true-hypothesis).
---  Eliminated hypothesis H73 (true-hypothesis).
---  Eliminated hypothesis H85 (true-hypothesis).
---  Eliminated hypothesis H97 (true-hypothesis).
---  Eliminated hypothesis H47 (duplicate of H45).
---  Eliminated hypothesis H48 (duplicate of H46).
---  Eliminated hypothesis H65 (duplicate of H63).
---  Eliminated hypothesis H66 (duplicate of H64).
---  Eliminated hypothesis H77 (duplicate of H75).
---  Eliminated hypothesis H78 (duplicate of H76).
---  Eliminated hypothesis H89 (duplicate of H87).
---  Eliminated hypothesis H90 (duplicate of H88).
---  Eliminated hypothesis H101 (duplicate of H99).
---  Eliminated hypothesis H102 (duplicate of H100).
---  Eliminated hypothesis H109 (duplicate of H58).
>>>  Using "A->B, A |- B" on H8, given H109, we simplify the former to:
     >>>  H8:  dst_index <= 2147483646
>>>  Using "A->B, A |- B" on H9, given H109, we simplify the former to:
     >>>  H9:  src_index <= 2147483639
---  Eliminated hypothesis H15 (redundant, given H18).
---  Eliminated hypothesis H21 (redundant, given H23).
---  Eliminated hypothesis H22 (redundant, given H2 & H14).
---  Eliminated hypothesis H24 (redundant, given H52).
---  Eliminated hypothesis H28 (redundant, given H30).
---  Eliminated hypothesis H29 (redundant, given H27).
---  Eliminated hypothesis H30 (redundant, given H32).
---  Eliminated hypothesis H31 (redundant, given H27).
---  Eliminated hypothesis H32 (redundant, given H34).
---  Eliminated hypothesis H33 (redundant, given H27).
---  Eliminated hypothesis H34 (redundant, given H36).
---  Eliminated hypothesis H35 (redundant, given H27).
---  Eliminated hypothesis H36 (redundant, given H38).
---  Eliminated hypothesis H37 (redundant, given H27).
---  Eliminated hypothesis H38 (redundant, given H40).
---  Eliminated hypothesis H39 (redundant, given H27).
---  Eliminated hypothesis H40 (redundant, given H42).
---  Eliminated hypothesis H41 (redundant, given H27).
---  Eliminated hypothesis H51 (redundant, given H25).
---  Eliminated hypothesis H52 (redundant, given H70).
---  Eliminated hypothesis H57 (redundant, given H2).
---  Eliminated hypothesis H69 (redundant, given H25).
---  Eliminated hypothesis H70 (redundant, given H82).
---  Eliminated hypothesis H81 (redundant, given H25).
---  Eliminated hypothesis H82 (redundant, given H94).
---  Eliminated hypothesis H93 (redundant, given H25).
---  Eliminated hypothesis H94 (redundant, given H106).
---  Eliminated hypothesis H105 (redundant, given H25).
-S-  Eliminated hypothesis H5.
     This was achieved by replacing all occurrences of src_index by:
          src_offset + dst_index * 8.
<S>  New H6:  src_offset + dst_index * 8 >= src_offset
<S>  New H7:  src_offset + dst_index * 8 <= src_offset + 
          dst__index__subtype__1__last * 8
<S>  New H27:  src_offset + dst_index * 8 + 8 >= src__index__subtype__1__first
<S>  New H42:  src_offset + dst_index * 8 + 15 <= src__index__subtype__1__last
<S>  New H45:  element(src, [src_offset + dst_index * 8 + 9]) >= 0
<S>  New H46:  element(src, [src_offset + dst_index * 8 + 9]) <= 
          18446744073709551615
<S>  New H53:  element(src, [src_offset + dst_index * 8 + 8]) >= 0
<S>  New H54:  element(src, [src_offset + dst_index * 8 + 8]) <= 
          18446744073709551615
<S>  New H59:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 9]), 8) >= 0
<S>  New H60:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 9]), 8) <= 18446744073709551615
<S>  New H63:  element(src, [src_offset + dst_index * 8 + 10]) >= 0
<S>  New H64:  element(src, [src_offset + dst_index * 8 + 10]) <= 
          18446744073709551615
<S>  New H71:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 10]), 16) >= 0
<S>  New H72:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 10]), 16) <= 18446744073709551615
<S>  New H75:  element(src, [src_offset + dst_index * 8 + 11]) >= 0
<S>  New H76:  element(src, [src_offset + dst_index * 8 + 11]) <= 
          18446744073709551615
<S>  New H83:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 11]), 24) >= 0
<S>  New H84:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 11]), 24) <= 18446744073709551615
<S>  New H87:  element(src, [src_offset + dst_index * 8 + 12]) >= 0
<S>  New H88:  element(src, [src_offset + dst_index * 8 + 12]) <= 
          18446744073709551615
<S>  New H95:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 12]), 32) >= 0
<S>  New H96:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 12]), 32) <= 18446744073709551615
<S>  New H99:  element(src, [src_offset + dst_index * 8 + 13]) >= 0
<S>  New H100:  element(src, [src_offset + dst_index * 8 + 13]) <= 
          18446744073709551615
<S>  New H106:  src_offset + dst_index * 8 <= 2147483634
<S>  New H107:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 13]), 40) >= 0
<S>  New H108:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 13]), 40) <= 18446744073709551615
<S>  New H25:  src_offset + dst_index * 8 >= - 8
<S>  New H9:  src_offset + dst_index * 8 <= 2147483639
<S>  New C10:  src_offset + dst_index * 8 <= 2147483633
     +++  New H110:  integer__size >= 0
     +++  New H111:  natural__size >= 0
     +++  New H112:  spark__unsigned__byte__size >= 0
     +++  New H113:  spark__unsigned__u64__size >= 0
     +++  New H114:  spark__unsigned__shift_count__size >= 0
     +++  New H115:  spark__crypto__word_count_t__size >= 0
     +++  New H116:  dst__index__subtype__1__first <= 
          dst__index__subtype__1__last
     +++  New H117:  src__index__subtype__1__first <= 
          src__index__subtype__1__last
     +++  New H118:  src__index__subtype__1__first >= 0
     +++  New H119:  src__index__subtype__1__last >= 0
     +++  New H120:  src__index__subtype__1__last <= 2147483647
     +++  New H121:  src__index__subtype__1__first <= 2147483647
     +++  New H122:  dst__index__subtype__1__first >= 0
     +++  New H123:  dst__index__subtype__1__last >= 0
---  Attempted addition of new hypothesis:
          dst__index__subtype__1__last <= 268435455
     eliminated: this already exists (as H4).
     +++  New H4:  dst__index__subtype__1__last <= 268435455
     +++  New H124:  dst__index__subtype__1__first <= 268435455
***  Proved C10:  src_offset + dst_index * 8 <= 2147483633
     using hypotheses H42 & H120.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_64_lsb_first_17.  @@@@@@@@@@
%%%  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__byte__first <= element(src, [i___1]) and element(
          src, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H13 has been replaced by "true".  (It is already present, as H9)
          .
---  Hypothesis H14 has been replaced by "true".  (It is already present, as 
          H10).
---  Hypothesis H16 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H30 has been replaced by "true".  (It is already present, as H6)
          .
---  Hypothesis H37 has been replaced by "true".  (It is already present, as 
          H17).
---  Hypothesis H38 has been replaced by "true".  (It is already present, as 
          H18).
---  Hypothesis H43 has been replaced by "true".  (It is already present, as 
          H15).
---  Hypothesis H44 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H19).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H20).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H21).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H22).
---  Hypothesis H79 has been replaced by "true".  (It is already present, as 
          H23).
---  Hypothesis H80 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H91 has been replaced by "true".  (It is already present, as 
          H25).
---  Hypothesis H92 has been replaced by "true".  (It is already present, as 
          H26).
---  Hypothesis H103 has been replaced by "true".  (It is already present, as 
          H27).
---  Hypothesis H104 has been replaced by "true".  (It is already present, as 
          H28).
***  Proved C1:  56 >= spark__unsigned__shift_count__first
     using hypothesis H31.
***  Proved C7:  src_offset + 7 >= src__index__subtype__1__first
     using hypothesis H29.
***  Proved C8:  src_offset + 7 <= src__index__subtype__1__last
     using hypothesis H6.
***  Proved C9:  src_offset + 7 >= integer__base__first
     using hypothesis H39.
-S-  Applied substitution rule get_64_lsb_f_rules(39).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__last by:
          64.
<S>  New H32:  true
<S>  New H50:  true
<S>  New H62:  true
<S>  New H74:  true
<S>  New H86:  true
<S>  New H98:  true
<S>  New C2:  true
-S-  Applied substitution rule get_64_lsb_f_rules(20).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__first by:
          0.
<S>  New H33:  element(src, [src_offset + 1]) >= 0
<S>  New H47:  spark__unsigned__shift_left_64(element(src, [src_offset + 1]), 8)
           >= 0
<S>  New H51:  element(src, [src_offset + 2]) >= 0
<S>  New H59:  spark__unsigned__shift_left_64(element(src, [src_offset + 2]), 
          16) >= 0
<S>  New H63:  element(src, [src_offset + 3]) >= 0
<S>  New H71:  spark__unsigned__shift_left_64(element(src, [src_offset + 3]), 
          24) >= 0
<S>  New H75:  element(src, [src_offset + 4]) >= 0
<S>  New H83:  spark__unsigned__shift_left_64(element(src, [src_offset + 4]), 
          32) >= 0
<S>  New H87:  element(src, [src_offset + 5]) >= 0
<S>  New H95:  spark__unsigned__shift_left_64(element(src, [src_offset + 5]), 
          40) >= 0
<S>  New H99:  element(src, [src_offset + 6]) >= 0
<S>  New H107:  spark__unsigned__shift_left_64(element(src, [src_offset + 6]), 
          48) >= 0
<S>  New C3:  element(src, [src_offset + 7]) >= 0
-S-  Applied substitution rule get_64_lsb_f_rules(21).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__last by:
          18446744073709551615.
<S>  New H34:  element(src, [src_offset + 1]) <= 18446744073709551615
<S>  New H48:  spark__unsigned__shift_left_64(element(src, [src_offset + 1]), 8)
           <= 18446744073709551615
<S>  New H52:  element(src, [src_offset + 2]) <= 18446744073709551615
<S>  New H60:  spark__unsigned__shift_left_64(element(src, [src_offset + 2]), 
          16) <= 18446744073709551615
<S>  New H64:  element(src, [src_offset + 3]) <= 18446744073709551615
<S>  New H72:  spark__unsigned__shift_left_64(element(src, [src_offset + 3]), 
          24) <= 18446744073709551615
<S>  New H76:  element(src, [src_offset + 4]) <= 18446744073709551615
<S>  New H84:  spark__unsigned__shift_left_64(element(src, [src_offset + 4]), 
          32) <= 18446744073709551615
<S>  New H88:  element(src, [src_offset + 5]) <= 18446744073709551615
<S>  New H96:  spark__unsigned__shift_left_64(element(src, [src_offset + 5]), 
          40) <= 18446744073709551615
<S>  New H100:  element(src, [src_offset + 6]) <= 18446744073709551615
<S>  New H108:  spark__unsigned__shift_left_64(element(src, [src_offset + 6]), 
          48) <= 18446744073709551615
<S>  New C4:  element(src, [src_offset + 7]) <= 18446744073709551615
-S-  Applied substitution rule get_64_lsb_f_rules(32).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H35:  element(src, [src_offset + 1]) >= 0
<S>  New H41:  element(src, [src_offset]) >= 0
<S>  New H53:  element(src, [src_offset + 2]) >= 0
<S>  New H65:  element(src, [src_offset + 3]) >= 0
<S>  New H77:  element(src, [src_offset + 4]) >= 0
<S>  New H89:  element(src, [src_offset + 5]) >= 0
<S>  New H101:  element(src, [src_offset + 6]) >= 0
<S>  New C5:  element(src, [src_offset + 7]) >= 0
-S-  Applied substitution rule get_64_lsb_f_rules(33).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H36:  element(src, [src_offset + 1]) <= 18446744073709551615
<S>  New H42:  element(src, [src_offset]) <= 18446744073709551615
<S>  New H54:  element(src, [src_offset + 2]) <= 18446744073709551615
<S>  New H66:  element(src, [src_offset + 3]) <= 18446744073709551615
<S>  New H78:  element(src, [src_offset + 4]) <= 18446744073709551615
<S>  New H90:  element(src, [src_offset + 5]) <= 18446744073709551615
<S>  New H102:  element(src, [src_offset + 6]) <= 18446744073709551615
<S>  New C6:  element(src, [src_offset + 7]) <= 18446744073709551615
-S-  Applied substitution rule get_64_lsb_f_rules(5).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H40:  src_offset <= 2147483646
<S>  New H58:  src_offset <= 2147483645
<S>  New H70:  src_offset <= 2147483644
<S>  New H82:  src_offset <= 2147483643
<S>  New H94:  src_offset <= 2147483642
<S>  New H106:  src_offset <= 2147483641
<S>  New C10:  src_offset <= 2147483640
***  Proved C2:  true
-S-  Applied substitution rule get_64_lsb_f_rules(4).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H39:  src_offset >= - 2147483649
<S>  New H57:  src_offset >= - 2147483650
<S>  New H69:  src_offset >= - 2147483651
<S>  New H81:  src_offset >= - 2147483652
<S>  New H93:  src_offset >= - 2147483653
<S>  New H105:  src_offset >= - 2147483654
-S-  Applied substitution rule get_64_lsb_f_rules(7).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H9:  src_offset >= 0
-S-  Applied substitution rule get_64_lsb_f_rules(8).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H7:  src_offset + dst__index__subtype__1__last * 8 <= 2147483647
<S>  New H10:  src_offset <= 2147483647
-S-  Applied substitution rule get_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, 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__byte__last)
-S-  Applied substitution rule get_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, 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]) <= 255)
-S-  Applied substitution rule get_64_lsb_f_rules(38).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__first by:
          0.
<S>  New H31:  true
<S>  New H49:  true
<S>  New H61:  true
<S>  New H73:  true
<S>  New H85:  true
<S>  New H97:  true
-S-  Applied substitution rule get_64_lsb_f_rules(43).
     This was achieved by replacing all occurrences of 
          spark__crypto__word_count_t__first by:
          0.
<S>  New H11:  true
-S-  Applied substitution rule get_64_lsb_f_rules(44).
     This was achieved by replacing all occurrences of 
          spark__crypto__word_count_t__last by:
          268435455.
<S>  New H12:  true
***  Proved C3:  element(src, [src_offset + 7]) >= 0
     using hypotheses H6, H8 & H29.
***  Proved C4:  element(src, [src_offset + 7]) <= 18446744073709551615
     using hypotheses H6, H8 & H29.
***  Proved C5:  element(src, [src_offset + 7]) >= 0
     using hypotheses H6, H8 & H29.
***  Proved C6:  element(src, [src_offset + 7]) <= 18446744073709551615
     using hypotheses H6, H8 & H29.
---  Eliminated hypothesis H13 (true-hypothesis).
---  Eliminated hypothesis H14 (true-hypothesis).
---  Eliminated hypothesis H16 (true-hypothesis).
---  Eliminated hypothesis H30 (true-hypothesis).
---  Eliminated hypothesis H32 (true-hypothesis).
---  Eliminated hypothesis H37 (true-hypothesis).
---  Eliminated hypothesis H38 (true-hypothesis).
---  Eliminated hypothesis H43 (true-hypothesis).
---  Eliminated hypothesis H44 (true-hypothesis).
---  Eliminated hypothesis H50 (true-hypothesis).
---  Eliminated hypothesis H55 (true-hypothesis).
---  Eliminated hypothesis H56 (true-hypothesis).
---  Eliminated hypothesis H62 (true-hypothesis).
---  Eliminated hypothesis H67 (true-hypothesis).
---  Eliminated hypothesis H68 (true-hypothesis).
---  Eliminated hypothesis H74 (true-hypothesis).
---  Eliminated hypothesis H79 (true-hypothesis).
---  Eliminated hypothesis H80 (true-hypothesis).
---  Eliminated hypothesis H86 (true-hypothesis).
---  Eliminated hypothesis H91 (true-hypothesis).
---  Eliminated hypothesis H92 (true-hypothesis).
---  Eliminated hypothesis H98 (true-hypothesis).
---  Eliminated hypothesis H103 (true-hypothesis).
---  Eliminated hypothesis H104 (true-hypothesis).
---  Eliminated hypothesis H31 (true-hypothesis).
---  Eliminated hypothesis H49 (true-hypothesis).
---  Eliminated hypothesis H61 (true-hypothesis).
---  Eliminated hypothesis H73 (true-hypothesis).
---  Eliminated hypothesis H85 (true-hypothesis).
---  Eliminated hypothesis H97 (true-hypothesis).
---  Eliminated hypothesis H11 (true-hypothesis).
---  Eliminated hypothesis H12 (true-hypothesis).
---  Eliminated hypothesis H35 (duplicate of H33).
---  Eliminated hypothesis H36 (duplicate of H34).
---  Eliminated hypothesis H53 (duplicate of H51).
---  Eliminated hypothesis H54 (duplicate of H52).
---  Eliminated hypothesis H65 (duplicate of H63).
---  Eliminated hypothesis H66 (duplicate of H64).
---  Eliminated hypothesis H77 (duplicate of H75).
---  Eliminated hypothesis H78 (duplicate of H76).
---  Eliminated hypothesis H89 (duplicate of H87).
---  Eliminated hypothesis H90 (duplicate of H88).
---  Eliminated hypothesis H101 (duplicate of H99).
---  Eliminated hypothesis H102 (duplicate of H100).
---  Eliminated hypothesis H3 (redundant, given H6).
---  Eliminated hypothesis H10 (redundant, given H40).
---  Eliminated hypothesis H17 (redundant, given H15).
---  Eliminated hypothesis H18 (redundant, given H6).
---  Eliminated hypothesis H19 (redundant, given H15).
---  Eliminated hypothesis H20 (redundant, given H6).
---  Eliminated hypothesis H21 (redundant, given H15).
---  Eliminated hypothesis H22 (redundant, given H6).
---  Eliminated hypothesis H23 (redundant, given H15).
---  Eliminated hypothesis H24 (redundant, given H6).
---  Eliminated hypothesis H25 (redundant, given H15).
---  Eliminated hypothesis H26 (redundant, given H6).
---  Eliminated hypothesis H27 (redundant, given H15).
---  Eliminated hypothesis H28 (redundant, given H6).
---  Eliminated hypothesis H29 (redundant, given H15).
---  Eliminated hypothesis H39 (redundant, given H9).
---  Eliminated hypothesis H40 (redundant, given H58).
---  Eliminated hypothesis H45 (redundant, given H2).
---  Eliminated hypothesis H57 (redundant, given H9).
---  Eliminated hypothesis H58 (redundant, given H70).
---  Eliminated hypothesis H69 (redundant, given H9).
---  Eliminated hypothesis H70 (redundant, given H82).
---  Eliminated hypothesis H81 (redundant, given H9).
---  Eliminated hypothesis H82 (redundant, given H94).
---  Eliminated hypothesis H93 (redundant, given H9).
---  Eliminated hypothesis H94 (redundant, given H106).
---  Eliminated hypothesis H105 (redundant, given H9).
     +++  New H109:  integer__size >= 0
     +++  New H110:  natural__size >= 0
     +++  New H111:  spark__unsigned__byte__size >= 0
     +++  New H112:  spark__unsigned__u64__size >= 0
     +++  New H113:  spark__unsigned__shift_count__size >= 0
     +++  New H114:  spark__crypto__word_count_t__size >= 0
     +++  New H115:  dst__index__subtype__1__first <= 
          dst__index__subtype__1__last
     +++  New H116:  src__index__subtype__1__first <= 
          src__index__subtype__1__last
     +++  New H117:  src__index__subtype__1__first >= 0
     +++  New H118:  src__index__subtype__1__last >= 0
     +++  New H119:  src__index__subtype__1__last <= 2147483647
     +++  New H120:  src__index__subtype__1__first <= 2147483647
     +++  New H121:  dst__index__subtype__1__first >= 0
     +++  New H122:  dst__index__subtype__1__last >= 0
     +++  New H123:  dst__index__subtype__1__last <= 268435455
     +++  New H124:  dst__index__subtype__1__first <= 268435455
***  Proved C10:  src_offset <= 2147483640
     using hypotheses H6 & H119.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_64_lsb_first_18.  @@@@@@@@@@
%%%  Simplified H1 on reading formula in, to give:
     %%%  H1:  for_all(i_ : integer, dst__index__subtype__1__first <= i_ and i_ 
          <= dst_index -> spark__unsigned__u64__first <= element(dst, [i_]) and 
          element(dst, [i_]) <= spark__unsigned__u64__last)
%%%  Simplified H10 on reading formula in, to give:
     %%%  H10:  for_all(i___1 : integer, src__index__subtype__1__first <= i___1 
          and i___1 <= src__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(src, [i___1]) and element(
          src, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
%%%  Simplified H29 on reading formula in, to give:
     %%%  H29:  src_index + 9 >= src__index__subtype__1__first
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  src_index + 9 <= src__index__subtype__1__last
%%%  Simplified H31 on reading formula in, to give:
     %%%  H31:  src_index + 10 >= src__index__subtype__1__first
%%%  Simplified H32 on reading formula in, to give:
     %%%  H32:  src_index + 10 <= src__index__subtype__1__last
%%%  Simplified H33 on reading formula in, to give:
     %%%  H33:  src_index + 11 >= src__index__subtype__1__first
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  src_index + 11 <= src__index__subtype__1__last
%%%  Simplified H35 on reading formula in, to give:
     %%%  H35:  src_index + 12 >= src__index__subtype__1__first
%%%  Simplified H36 on reading formula in, to give:
     %%%  H36:  src_index + 12 <= src__index__subtype__1__last
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  src_index + 13 >= src__index__subtype__1__first
%%%  Simplified H38 on reading formula in, to give:
     %%%  H38:  src_index + 13 <= src__index__subtype__1__last
%%%  Simplified H39 on reading formula in, to give:
     %%%  H39:  src_index + 14 >= src__index__subtype__1__first
%%%  Simplified H40 on reading formula in, to give:
     %%%  H40:  src_index + 14 <= src__index__subtype__1__last
%%%  Simplified H41 on reading formula in, to give:
     %%%  H41:  src_index + 15 >= src__index__subtype__1__first
%%%  Simplified H42 on reading formula in, to give:
     %%%  H42:  src_index + 15 <= src__index__subtype__1__last
%%%  Simplified H45 on reading formula in, to give:
     %%%  H45:  element(src, [src_index + 9]) >= interfaces__unsigned_64__first
%%%  Simplified H46 on reading formula in, to give:
     %%%  H46:  element(src, [src_index + 9]) <= interfaces__unsigned_64__last
%%%  Simplified H47 on reading formula in, to give:
     %%%  H47:  element(src, [src_index + 9]) >= spark__unsigned__u64__first
%%%  Simplified H48 on reading formula in, to give:
     %%%  H48:  element(src, [src_index + 9]) <= spark__unsigned__u64__last
---  Hypothesis H49 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H50 has been replaced by "true".  (It is already present, as 
          H30).
%%%  Simplified H51 on reading formula in, to give:
     %%%  H51:  src_index + 9 >= integer__base__first
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  src_index + 9 <= integer__base__last
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H27).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H28).
%%%  Simplified H59 on reading formula in, to give:
     %%%  H59:  spark__unsigned__shift_left_64(element(src, [src_index + 9]), 8)
           >= interfaces__unsigned_64__first
%%%  Simplified H60 on reading formula in, to give:
     %%%  H60:  spark__unsigned__shift_left_64(element(src, [src_index + 9]), 8)
           <= interfaces__unsigned_64__last
%%%  Simplified H63 on reading formula in, to give:
     %%%  H63:  element(src, [src_index + 10]) >= interfaces__unsigned_64__first
%%%  Simplified H64 on reading formula in, to give:
     %%%  H64:  element(src, [src_index + 10]) <= interfaces__unsigned_64__last
%%%  Simplified H65 on reading formula in, to give:
     %%%  H65:  element(src, [src_index + 10]) >= spark__unsigned__u64__first
%%%  Simplified H66 on reading formula in, to give:
     %%%  H66:  element(src, [src_index + 10]) <= spark__unsigned__u64__last
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H32).
%%%  Simplified H69 on reading formula in, to give:
     %%%  H69:  src_index + 10 >= integer__base__first
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  src_index + 10 <= integer__base__last
%%%  Simplified H71 on reading formula in, to give:
     %%%  H71:  spark__unsigned__shift_left_64(element(src, [src_index + 10]), 
          16) >= interfaces__unsigned_64__first
%%%  Simplified H72 on reading formula in, to give:
     %%%  H72:  spark__unsigned__shift_left_64(element(src, [src_index + 10]), 
          16) <= interfaces__unsigned_64__last
%%%  Simplified H75 on reading formula in, to give:
     %%%  H75:  element(src, [src_index + 11]) >= interfaces__unsigned_64__first
%%%  Simplified H76 on reading formula in, to give:
     %%%  H76:  element(src, [src_index + 11]) <= interfaces__unsigned_64__last
%%%  Simplified H77 on reading formula in, to give:
     %%%  H77:  element(src, [src_index + 11]) >= spark__unsigned__u64__first
%%%  Simplified H78 on reading formula in, to give:
     %%%  H78:  element(src, [src_index + 11]) <= spark__unsigned__u64__last
---  Hypothesis H79 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H80 has been replaced by "true".  (It is already present, as 
          H34).
%%%  Simplified H81 on reading formula in, to give:
     %%%  H81:  src_index + 11 >= integer__base__first
%%%  Simplified H82 on reading formula in, to give:
     %%%  H82:  src_index + 11 <= integer__base__last
%%%  Simplified H83 on reading formula in, to give:
     %%%  H83:  spark__unsigned__shift_left_64(element(src, [src_index + 11]), 
          24) >= interfaces__unsigned_64__first
%%%  Simplified H84 on reading formula in, to give:
     %%%  H84:  spark__unsigned__shift_left_64(element(src, [src_index + 11]), 
          24) <= interfaces__unsigned_64__last
%%%  Simplified H87 on reading formula in, to give:
     %%%  H87:  element(src, [src_index + 12]) >= interfaces__unsigned_64__first
%%%  Simplified H88 on reading formula in, to give:
     %%%  H88:  element(src, [src_index + 12]) <= interfaces__unsigned_64__last
%%%  Simplified H89 on reading formula in, to give:
     %%%  H89:  element(src, [src_index + 12]) >= spark__unsigned__u64__first
%%%  Simplified H90 on reading formula in, to give:
     %%%  H90:  element(src, [src_index + 12]) <= spark__unsigned__u64__last
---  Hypothesis H91 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H92 has been replaced by "true".  (It is already present, as 
          H36).
%%%  Simplified H93 on reading formula in, to give:
     %%%  H93:  src_index + 12 >= integer__base__first
%%%  Simplified H94 on reading formula in, to give:
     %%%  H94:  src_index + 12 <= integer__base__last
%%%  Simplified H95 on reading formula in, to give:
     %%%  H95:  spark__unsigned__shift_left_64(element(src, [src_index + 12]), 
          32) >= interfaces__unsigned_64__first
%%%  Simplified H96 on reading formula in, to give:
     %%%  H96:  spark__unsigned__shift_left_64(element(src, [src_index + 12]), 
          32) <= interfaces__unsigned_64__last
%%%  Simplified H99 on reading formula in, to give:
     %%%  H99:  element(src, [src_index + 13]) >= interfaces__unsigned_64__first
%%%  Simplified H100 on reading formula in, to give:
     %%%  H100:  element(src, [src_index + 13]) <= interfaces__unsigned_64__last
%%%  Simplified H101 on reading formula in, to give:
     %%%  H101:  element(src, [src_index + 13]) >= spark__unsigned__u64__first
%%%  Simplified H102 on reading formula in, to give:
     %%%  H102:  element(src, [src_index + 13]) <= spark__unsigned__u64__last
---  Hypothesis H103 has been replaced by "true".  (It is already present, as 
          H37).
---  Hypothesis H104 has been replaced by "true".  (It is already present, as 
          H38).
%%%  Simplified H105 on reading formula in, to give:
     %%%  H105:  src_index + 13 >= integer__base__first
%%%  Simplified H106 on reading formula in, to give:
     %%%  H106:  src_index + 13 <= integer__base__last
%%%  Simplified H107 on reading formula in, to give:
     %%%  H107:  spark__unsigned__shift_left_64(element(src, [src_index + 13]), 
          40) >= interfaces__unsigned_64__first
%%%  Simplified H108 on reading formula in, to give:
     %%%  H108:  spark__unsigned__shift_left_64(element(src, [src_index + 13]), 
          40) <= interfaces__unsigned_64__last
%%%  Simplified H111 on reading formula in, to give:
     %%%  H111:  element(src, [src_index + 14]) >= 
          interfaces__unsigned_64__first
%%%  Simplified H112 on reading formula in, to give:
     %%%  H112:  element(src, [src_index + 14]) <= interfaces__unsigned_64__last
%%%  Simplified H113 on reading formula in, to give:
     %%%  H113:  element(src, [src_index + 14]) >= spark__unsigned__u64__first
%%%  Simplified H114 on reading formula in, to give:
     %%%  H114:  element(src, [src_index + 14]) <= spark__unsigned__u64__last
---  Hypothesis H115 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H116 has been replaced by "true".  (It is already present, as 
          H40).
%%%  Simplified H117 on reading formula in, to give:
     %%%  H117:  src_index + 14 >= integer__base__first
%%%  Simplified H118 on reading formula in, to give:
     %%%  H118:  src_index + 14 <= integer__base__last
%%%  Simplified H119 on reading formula in, to give:
     %%%  H119:  spark__unsigned__shift_left_64(element(src, [src_index + 14]), 
          48) >= interfaces__unsigned_64__first
%%%  Simplified H120 on reading formula in, to give:
     %%%  H120:  spark__unsigned__shift_left_64(element(src, [src_index + 14]), 
          48) <= interfaces__unsigned_64__last
%%%  Simplified C3 on reading formula in, to give:
     %%%  C3:  element(src, [src_index + 15]) >= interfaces__unsigned_64__first
%%%  Simplified C4 on reading formula in, to give:
     %%%  C4:  element(src, [src_index + 15]) <= interfaces__unsigned_64__last
%%%  Simplified C5 on reading formula in, to give:
     %%%  C5:  element(src, [src_index + 15]) >= spark__unsigned__u64__first
%%%  Simplified C6 on reading formula in, to give:
     %%%  C6:  element(src, [src_index + 15]) <= spark__unsigned__u64__last
%%%  Simplified C7 on reading formula in, to give:
     %%%  C7:  src_index + 15 >= src__index__subtype__1__first
%%%  Simplified C8 on reading formula in, to give:
     %%%  C8:  src_index + 15 <= src__index__subtype__1__last
%%%  Simplified C9 on reading formula in, to give:
     %%%  C9:  src_index + 15 >= integer__base__first
%%%  Simplified C10 on reading formula in, to give:
     %%%  C10:  src_index + 15 <= integer__base__last
***  Proved C1:  56 >= spark__unsigned__shift_count__first
     using hypothesis H43.
***  Proved C7:  src_index + 15 >= src__index__subtype__1__first
     using hypothesis H41.
***  Proved C8:  src_index + 15 <= src__index__subtype__1__last
     using hypothesis H42.
***  Proved C9:  src_index + 15 >= integer__base__first
     using hypothesis H51.
-S-  Applied substitution rule get_64_lsb_f_rules(39).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__last by:
          64.
<S>  New H44:  true
<S>  New H62:  true
<S>  New H74:  true
<S>  New H86:  true
<S>  New H98:  true
<S>  New H110:  true
<S>  New C2:  true
-S-  Applied substitution rule get_64_lsb_f_rules(20).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__first by:
          0.
<S>  New H45:  element(src, [src_index + 9]) >= 0
<S>  New H59:  spark__unsigned__shift_left_64(element(src, [src_index + 9]), 8) 
          >= 0
<S>  New H63:  element(src, [src_index + 10]) >= 0
<S>  New H71:  spark__unsigned__shift_left_64(element(src, [src_index + 10]), 
          16) >= 0
<S>  New H75:  element(src, [src_index + 11]) >= 0
<S>  New H83:  spark__unsigned__shift_left_64(element(src, [src_index + 11]), 
          24) >= 0
<S>  New H87:  element(src, [src_index + 12]) >= 0
<S>  New H95:  spark__unsigned__shift_left_64(element(src, [src_index + 12]), 
          32) >= 0
<S>  New H99:  element(src, [src_index + 13]) >= 0
<S>  New H107:  spark__unsigned__shift_left_64(element(src, [src_index + 13]), 
          40) >= 0
<S>  New H111:  element(src, [src_index + 14]) >= 0
<S>  New H119:  spark__unsigned__shift_left_64(element(src, [src_index + 14]), 
          48) >= 0
<S>  New C3:  element(src, [src_index + 15]) >= 0
-S-  Applied substitution rule get_64_lsb_f_rules(21).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__last by:
          18446744073709551615.
<S>  New H46:  element(src, [src_index + 9]) <= 18446744073709551615
<S>  New H60:  spark__unsigned__shift_left_64(element(src, [src_index + 9]), 8) 
          <= 18446744073709551615
<S>  New H64:  element(src, [src_index + 10]) <= 18446744073709551615
<S>  New H72:  spark__unsigned__shift_left_64(element(src, [src_index + 10]), 
          16) <= 18446744073709551615
<S>  New H76:  element(src, [src_index + 11]) <= 18446744073709551615
<S>  New H84:  spark__unsigned__shift_left_64(element(src, [src_index + 11]), 
          24) <= 18446744073709551615
<S>  New H88:  element(src, [src_index + 12]) <= 18446744073709551615
<S>  New H96:  spark__unsigned__shift_left_64(element(src, [src_index + 12]), 
          32) <= 18446744073709551615
<S>  New H100:  element(src, [src_index + 13]) <= 18446744073709551615
<S>  New H108:  spark__unsigned__shift_left_64(element(src, [src_index + 13]), 
          40) <= 18446744073709551615
<S>  New H112:  element(src, [src_index + 14]) <= 18446744073709551615
<S>  New H120:  spark__unsigned__shift_left_64(element(src, [src_index + 14]), 
          48) <= 18446744073709551615
<S>  New C4:  element(src, [src_index + 15]) <= 18446744073709551615
-S-  Applied substitution rule get_64_lsb_f_rules(32).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H1:  for_all(i_ : integer, dst__index__subtype__1__first <= i_ and i_ 
          <= dst_index -> 0 <= element(dst, [i_]) and element(dst, [i_]) <= 
          spark__unsigned__u64__last)
<S>  New H47:  element(src, [src_index + 9]) >= 0
<S>  New H53:  element(src, [src_index + 8]) >= 0
<S>  New H65:  element(src, [src_index + 10]) >= 0
<S>  New H77:  element(src, [src_index + 11]) >= 0
<S>  New H89:  element(src, [src_index + 12]) >= 0
<S>  New H101:  element(src, [src_index + 13]) >= 0
<S>  New H113:  element(src, [src_index + 14]) >= 0
<S>  New C5:  element(src, [src_index + 15]) >= 0
-S-  Applied substitution rule get_64_lsb_f_rules(33).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H48:  element(src, [src_index + 9]) <= 18446744073709551615
<S>  New H54:  element(src, [src_index + 8]) <= 18446744073709551615
<S>  New H66:  element(src, [src_index + 10]) <= 18446744073709551615
<S>  New H78:  element(src, [src_index + 11]) <= 18446744073709551615
<S>  New H90:  element(src, [src_index + 12]) <= 18446744073709551615
<S>  New H102:  element(src, [src_index + 13]) <= 18446744073709551615
<S>  New H114:  element(src, [src_index + 14]) <= 18446744073709551615
<S>  New H1:  for_all(i_ : integer, dst__index__subtype__1__first <= i_ and i_ 
          <= dst_index -> 0 <= element(dst, [i_]) and element(dst, [i_]) <= 
          18446744073709551615)
<S>  New C6:  element(src, [src_index + 15]) <= 18446744073709551615
-S-  Applied substitution rule get_64_lsb_f_rules(5).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H52:  src_index <= 2147483638
<S>  New H70:  src_index <= 2147483637
<S>  New H82:  src_index <= 2147483636
<S>  New H94:  src_index <= 2147483635
<S>  New H106:  src_index <= 2147483634
<S>  New H118:  src_index <= 2147483633
<S>  New C10:  src_index <= 2147483632
***  Proved C2:  true
>>>  Restructured hypothesis H20 into:
     >>>  H20:  dst_index <> dst__index__subtype__1__last
---  Attempted addition of new hypothesis:
          dst_index + 1 <= natural__last
     eliminated: this already exists (as H21).
+++  Using "A->B, A |- B" on hypotheses H8 & H20 yields a new hypothesis:
     +++  H21:  dst_index + 1 <= natural__last
---  Attempted addition of new hypothesis:
          src_index + 8 <= natural__last
     eliminated: this already exists (as H24).
+++  Using "A->B, A |- B" on hypotheses H9 & H20 yields a new hypothesis:
     +++  H24:  src_index + 8 <= natural__last
-S-  Applied substitution rule get_64_lsb_f_rules(4).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H51:  src_index >= - 2147483657
<S>  New H69:  src_index >= - 2147483658
<S>  New H81:  src_index >= - 2147483659
<S>  New H93:  src_index >= - 2147483660
<S>  New H105:  src_index >= - 2147483661
<S>  New H117:  src_index >= - 2147483662
-S-  Applied substitution rule get_64_lsb_f_rules(7).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H11:  src_offset >= 0
<S>  New H25:  src_index >= - 8
-S-  Applied substitution rule get_64_lsb_f_rules(8).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H8:  dst_index <> dst__index__subtype__1__last -> dst_index <= 
          2147483646
<S>  New H9:  dst_index <> dst__index__subtype__1__last -> src_index <= 
          2147483639
<S>  New H12:  src_offset <= 2147483647
<S>  New H19:  src_offset + dst__index__subtype__1__last * 8 <= 2147483647
<S>  New H21:  dst_index <= 2147483646
<S>  New H24:  src_index <= 2147483639
-S-  Applied substitution rule get_64_lsb_f_rules(26).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H10:  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__byte__last)
-S-  Applied substitution rule get_64_lsb_f_rules(27).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H10:  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]) <= 255)
-S-  Applied substitution rule get_64_lsb_f_rules(38).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__first by:
          0.
<S>  New H43:  true
<S>  New H61:  true
<S>  New H73:  true
<S>  New H85:  true
<S>  New H97:  true
<S>  New H109:  true
-S-  Applied substitution rule get_64_lsb_f_rules(43).
     This was achieved by replacing all occurrences of 
          spark__crypto__word_count_t__first by:
          0.
<S>  New H22:  dst_index >= - 1
-S-  Applied substitution rule get_64_lsb_f_rules(44).
     This was achieved by replacing all occurrences of 
          spark__crypto__word_count_t__last by:
          268435455.
<S>  New H4:  dst__index__subtype__1__last <= 268435455
<S>  New H23:  dst_index <= 268435454
%%%  Hypotheses H3 & H20 together imply that
          dst_index < dst__index__subtype__1__last.
     H3 & H20 have therefore been deleted and a new H121 added to this effect.
***  Proved C3:  element(src, [src_index + 15]) >= 0
     using hypotheses H10, H41 & H42.
***  Proved C4:  element(src, [src_index + 15]) <= 18446744073709551615
     using hypotheses H10, H41 & H42.
***  Proved C5:  element(src, [src_index + 15]) >= 0
     using hypotheses H10, H41 & H42.
***  Proved C6:  element(src, [src_index + 15]) <= 18446744073709551615
     using hypotheses H10, H41 & H42.
---  Eliminated hypothesis H26 (true-hypothesis).
---  Eliminated hypothesis H44 (true-hypothesis).
---  Eliminated hypothesis H49 (true-hypothesis).
---  Eliminated hypothesis H50 (true-hypothesis).
---  Eliminated hypothesis H55 (true-hypothesis).
---  Eliminated hypothesis H56 (true-hypothesis).
---  Eliminated hypothesis H62 (true-hypothesis).
---  Eliminated hypothesis H67 (true-hypothesis).
---  Eliminated hypothesis H68 (true-hypothesis).
---  Eliminated hypothesis H74 (true-hypothesis).
---  Eliminated hypothesis H79 (true-hypothesis).
---  Eliminated hypothesis H80 (true-hypothesis).
---  Eliminated hypothesis H86 (true-hypothesis).
---  Eliminated hypothesis H91 (true-hypothesis).
---  Eliminated hypothesis H92 (true-hypothesis).
---  Eliminated hypothesis H98 (true-hypothesis).
---  Eliminated hypothesis H103 (true-hypothesis).
---  Eliminated hypothesis H104 (true-hypothesis).
---  Eliminated hypothesis H110 (true-hypothesis).
---  Eliminated hypothesis H115 (true-hypothesis).
---  Eliminated hypothesis H116 (true-hypothesis).
---  Eliminated hypothesis H43 (true-hypothesis).
---  Eliminated hypothesis H61 (true-hypothesis).
---  Eliminated hypothesis H73 (true-hypothesis).
---  Eliminated hypothesis H85 (true-hypothesis).
---  Eliminated hypothesis H97 (true-hypothesis).
---  Eliminated hypothesis H109 (true-hypothesis).
---  Eliminated hypothesis H47 (duplicate of H45).
---  Eliminated hypothesis H48 (duplicate of H46).
---  Eliminated hypothesis H65 (duplicate of H63).
---  Eliminated hypothesis H66 (duplicate of H64).
---  Eliminated hypothesis H77 (duplicate of H75).
---  Eliminated hypothesis H78 (duplicate of H76).
---  Eliminated hypothesis H89 (duplicate of H87).
---  Eliminated hypothesis H90 (duplicate of H88).
---  Eliminated hypothesis H101 (duplicate of H99).
---  Eliminated hypothesis H102 (duplicate of H100).
---  Eliminated hypothesis H113 (duplicate of H111).
---  Eliminated hypothesis H114 (duplicate of H112).
---  Eliminated hypothesis H121 (duplicate of H58).
>>>  Using "A->B, A |- B" on H8, given H121, we simplify the former to:
     >>>  H8:  dst_index <= 2147483646
>>>  Using "A->B, A |- B" on H9, given H121, we simplify the former to:
     >>>  H9:  src_index <= 2147483639
---  Eliminated hypothesis H15 (redundant, given H18).
---  Eliminated hypothesis H21 (redundant, given H23).
---  Eliminated hypothesis H22 (redundant, given H2 & H14).
---  Eliminated hypothesis H24 (redundant, given H52).
---  Eliminated hypothesis H28 (redundant, given H30).
---  Eliminated hypothesis H29 (redundant, given H27).
---  Eliminated hypothesis H30 (redundant, given H32).
---  Eliminated hypothesis H31 (redundant, given H27).
---  Eliminated hypothesis H32 (redundant, given H34).
---  Eliminated hypothesis H33 (redundant, given H27).
---  Eliminated hypothesis H34 (redundant, given H36).
---  Eliminated hypothesis H35 (redundant, given H27).
---  Eliminated hypothesis H36 (redundant, given H38).
---  Eliminated hypothesis H37 (redundant, given H27).
---  Eliminated hypothesis H38 (redundant, given H40).
---  Eliminated hypothesis H39 (redundant, given H27).
---  Eliminated hypothesis H40 (redundant, given H42).
---  Eliminated hypothesis H41 (redundant, given H27).
---  Eliminated hypothesis H51 (redundant, given H25).
---  Eliminated hypothesis H52 (redundant, given H70).
---  Eliminated hypothesis H57 (redundant, given H2).
---  Eliminated hypothesis H69 (redundant, given H25).
---  Eliminated hypothesis H70 (redundant, given H82).
---  Eliminated hypothesis H81 (redundant, given H25).
---  Eliminated hypothesis H82 (redundant, given H94).
---  Eliminated hypothesis H93 (redundant, given H25).
---  Eliminated hypothesis H94 (redundant, given H106).
---  Eliminated hypothesis H105 (redundant, given H25).
---  Eliminated hypothesis H106 (redundant, given H118).
---  Eliminated hypothesis H117 (redundant, given H25).
-S-  Eliminated hypothesis H5.
     This was achieved by replacing all occurrences of src_index by:
          src_offset + dst_index * 8.
<S>  New H6:  src_offset + dst_index * 8 >= src_offset
<S>  New H7:  src_offset + dst_index * 8 <= src_offset + 
          dst__index__subtype__1__last * 8
<S>  New H27:  src_offset + dst_index * 8 + 8 >= src__index__subtype__1__first
<S>  New H42:  src_offset + dst_index * 8 + 15 <= src__index__subtype__1__last
<S>  New H45:  element(src, [src_offset + dst_index * 8 + 9]) >= 0
<S>  New H46:  element(src, [src_offset + dst_index * 8 + 9]) <= 
          18446744073709551615
<S>  New H53:  element(src, [src_offset + dst_index * 8 + 8]) >= 0
<S>  New H54:  element(src, [src_offset + dst_index * 8 + 8]) <= 
          18446744073709551615
<S>  New H59:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 9]), 8) >= 0
<S>  New H60:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 9]), 8) <= 18446744073709551615
<S>  New H63:  element(src, [src_offset + dst_index * 8 + 10]) >= 0
<S>  New H64:  element(src, [src_offset + dst_index * 8 + 10]) <= 
          18446744073709551615
<S>  New H71:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 10]), 16) >= 0
<S>  New H72:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 10]), 16) <= 18446744073709551615
<S>  New H75:  element(src, [src_offset + dst_index * 8 + 11]) >= 0
<S>  New H76:  element(src, [src_offset + dst_index * 8 + 11]) <= 
          18446744073709551615
<S>  New H83:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 11]), 24) >= 0
<S>  New H84:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 11]), 24) <= 18446744073709551615
<S>  New H87:  element(src, [src_offset + dst_index * 8 + 12]) >= 0
<S>  New H88:  element(src, [src_offset + dst_index * 8 + 12]) <= 
          18446744073709551615
<S>  New H95:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 12]), 32) >= 0
<S>  New H96:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 12]), 32) <= 18446744073709551615
<S>  New H99:  element(src, [src_offset + dst_index * 8 + 13]) >= 0
<S>  New H100:  element(src, [src_offset + dst_index * 8 + 13]) <= 
          18446744073709551615
<S>  New H107:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 13]), 40) >= 0
<S>  New H108:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 13]), 40) <= 18446744073709551615
<S>  New H111:  element(src, [src_offset + dst_index * 8 + 14]) >= 0
<S>  New H112:  element(src, [src_offset + dst_index * 8 + 14]) <= 
          18446744073709551615
<S>  New H118:  src_offset + dst_index * 8 <= 2147483633
<S>  New H119:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 14]), 48) >= 0
<S>  New H120:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 14]), 48) <= 18446744073709551615
<S>  New H25:  src_offset + dst_index * 8 >= - 8
<S>  New H9:  src_offset + dst_index * 8 <= 2147483639
<S>  New C10:  src_offset + dst_index * 8 <= 2147483632
     +++  New H122:  integer__size >= 0
     +++  New H123:  natural__size >= 0
     +++  New H124:  spark__unsigned__byte__size >= 0
     +++  New H125:  spark__unsigned__u64__size >= 0
     +++  New H126:  spark__unsigned__shift_count__size >= 0
     +++  New H127:  spark__crypto__word_count_t__size >= 0
     +++  New H128:  dst__index__subtype__1__first <= 
          dst__index__subtype__1__last
     +++  New H129:  src__index__subtype__1__first <= 
          src__index__subtype__1__last
     +++  New H130:  src__index__subtype__1__first >= 0
     +++  New H131:  src__index__subtype__1__last >= 0
     +++  New H132:  src__index__subtype__1__last <= 2147483647
     +++  New H133:  src__index__subtype__1__first <= 2147483647
     +++  New H134:  dst__index__subtype__1__first >= 0
     +++  New H135:  dst__index__subtype__1__last >= 0
---  Attempted addition of new hypothesis:
          dst__index__subtype__1__last <= 268435455
     eliminated: this already exists (as H4).
     +++  New H4:  dst__index__subtype__1__last <= 268435455
     +++  New H136:  dst__index__subtype__1__first <= 268435455
***  Proved C10:  src_offset + dst_index * 8 <= 2147483632
     using hypotheses H42 & H132.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_64_lsb_first_19.  @@@@@@@@@@
%%%  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__byte__first <= element(src, [i___1]) and element(
          src, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H13 has been replaced by "true".  (It is already present, as H9)
          .
---  Hypothesis H14 has been replaced by "true".  (It is already present, as 
          H10).
---  Hypothesis H16 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H30 has been replaced by "true".  (It is already present, as H6)
          .
---  Hypothesis H37 has been replaced by "true".  (It is already present, as 
          H17).
---  Hypothesis H38 has been replaced by "true".  (It is already present, as 
          H18).
---  Hypothesis H43 has been replaced by "true".  (It is already present, as 
          H15).
---  Hypothesis H44 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H19).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H20).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H21).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H22).
---  Hypothesis H79 has been replaced by "true".  (It is already present, as 
          H23).
---  Hypothesis H80 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H91 has been replaced by "true".  (It is already present, as 
          H25).
---  Hypothesis H92 has been replaced by "true".  (It is already present, as 
          H26).
---  Hypothesis H103 has been replaced by "true".  (It is already present, as 
          H27).
---  Hypothesis H104 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H115 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H116 has been replaced by "true".  (It is already present, as 
          H6).
-S-  Applied substitution rule get_64_lsb_f_rules(32).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H35:  element(src, [src_offset + 1]) >= 0
<S>  New H41:  element(src, [src_offset]) >= 0
<S>  New H53:  element(src, [src_offset + 2]) >= 0
<S>  New H65:  element(src, [src_offset + 3]) >= 0
<S>  New H77:  element(src, [src_offset + 4]) >= 0
<S>  New H89:  element(src, [src_offset + 5]) >= 0
<S>  New H101:  element(src, [src_offset + 6]) >= 0
<S>  New H113:  element(src, [src_offset + 7]) >= 0
<S>  New C1:  (((((((element(src, [src_offset]) + 
          spark__unsigned__shift_left_64(element(src, [src_offset + 1]), 8)) 
          mod interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_offset + 2]), 16)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_offset + 3]), 24)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_offset + 4]), 32)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_offset + 5]), 40)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_offset + 6]), 48)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_offset + 7]), 56)) mod 
          interfaces__unsigned_64__modulus >= 0
-S-  Applied substitution rule get_64_lsb_f_rules(33).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H36:  element(src, [src_offset + 1]) <= 18446744073709551615
<S>  New H42:  element(src, [src_offset]) <= 18446744073709551615
<S>  New H54:  element(src, [src_offset + 2]) <= 18446744073709551615
<S>  New H66:  element(src, [src_offset + 3]) <= 18446744073709551615
<S>  New H78:  element(src, [src_offset + 4]) <= 18446744073709551615
<S>  New H90:  element(src, [src_offset + 5]) <= 18446744073709551615
<S>  New H102:  element(src, [src_offset + 6]) <= 18446744073709551615
<S>  New H114:  element(src, [src_offset + 7]) <= 18446744073709551615
<S>  New C2:  (((((((element(src, [src_offset]) + 
          spark__unsigned__shift_left_64(element(src, [src_offset + 1]), 8)) 
          mod interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_offset + 2]), 16)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_offset + 3]), 24)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_offset + 4]), 32)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_offset + 5]), 40)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_offset + 6]), 48)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_offset + 7]), 56)) mod 
          interfaces__unsigned_64__modulus <= 18446744073709551615
-S-  Applied substitution rule get_64_lsb_f_rules(4).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H39:  src_offset >= - 2147483649
<S>  New H57:  src_offset >= - 2147483650
<S>  New H69:  src_offset >= - 2147483651
<S>  New H81:  src_offset >= - 2147483652
<S>  New H93:  src_offset >= - 2147483653
<S>  New H105:  src_offset >= - 2147483654
<S>  New H117:  src_offset >= - 2147483655
-S-  Applied substitution rule get_64_lsb_f_rules(5).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H40:  src_offset <= 2147483646
<S>  New H58:  src_offset <= 2147483645
<S>  New H70:  src_offset <= 2147483644
<S>  New H82:  src_offset <= 2147483643
<S>  New H94:  src_offset <= 2147483642
<S>  New H106:  src_offset <= 2147483641
<S>  New H118:  src_offset <= 2147483640
-S-  Applied substitution rule get_64_lsb_f_rules(7).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H9:  src_offset >= 0
-S-  Applied substitution rule get_64_lsb_f_rules(8).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H7:  src_offset + dst__index__subtype__1__last * 8 <= 2147483647
<S>  New H10:  src_offset <= 2147483647
-S-  Applied substitution rule get_64_lsb_f_rules(20).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__first by:
          0.
<S>  New H33:  element(src, [src_offset + 1]) >= 0
<S>  New H47:  spark__unsigned__shift_left_64(element(src, [src_offset + 1]), 8)
           >= 0
<S>  New H51:  element(src, [src_offset + 2]) >= 0
<S>  New H59:  spark__unsigned__shift_left_64(element(src, [src_offset + 2]), 
          16) >= 0
<S>  New H63:  element(src, [src_offset + 3]) >= 0
<S>  New H71:  spark__unsigned__shift_left_64(element(src, [src_offset + 3]), 
          24) >= 0
<S>  New H75:  element(src, [src_offset + 4]) >= 0
<S>  New H83:  spark__unsigned__shift_left_64(element(src, [src_offset + 4]), 
          32) >= 0
<S>  New H87:  element(src, [src_offset + 5]) >= 0
<S>  New H95:  spark__unsigned__shift_left_64(element(src, [src_offset + 5]), 
          40) >= 0
<S>  New H99:  element(src, [src_offset + 6]) >= 0
<S>  New H107:  spark__unsigned__shift_left_64(element(src, [src_offset + 6]), 
          48) >= 0
<S>  New H111:  element(src, [src_offset + 7]) >= 0
<S>  New H119:  spark__unsigned__shift_left_64(element(src, [src_offset + 7]), 
          56) >= 0
-S-  Applied substitution rule get_64_lsb_f_rules(21).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__last by:
          18446744073709551615.
<S>  New H34:  element(src, [src_offset + 1]) <= 18446744073709551615
<S>  New H48:  spark__unsigned__shift_left_64(element(src, [src_offset + 1]), 8)
           <= 18446744073709551615
<S>  New H52:  element(src, [src_offset + 2]) <= 18446744073709551615
<S>  New H60:  spark__unsigned__shift_left_64(element(src, [src_offset + 2]), 
          16) <= 18446744073709551615
<S>  New H64:  element(src, [src_offset + 3]) <= 18446744073709551615
<S>  New H72:  spark__unsigned__shift_left_64(element(src, [src_offset + 3]), 
          24) <= 18446744073709551615
<S>  New H76:  element(src, [src_offset + 4]) <= 18446744073709551615
<S>  New H84:  spark__unsigned__shift_left_64(element(src, [src_offset + 4]), 
          32) <= 18446744073709551615
<S>  New H88:  element(src, [src_offset + 5]) <= 18446744073709551615
<S>  New H96:  spark__unsigned__shift_left_64(element(src, [src_offset + 5]), 
          40) <= 18446744073709551615
<S>  New H100:  element(src, [src_offset + 6]) <= 18446744073709551615
<S>  New H108:  spark__unsigned__shift_left_64(element(src, [src_offset + 6]), 
          48) <= 18446744073709551615
<S>  New H112:  element(src, [src_offset + 7]) <= 18446744073709551615
<S>  New H120:  spark__unsigned__shift_left_64(element(src, [src_offset + 7]), 
          56) <= 18446744073709551615
-S-  Applied substitution rule get_64_lsb_f_rules(24).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__modulus by:
          18446744073709551616.
<S>  New C1:  (((((((element(src, [src_offset]) + 
          spark__unsigned__shift_left_64(element(src, [src_offset + 1]), 8)) 
          mod 18446744073709551616 + spark__unsigned__shift_left_64(element(
          src, [src_offset + 2]), 16)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_offset + 3]), 24)) 
          mod 18446744073709551616 + spark__unsigned__shift_left_64(element(
          src, [src_offset + 4]), 32)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_offset + 5]), 40)) 
          mod 18446744073709551616 + spark__unsigned__shift_left_64(element(
          src, [src_offset + 6]), 48)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_offset + 7]), 56)) 
          mod 18446744073709551616 >= 0
<S>  New C2:  (((((((element(src, [src_offset]) + 
          spark__unsigned__shift_left_64(element(src, [src_offset + 1]), 8)) 
          mod 18446744073709551616 + spark__unsigned__shift_left_64(element(
          src, [src_offset + 2]), 16)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_offset + 3]), 24)) 
          mod 18446744073709551616 + spark__unsigned__shift_left_64(element(
          src, [src_offset + 4]), 32)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_offset + 5]), 40)) 
          mod 18446744073709551616 + spark__unsigned__shift_left_64(element(
          src, [src_offset + 6]), 48)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_offset + 7]), 56)) 
          mod 18446744073709551616 <= 18446744073709551615
-S-  Applied substitution rule get_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, 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__byte__last)
-S-  Applied substitution rule get_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, 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]) <= 255)
-S-  Applied substitution rule get_64_lsb_f_rules(38).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__first by:
          0.
<S>  New H31:  true
<S>  New H49:  true
<S>  New H61:  true
<S>  New H73:  true
<S>  New H85:  true
<S>  New H97:  true
<S>  New H109:  true
-S-  Applied substitution rule get_64_lsb_f_rules(39).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__last by:
          64.
<S>  New H32:  true
<S>  New H50:  true
<S>  New H62:  true
<S>  New H74:  true
<S>  New H86:  true
<S>  New H98:  true
<S>  New H110:  true
-S-  Applied substitution rule get_64_lsb_f_rules(43).
     This was achieved by replacing all occurrences of 
          spark__crypto__word_count_t__first by:
          0.
<S>  New H11:  true
-S-  Applied substitution rule get_64_lsb_f_rules(44).
     This was achieved by replacing all occurrences of 
          spark__crypto__word_count_t__last by:
          268435455.
<S>  New H12:  true
***  Proved C1:  (((((((element(src, [src_offset]) + 
          spark__unsigned__shift_left_64(element(src, [src_offset + 1]), 8)) 
          mod 18446744073709551616 + spark__unsigned__shift_left_64(element(
          src, [src_offset + 2]), 16)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_offset + 3]), 24)) 
          mod 18446744073709551616 + spark__unsigned__shift_left_64(element(
          src, [src_offset + 4]), 32)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_offset + 5]), 40)) 
          mod 18446744073709551616 + spark__unsigned__shift_left_64(element(
          src, [src_offset + 6]), 48)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_offset + 7]), 56)) 
          mod 18446744073709551616 >= 0
***  Proved C2:  (((((((element(src, [src_offset]) + 
          spark__unsigned__shift_left_64(element(src, [src_offset + 1]), 8)) 
          mod 18446744073709551616 + spark__unsigned__shift_left_64(element(
          src, [src_offset + 2]), 16)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_offset + 3]), 24)) 
          mod 18446744073709551616 + spark__unsigned__shift_left_64(element(
          src, [src_offset + 4]), 32)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_offset + 5]), 40)) 
          mod 18446744073709551616 + spark__unsigned__shift_left_64(element(
          src, [src_offset + 6]), 48)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_offset + 7]), 56)) 
          mod 18446744073709551616 <= 18446744073709551615
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_64_lsb_first_20.  @@@@@@@@@@
%%%  Simplified H1 on reading formula in, to give:
     %%%  H1:  for_all(i_ : integer, dst__index__subtype__1__first <= i_ and i_ 
          <= dst_index -> spark__unsigned__u64__first <= element(dst, [i_]) and 
          element(dst, [i_]) <= spark__unsigned__u64__last)
%%%  Simplified H10 on reading formula in, to give:
     %%%  H10:  for_all(i___1 : integer, src__index__subtype__1__first <= i___1 
          and i___1 <= src__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(src, [i___1]) and element(
          src, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
%%%  Simplified H29 on reading formula in, to give:
     %%%  H29:  src_index + 9 >= src__index__subtype__1__first
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  src_index + 9 <= src__index__subtype__1__last
%%%  Simplified H31 on reading formula in, to give:
     %%%  H31:  src_index + 10 >= src__index__subtype__1__first
%%%  Simplified H32 on reading formula in, to give:
     %%%  H32:  src_index + 10 <= src__index__subtype__1__last
%%%  Simplified H33 on reading formula in, to give:
     %%%  H33:  src_index + 11 >= src__index__subtype__1__first
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  src_index + 11 <= src__index__subtype__1__last
%%%  Simplified H35 on reading formula in, to give:
     %%%  H35:  src_index + 12 >= src__index__subtype__1__first
%%%  Simplified H36 on reading formula in, to give:
     %%%  H36:  src_index + 12 <= src__index__subtype__1__last
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  src_index + 13 >= src__index__subtype__1__first
%%%  Simplified H38 on reading formula in, to give:
     %%%  H38:  src_index + 13 <= src__index__subtype__1__last
%%%  Simplified H39 on reading formula in, to give:
     %%%  H39:  src_index + 14 >= src__index__subtype__1__first
%%%  Simplified H40 on reading formula in, to give:
     %%%  H40:  src_index + 14 <= src__index__subtype__1__last
%%%  Simplified H41 on reading formula in, to give:
     %%%  H41:  src_index + 15 >= src__index__subtype__1__first
%%%  Simplified H42 on reading formula in, to give:
     %%%  H42:  src_index + 15 <= src__index__subtype__1__last
%%%  Simplified H45 on reading formula in, to give:
     %%%  H45:  element(src, [src_index + 9]) >= interfaces__unsigned_64__first
%%%  Simplified H46 on reading formula in, to give:
     %%%  H46:  element(src, [src_index + 9]) <= interfaces__unsigned_64__last
%%%  Simplified H47 on reading formula in, to give:
     %%%  H47:  element(src, [src_index + 9]) >= spark__unsigned__u64__first
%%%  Simplified H48 on reading formula in, to give:
     %%%  H48:  element(src, [src_index + 9]) <= spark__unsigned__u64__last
---  Hypothesis H49 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H50 has been replaced by "true".  (It is already present, as 
          H30).
%%%  Simplified H51 on reading formula in, to give:
     %%%  H51:  src_index + 9 >= integer__base__first
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  src_index + 9 <= integer__base__last
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H27).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H28).
%%%  Simplified H59 on reading formula in, to give:
     %%%  H59:  spark__unsigned__shift_left_64(element(src, [src_index + 9]), 8)
           >= interfaces__unsigned_64__first
%%%  Simplified H60 on reading formula in, to give:
     %%%  H60:  spark__unsigned__shift_left_64(element(src, [src_index + 9]), 8)
           <= interfaces__unsigned_64__last
%%%  Simplified H63 on reading formula in, to give:
     %%%  H63:  element(src, [src_index + 10]) >= interfaces__unsigned_64__first
%%%  Simplified H64 on reading formula in, to give:
     %%%  H64:  element(src, [src_index + 10]) <= interfaces__unsigned_64__last
%%%  Simplified H65 on reading formula in, to give:
     %%%  H65:  element(src, [src_index + 10]) >= spark__unsigned__u64__first
%%%  Simplified H66 on reading formula in, to give:
     %%%  H66:  element(src, [src_index + 10]) <= spark__unsigned__u64__last
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H32).
%%%  Simplified H69 on reading formula in, to give:
     %%%  H69:  src_index + 10 >= integer__base__first
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  src_index + 10 <= integer__base__last
%%%  Simplified H71 on reading formula in, to give:
     %%%  H71:  spark__unsigned__shift_left_64(element(src, [src_index + 10]), 
          16) >= interfaces__unsigned_64__first
%%%  Simplified H72 on reading formula in, to give:
     %%%  H72:  spark__unsigned__shift_left_64(element(src, [src_index + 10]), 
          16) <= interfaces__unsigned_64__last
%%%  Simplified H75 on reading formula in, to give:
     %%%  H75:  element(src, [src_index + 11]) >= interfaces__unsigned_64__first
%%%  Simplified H76 on reading formula in, to give:
     %%%  H76:  element(src, [src_index + 11]) <= interfaces__unsigned_64__last
%%%  Simplified H77 on reading formula in, to give:
     %%%  H77:  element(src, [src_index + 11]) >= spark__unsigned__u64__first
%%%  Simplified H78 on reading formula in, to give:
     %%%  H78:  element(src, [src_index + 11]) <= spark__unsigned__u64__last
---  Hypothesis H79 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H80 has been replaced by "true".  (It is already present, as 
          H34).
%%%  Simplified H81 on reading formula in, to give:
     %%%  H81:  src_index + 11 >= integer__base__first
%%%  Simplified H82 on reading formula in, to give:
     %%%  H82:  src_index + 11 <= integer__base__last
%%%  Simplified H83 on reading formula in, to give:
     %%%  H83:  spark__unsigned__shift_left_64(element(src, [src_index + 11]), 
          24) >= interfaces__unsigned_64__first
%%%  Simplified H84 on reading formula in, to give:
     %%%  H84:  spark__unsigned__shift_left_64(element(src, [src_index + 11]), 
          24) <= interfaces__unsigned_64__last
%%%  Simplified H87 on reading formula in, to give:
     %%%  H87:  element(src, [src_index + 12]) >= interfaces__unsigned_64__first
%%%  Simplified H88 on reading formula in, to give:
     %%%  H88:  element(src, [src_index + 12]) <= interfaces__unsigned_64__last
%%%  Simplified H89 on reading formula in, to give:
     %%%  H89:  element(src, [src_index + 12]) >= spark__unsigned__u64__first
%%%  Simplified H90 on reading formula in, to give:
     %%%  H90:  element(src, [src_index + 12]) <= spark__unsigned__u64__last
---  Hypothesis H91 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H92 has been replaced by "true".  (It is already present, as 
          H36).
%%%  Simplified H93 on reading formula in, to give:
     %%%  H93:  src_index + 12 >= integer__base__first
%%%  Simplified H94 on reading formula in, to give:
     %%%  H94:  src_index + 12 <= integer__base__last
%%%  Simplified H95 on reading formula in, to give:
     %%%  H95:  spark__unsigned__shift_left_64(element(src, [src_index + 12]), 
          32) >= interfaces__unsigned_64__first
%%%  Simplified H96 on reading formula in, to give:
     %%%  H96:  spark__unsigned__shift_left_64(element(src, [src_index + 12]), 
          32) <= interfaces__unsigned_64__last
%%%  Simplified H99 on reading formula in, to give:
     %%%  H99:  element(src, [src_index + 13]) >= interfaces__unsigned_64__first
%%%  Simplified H100 on reading formula in, to give:
     %%%  H100:  element(src, [src_index + 13]) <= interfaces__unsigned_64__last
%%%  Simplified H101 on reading formula in, to give:
     %%%  H101:  element(src, [src_index + 13]) >= spark__unsigned__u64__first
%%%  Simplified H102 on reading formula in, to give:
     %%%  H102:  element(src, [src_index + 13]) <= spark__unsigned__u64__last
---  Hypothesis H103 has been replaced by "true".  (It is already present, as 
          H37).
---  Hypothesis H104 has been replaced by "true".  (It is already present, as 
          H38).
%%%  Simplified H105 on reading formula in, to give:
     %%%  H105:  src_index + 13 >= integer__base__first
%%%  Simplified H106 on reading formula in, to give:
     %%%  H106:  src_index + 13 <= integer__base__last
%%%  Simplified H107 on reading formula in, to give:
     %%%  H107:  spark__unsigned__shift_left_64(element(src, [src_index + 13]), 
          40) >= interfaces__unsigned_64__first
%%%  Simplified H108 on reading formula in, to give:
     %%%  H108:  spark__unsigned__shift_left_64(element(src, [src_index + 13]), 
          40) <= interfaces__unsigned_64__last
%%%  Simplified H111 on reading formula in, to give:
     %%%  H111:  element(src, [src_index + 14]) >= 
          interfaces__unsigned_64__first
%%%  Simplified H112 on reading formula in, to give:
     %%%  H112:  element(src, [src_index + 14]) <= interfaces__unsigned_64__last
%%%  Simplified H113 on reading formula in, to give:
     %%%  H113:  element(src, [src_index + 14]) >= spark__unsigned__u64__first
%%%  Simplified H114 on reading formula in, to give:
     %%%  H114:  element(src, [src_index + 14]) <= spark__unsigned__u64__last
---  Hypothesis H115 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H116 has been replaced by "true".  (It is already present, as 
          H40).
%%%  Simplified H117 on reading formula in, to give:
     %%%  H117:  src_index + 14 >= integer__base__first
%%%  Simplified H118 on reading formula in, to give:
     %%%  H118:  src_index + 14 <= integer__base__last
%%%  Simplified H119 on reading formula in, to give:
     %%%  H119:  spark__unsigned__shift_left_64(element(src, [src_index + 14]), 
          48) >= interfaces__unsigned_64__first
%%%  Simplified H120 on reading formula in, to give:
     %%%  H120:  spark__unsigned__shift_left_64(element(src, [src_index + 14]), 
          48) <= interfaces__unsigned_64__last
%%%  Simplified H123 on reading formula in, to give:
     %%%  H123:  element(src, [src_index + 15]) >= 
          interfaces__unsigned_64__first
%%%  Simplified H124 on reading formula in, to give:
     %%%  H124:  element(src, [src_index + 15]) <= interfaces__unsigned_64__last
%%%  Simplified H125 on reading formula in, to give:
     %%%  H125:  element(src, [src_index + 15]) >= spark__unsigned__u64__first
%%%  Simplified H126 on reading formula in, to give:
     %%%  H126:  element(src, [src_index + 15]) <= spark__unsigned__u64__last
---  Hypothesis H127 has been replaced by "true".  (It is already present, as 
          H41).
---  Hypothesis H128 has been replaced by "true".  (It is already present, as 
          H42).
%%%  Simplified H129 on reading formula in, to give:
     %%%  H129:  src_index + 15 >= integer__base__first
%%%  Simplified H130 on reading formula in, to give:
     %%%  H130:  src_index + 15 <= integer__base__last
%%%  Simplified H131 on reading formula in, to give:
     %%%  H131:  spark__unsigned__shift_left_64(element(src, [src_index + 15]), 
          56) >= interfaces__unsigned_64__first
%%%  Simplified H132 on reading formula in, to give:
     %%%  H132:  spark__unsigned__shift_left_64(element(src, [src_index + 15]), 
          56) <= interfaces__unsigned_64__last
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  (((((((element(src, [src_index + 8]) + 
          spark__unsigned__shift_left_64(element(src, [src_index + 9]), 8)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 10]), 16)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 11]), 24)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 12]), 32)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 13]), 40)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 14]), 48)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 15]), 56)) mod 
          interfaces__unsigned_64__modulus >= spark__unsigned__u64__first
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  (((((((element(src, [src_index + 8]) + 
          spark__unsigned__shift_left_64(element(src, [src_index + 9]), 8)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 10]), 16)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 11]), 24)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 12]), 32)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 13]), 40)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 14]), 48)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 15]), 56)) mod 
          interfaces__unsigned_64__modulus <= spark__unsigned__u64__last
-S-  Applied substitution rule get_64_lsb_f_rules(32).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H1:  for_all(i_ : integer, dst__index__subtype__1__first <= i_ and i_ 
          <= dst_index -> 0 <= element(dst, [i_]) and element(dst, [i_]) <= 
          spark__unsigned__u64__last)
<S>  New H47:  element(src, [src_index + 9]) >= 0
<S>  New H53:  element(src, [src_index + 8]) >= 0
<S>  New H65:  element(src, [src_index + 10]) >= 0
<S>  New H77:  element(src, [src_index + 11]) >= 0
<S>  New H89:  element(src, [src_index + 12]) >= 0
<S>  New H101:  element(src, [src_index + 13]) >= 0
<S>  New H113:  element(src, [src_index + 14]) >= 0
<S>  New H125:  element(src, [src_index + 15]) >= 0
<S>  New C1:  (((((((element(src, [src_index + 8]) + 
          spark__unsigned__shift_left_64(element(src, [src_index + 9]), 8)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 10]), 16)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 11]), 24)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 12]), 32)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 13]), 40)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 14]), 48)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 15]), 56)) mod 
          interfaces__unsigned_64__modulus >= 0
-S-  Applied substitution rule get_64_lsb_f_rules(33).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H48:  element(src, [src_index + 9]) <= 18446744073709551615
<S>  New H54:  element(src, [src_index + 8]) <= 18446744073709551615
<S>  New H66:  element(src, [src_index + 10]) <= 18446744073709551615
<S>  New H78:  element(src, [src_index + 11]) <= 18446744073709551615
<S>  New H90:  element(src, [src_index + 12]) <= 18446744073709551615
<S>  New H102:  element(src, [src_index + 13]) <= 18446744073709551615
<S>  New H114:  element(src, [src_index + 14]) <= 18446744073709551615
<S>  New H126:  element(src, [src_index + 15]) <= 18446744073709551615
<S>  New H1:  for_all(i_ : integer, dst__index__subtype__1__first <= i_ and i_ 
          <= dst_index -> 0 <= element(dst, [i_]) and element(dst, [i_]) <= 
          18446744073709551615)
<S>  New C2:  (((((((element(src, [src_index + 8]) + 
          spark__unsigned__shift_left_64(element(src, [src_index + 9]), 8)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 10]), 16)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 11]), 24)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 12]), 32)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 13]), 40)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 14]), 48)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 15]), 56)) mod 
          interfaces__unsigned_64__modulus <= 18446744073709551615
>>>  Restructured hypothesis H20 into:
     >>>  H20:  dst_index <> dst__index__subtype__1__last
---  Attempted addition of new hypothesis:
          dst_index + 1 <= natural__last
     eliminated: this already exists (as H21).
+++  Using "A->B, A |- B" on hypotheses H8 & H20 yields a new hypothesis:
     +++  H21:  dst_index + 1 <= natural__last
---  Attempted addition of new hypothesis:
          src_index + 8 <= natural__last
     eliminated: this already exists (as H24).
+++  Using "A->B, A |- B" on hypotheses H9 & H20 yields a new hypothesis:
     +++  H24:  src_index + 8 <= natural__last
-S-  Applied substitution rule get_64_lsb_f_rules(4).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H51:  src_index >= - 2147483657
<S>  New H69:  src_index >= - 2147483658
<S>  New H81:  src_index >= - 2147483659
<S>  New H93:  src_index >= - 2147483660
<S>  New H105:  src_index >= - 2147483661
<S>  New H117:  src_index >= - 2147483662
<S>  New H129:  src_index >= - 2147483663
-S-  Applied substitution rule get_64_lsb_f_rules(5).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H52:  src_index <= 2147483638
<S>  New H70:  src_index <= 2147483637
<S>  New H82:  src_index <= 2147483636
<S>  New H94:  src_index <= 2147483635
<S>  New H106:  src_index <= 2147483634
<S>  New H118:  src_index <= 2147483633
<S>  New H130:  src_index <= 2147483632
-S-  Applied substitution rule get_64_lsb_f_rules(7).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H11:  src_offset >= 0
<S>  New H25:  src_index >= - 8
-S-  Applied substitution rule get_64_lsb_f_rules(8).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H8:  dst_index <> dst__index__subtype__1__last -> dst_index <= 
          2147483646
<S>  New H9:  dst_index <> dst__index__subtype__1__last -> src_index <= 
          2147483639
<S>  New H12:  src_offset <= 2147483647
<S>  New H19:  src_offset + dst__index__subtype__1__last * 8 <= 2147483647
<S>  New H21:  dst_index <= 2147483646
<S>  New H24:  src_index <= 2147483639
-S-  Applied substitution rule get_64_lsb_f_rules(20).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__first by:
          0.
<S>  New H45:  element(src, [src_index + 9]) >= 0
<S>  New H59:  spark__unsigned__shift_left_64(element(src, [src_index + 9]), 8) 
          >= 0
<S>  New H63:  element(src, [src_index + 10]) >= 0
<S>  New H71:  spark__unsigned__shift_left_64(element(src, [src_index + 10]), 
          16) >= 0
<S>  New H75:  element(src, [src_index + 11]) >= 0
<S>  New H83:  spark__unsigned__shift_left_64(element(src, [src_index + 11]), 
          24) >= 0
<S>  New H87:  element(src, [src_index + 12]) >= 0
<S>  New H95:  spark__unsigned__shift_left_64(element(src, [src_index + 12]), 
          32) >= 0
<S>  New H99:  element(src, [src_index + 13]) >= 0
<S>  New H107:  spark__unsigned__shift_left_64(element(src, [src_index + 13]), 
          40) >= 0
<S>  New H111:  element(src, [src_index + 14]) >= 0
<S>  New H119:  spark__unsigned__shift_left_64(element(src, [src_index + 14]), 
          48) >= 0
<S>  New H123:  element(src, [src_index + 15]) >= 0
<S>  New H131:  spark__unsigned__shift_left_64(element(src, [src_index + 15]), 
          56) >= 0
-S-  Applied substitution rule get_64_lsb_f_rules(21).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__last by:
          18446744073709551615.
<S>  New H46:  element(src, [src_index + 9]) <= 18446744073709551615
<S>  New H60:  spark__unsigned__shift_left_64(element(src, [src_index + 9]), 8) 
          <= 18446744073709551615
<S>  New H64:  element(src, [src_index + 10]) <= 18446744073709551615
<S>  New H72:  spark__unsigned__shift_left_64(element(src, [src_index + 10]), 
          16) <= 18446744073709551615
<S>  New H76:  element(src, [src_index + 11]) <= 18446744073709551615
<S>  New H84:  spark__unsigned__shift_left_64(element(src, [src_index + 11]), 
          24) <= 18446744073709551615
<S>  New H88:  element(src, [src_index + 12]) <= 18446744073709551615
<S>  New H96:  spark__unsigned__shift_left_64(element(src, [src_index + 12]), 
          32) <= 18446744073709551615
<S>  New H100:  element(src, [src_index + 13]) <= 18446744073709551615
<S>  New H108:  spark__unsigned__shift_left_64(element(src, [src_index + 13]), 
          40) <= 18446744073709551615
<S>  New H112:  element(src, [src_index + 14]) <= 18446744073709551615
<S>  New H120:  spark__unsigned__shift_left_64(element(src, [src_index + 14]), 
          48) <= 18446744073709551615
<S>  New H124:  element(src, [src_index + 15]) <= 18446744073709551615
<S>  New H132:  spark__unsigned__shift_left_64(element(src, [src_index + 15]), 
          56) <= 18446744073709551615
-S-  Applied substitution rule get_64_lsb_f_rules(24).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__modulus by:
          18446744073709551616.
<S>  New C1:  (((((((element(src, [src_index + 8]) + 
          spark__unsigned__shift_left_64(element(src, [src_index + 9]), 8)) mod 
          18446744073709551616 + spark__unsigned__shift_left_64(element(src, [
          src_index + 10]), 16)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_index + 11]), 24)) 
          mod 18446744073709551616 + spark__unsigned__shift_left_64(element(
          src, [src_index + 12]), 32)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_index + 13]), 40)) 
          mod 18446744073709551616 + spark__unsigned__shift_left_64(element(
          src, [src_index + 14]), 48)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_index + 15]), 56)) 
          mod 18446744073709551616 >= 0
<S>  New C2:  (((((((element(src, [src_index + 8]) + 
          spark__unsigned__shift_left_64(element(src, [src_index + 9]), 8)) mod 
          18446744073709551616 + spark__unsigned__shift_left_64(element(src, [
          src_index + 10]), 16)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_index + 11]), 24)) 
          mod 18446744073709551616 + spark__unsigned__shift_left_64(element(
          src, [src_index + 12]), 32)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_index + 13]), 40)) 
          mod 18446744073709551616 + spark__unsigned__shift_left_64(element(
          src, [src_index + 14]), 48)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_index + 15]), 56)) 
          mod 18446744073709551616 <= 18446744073709551615
-S-  Applied substitution rule get_64_lsb_f_rules(26).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H10:  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__byte__last)
-S-  Applied substitution rule get_64_lsb_f_rules(27).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H10:  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]) <= 255)
-S-  Applied substitution rule get_64_lsb_f_rules(38).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__first by:
          0.
<S>  New H43:  true
<S>  New H61:  true
<S>  New H73:  true
<S>  New H85:  true
<S>  New H97:  true
<S>  New H109:  true
<S>  New H121:  true
-S-  Applied substitution rule get_64_lsb_f_rules(39).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__last by:
          64.
<S>  New H44:  true
<S>  New H62:  true
<S>  New H74:  true
<S>  New H86:  true
<S>  New H98:  true
<S>  New H110:  true
<S>  New H122:  true
-S-  Applied substitution rule get_64_lsb_f_rules(43).
     This was achieved by replacing all occurrences of 
          spark__crypto__word_count_t__first by:
          0.
<S>  New H22:  dst_index >= - 1
-S-  Applied substitution rule get_64_lsb_f_rules(44).
     This was achieved by replacing all occurrences of 
          spark__crypto__word_count_t__last by:
          268435455.
<S>  New H4:  dst__index__subtype__1__last <= 268435455
<S>  New H23:  dst_index <= 268435454
%%%  Hypotheses H3 & H20 together imply that
          dst_index < dst__index__subtype__1__last.
     H3 & H20 have therefore been deleted and a new H133 added to this effect.
***  Proved C1:  (((((((element(src, [src_index + 8]) + 
          spark__unsigned__shift_left_64(element(src, [src_index + 9]), 8)) mod 
          18446744073709551616 + spark__unsigned__shift_left_64(element(src, [
          src_index + 10]), 16)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_index + 11]), 24)) 
          mod 18446744073709551616 + spark__unsigned__shift_left_64(element(
          src, [src_index + 12]), 32)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_index + 13]), 40)) 
          mod 18446744073709551616 + spark__unsigned__shift_left_64(element(
          src, [src_index + 14]), 48)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_index + 15]), 56)) 
          mod 18446744073709551616 >= 0
***  Proved C2:  (((((((element(src, [src_index + 8]) + 
          spark__unsigned__shift_left_64(element(src, [src_index + 9]), 8)) mod 
          18446744073709551616 + spark__unsigned__shift_left_64(element(src, [
          src_index + 10]), 16)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_index + 11]), 24)) 
          mod 18446744073709551616 + spark__unsigned__shift_left_64(element(
          src, [src_index + 12]), 32)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_index + 13]), 40)) 
          mod 18446744073709551616 + spark__unsigned__shift_left_64(element(
          src, [src_index + 14]), 48)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_index + 15]), 56)) 
          mod 18446744073709551616 <= 18446744073709551615
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_64_lsb_first_21.  @@@@@@@@@@
%%%  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__byte__first <= element(src, [i___1]) and element(
          src, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H13 has been replaced by "true".  (It is already present, as H9)
          .
---  Hypothesis H14 has been replaced by "true".  (It is already present, as 
          H10).
---  Hypothesis H16 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H30 has been replaced by "true".  (It is already present, as H6)
          .
---  Hypothesis H37 has been replaced by "true".  (It is already present, as 
          H17).
---  Hypothesis H38 has been replaced by "true".  (It is already present, as 
          H18).
---  Hypothesis H43 has been replaced by "true".  (It is already present, as 
          H15).
---  Hypothesis H44 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H19).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H20).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H21).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H22).
---  Hypothesis H79 has been replaced by "true".  (It is already present, as 
          H23).
---  Hypothesis H80 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H91 has been replaced by "true".  (It is already present, as 
          H25).
---  Hypothesis H92 has been replaced by "true".  (It is already present, as 
          H26).
---  Hypothesis H103 has been replaced by "true".  (It is already present, as 
          H27).
---  Hypothesis H104 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H115 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H116 has been replaced by "true".  (It is already present, as 
          H6).
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  for_all(i_ : integer, dst__index__subtype__1__first <= i_ and i_ 
          <= 0 -> spark__unsigned__u64__first <= element(update(dst, [0], ((((((
          (element(src, [src_offset]) + spark__unsigned__shift_left_64(element(
          src, [src_offset + 1]), 8)) mod interfaces__unsigned_64__modulus + 
          spark__unsigned__shift_left_64(element(src, [src_offset + 2]), 16)) 
          mod interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_offset + 3]), 24)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_offset + 4]), 32)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_offset + 5]), 40)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_offset + 6]), 48)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_offset + 7]), 56)) mod 
          interfaces__unsigned_64__modulus), [i_]) and element(update(dst, [0], 
          (((((((element(src, [src_offset]) + spark__unsigned__shift_left_64(
          element(src, [src_offset + 1]), 8)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_offset + 2]), 16)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_offset + 3]), 24)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_offset + 4]), 32)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_offset + 5]), 40)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_offset + 6]), 48)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_offset + 7]), 56)) mod 
          interfaces__unsigned_64__modulus), [i_]) <= 
          spark__unsigned__u64__last)
%%%  Simplified C5 on reading formula in, to give:
     %%%  C5:  true
%%%  Simplified C6 on reading formula in, to give:
     %%%  C6:  true
%%%  Simplified C8 on reading formula in, to give:
     %%%  C8:  0 <> dst__index__subtype__1__last -> 1 <= natural__last
%%%  Simplified C10 on reading formula in, to give:
     %%%  C10:  for_all(i___1 : integer, src__index__subtype__1__first <= i___1 
          and i___1 <= src__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(src, [i___1]) and element(
          src, [i___1]) <= spark__unsigned__byte__last)
***  Proved C1:  for_all(i_ : integer, dst__index__subtype__1__first <= i_ and 
          i_ <= 0 -> spark__unsigned__u64__first <= element(update(dst, [0], (((
          ((((element(src, [src_offset]) + spark__unsigned__shift_left_64(
          element(src, [src_offset + 1]), 8)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_offset + 2]), 16)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_offset + 3]), 24)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_offset + 4]), 32)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_offset + 5]), 40)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_offset + 6]), 48)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_offset + 7]), 56)) mod 
          interfaces__unsigned_64__modulus), [i_]) and element(update(dst, [0], 
          (((((((element(src, [src_offset]) + spark__unsigned__shift_left_64(
          element(src, [src_offset + 1]), 8)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_offset + 2]), 16)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_offset + 3]), 24)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_offset + 4]), 32)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_offset + 5]), 40)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_offset + 6]), 48)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_offset + 7]), 56)) mod 
          interfaces__unsigned_64__modulus), [i_]) <= 
          spark__unsigned__u64__last)
     using hypotheses H2, H121 & H122.
***  Proved C2:  0 >= dst__index__subtype__1__first
     using hypothesis H45.
***  Proved C3:  0 <= dst__index__subtype__1__last
     using hypothesis H46.
***  Proved C5:  true
***  Proved C6:  true
***  Proved C10:  for_all(i___1 : integer, src__index__subtype__1__first <= 
          i___1 and i___1 <= src__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(src, [i___1]) and element(
          src, [i___1]) <= spark__unsigned__byte__last)
     using hypothesis H8.
***  Proved C11:  src_offset >= natural__first
     using hypothesis H9.
***  Proved C12:  src_offset <= natural__last
     using hypothesis H10.
***  Proved C13:  src__index__subtype__1__first = 0
     using hypothesis H1.
***  Proved C14:  dst__index__subtype__1__first = 0
     using hypothesis H2.
***  Proved C15:  src_offset <= src__index__subtype__1__last
     using hypothesis H3.
***  Proved C16:  src_offset + dst__index__subtype__1__last * 8 + 7 >= 
          src__index__subtype__1__first
     using hypothesis H4.
***  Proved C17:  src_offset + dst__index__subtype__1__last * 8 + 7 <= 
          src__index__subtype__1__last
     using hypothesis H5.
***  Proved C18:  src_offset + 7 <= src__index__subtype__1__last
     using hypothesis H6.
***  Proved C19:  src_offset + dst__index__subtype__1__last * 8 <= natural__last
     using hypothesis H7.
-S-  Applied substitution rule get_64_lsb_f_rules(44).
     This was achieved by replacing all occurrences of 
          spark__crypto__word_count_t__last by:
          268435455.
<S>  New H12:  true
<S>  New C4:  dst__index__subtype__1__last <= 268435455
-S-  Applied substitution rule get_64_lsb_f_rules(4).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H39:  src_offset >= - 2147483649
<S>  New H57:  src_offset >= - 2147483650
<S>  New H69:  src_offset >= - 2147483651
<S>  New H81:  src_offset >= - 2147483652
<S>  New H93:  src_offset >= - 2147483653
<S>  New H105:  src_offset >= - 2147483654
<S>  New H117:  src_offset >= - 2147483655
-S-  Applied substitution rule get_64_lsb_f_rules(5).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H40:  src_offset <= 2147483646
<S>  New H58:  src_offset <= 2147483645
<S>  New H70:  src_offset <= 2147483644
<S>  New H82:  src_offset <= 2147483643
<S>  New H94:  src_offset <= 2147483642
<S>  New H106:  src_offset <= 2147483641
<S>  New H118:  src_offset <= 2147483640
-S-  Applied substitution rule get_64_lsb_f_rules(7).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H9:  src_offset >= 0
-S-  Applied substitution rule get_64_lsb_f_rules(8).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H7:  src_offset + dst__index__subtype__1__last * 8 <= 2147483647
<S>  New H10:  src_offset <= 2147483647
<S>  New C8:  true
<S>  New C9:  0 <> dst__index__subtype__1__last -> src_offset <= 2147483639
-S-  Applied substitution rule get_64_lsb_f_rules(20).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__first by:
          0.
<S>  New H33:  element(src, [src_offset + 1]) >= 0
<S>  New H47:  spark__unsigned__shift_left_64(element(src, [src_offset + 1]), 8)
           >= 0
<S>  New H51:  element(src, [src_offset + 2]) >= 0
<S>  New H59:  spark__unsigned__shift_left_64(element(src, [src_offset + 2]), 
          16) >= 0
<S>  New H63:  element(src, [src_offset + 3]) >= 0
<S>  New H71:  spark__unsigned__shift_left_64(element(src, [src_offset + 3]), 
          24) >= 0
<S>  New H75:  element(src, [src_offset + 4]) >= 0
<S>  New H83:  spark__unsigned__shift_left_64(element(src, [src_offset + 4]), 
          32) >= 0
<S>  New H87:  element(src, [src_offset + 5]) >= 0
<S>  New H95:  spark__unsigned__shift_left_64(element(src, [src_offset + 5]), 
          40) >= 0
<S>  New H99:  element(src, [src_offset + 6]) >= 0
<S>  New H107:  spark__unsigned__shift_left_64(element(src, [src_offset + 6]), 
          48) >= 0
<S>  New H111:  element(src, [src_offset + 7]) >= 0
<S>  New H119:  spark__unsigned__shift_left_64(element(src, [src_offset + 7]), 
          56) >= 0
-S-  Applied substitution rule get_64_lsb_f_rules(21).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__last by:
          18446744073709551615.
<S>  New H34:  element(src, [src_offset + 1]) <= 18446744073709551615
<S>  New H48:  spark__unsigned__shift_left_64(element(src, [src_offset + 1]), 8)
           <= 18446744073709551615
<S>  New H52:  element(src, [src_offset + 2]) <= 18446744073709551615
<S>  New H60:  spark__unsigned__shift_left_64(element(src, [src_offset + 2]), 
          16) <= 18446744073709551615
<S>  New H64:  element(src, [src_offset + 3]) <= 18446744073709551615
<S>  New H72:  spark__unsigned__shift_left_64(element(src, [src_offset + 3]), 
          24) <= 18446744073709551615
<S>  New H76:  element(src, [src_offset + 4]) <= 18446744073709551615
<S>  New H84:  spark__unsigned__shift_left_64(element(src, [src_offset + 4]), 
          32) <= 18446744073709551615
<S>  New H88:  element(src, [src_offset + 5]) <= 18446744073709551615
<S>  New H96:  spark__unsigned__shift_left_64(element(src, [src_offset + 5]), 
          40) <= 18446744073709551615
<S>  New H100:  element(src, [src_offset + 6]) <= 18446744073709551615
<S>  New H108:  spark__unsigned__shift_left_64(element(src, [src_offset + 6]), 
          48) <= 18446744073709551615
<S>  New H112:  element(src, [src_offset + 7]) <= 18446744073709551615
<S>  New H120:  spark__unsigned__shift_left_64(element(src, [src_offset + 7]), 
          56) <= 18446744073709551615
-S-  Applied substitution rule get_64_lsb_f_rules(24).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__modulus by:
          18446744073709551616.
<S>  New H121:  (((((((element(src, [src_offset]) + 
          spark__unsigned__shift_left_64(element(src, [src_offset + 1]), 8)) 
          mod 18446744073709551616 + spark__unsigned__shift_left_64(element(
          src, [src_offset + 2]), 16)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_offset + 3]), 24)) 
          mod 18446744073709551616 + spark__unsigned__shift_left_64(element(
          src, [src_offset + 4]), 32)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_offset + 5]), 40)) 
          mod 18446744073709551616 + spark__unsigned__shift_left_64(element(
          src, [src_offset + 6]), 48)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_offset + 7]), 56)) 
          mod 18446744073709551616 >= spark__unsigned__u64__first
<S>  New H122:  (((((((element(src, [src_offset]) + 
          spark__unsigned__shift_left_64(element(src, [src_offset + 1]), 8)) 
          mod 18446744073709551616 + spark__unsigned__shift_left_64(element(
          src, [src_offset + 2]), 16)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_offset + 3]), 24)) 
          mod 18446744073709551616 + spark__unsigned__shift_left_64(element(
          src, [src_offset + 4]), 32)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_offset + 5]), 40)) 
          mod 18446744073709551616 + spark__unsigned__shift_left_64(element(
          src, [src_offset + 6]), 48)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_offset + 7]), 56)) 
          mod 18446744073709551616 <= spark__unsigned__u64__last
-S-  Applied substitution rule get_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, 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__byte__last)
-S-  Applied substitution rule get_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, 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]) <= 255)
-S-  Applied substitution rule get_64_lsb_f_rules(32).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H35:  element(src, [src_offset + 1]) >= 0
<S>  New H41:  element(src, [src_offset]) >= 0
<S>  New H53:  element(src, [src_offset + 2]) >= 0
<S>  New H65:  element(src, [src_offset + 3]) >= 0
<S>  New H77:  element(src, [src_offset + 4]) >= 0
<S>  New H89:  element(src, [src_offset + 5]) >= 0
<S>  New H101:  element(src, [src_offset + 6]) >= 0
<S>  New H113:  element(src, [src_offset + 7]) >= 0
<S>  New H121:  (((((((element(src, [src_offset]) + 
          spark__unsigned__shift_left_64(element(src, [src_offset + 1]), 8)) 
          mod 18446744073709551616 + spark__unsigned__shift_left_64(element(
          src, [src_offset + 2]), 16)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_offset + 3]), 24)) 
          mod 18446744073709551616 + spark__unsigned__shift_left_64(element(
          src, [src_offset + 4]), 32)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_offset + 5]), 40)) 
          mod 18446744073709551616 + spark__unsigned__shift_left_64(element(
          src, [src_offset + 6]), 48)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_offset + 7]), 56)) 
          mod 18446744073709551616 >= 0
-S-  Applied substitution rule get_64_lsb_f_rules(33).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H36:  element(src, [src_offset + 1]) <= 18446744073709551615
<S>  New H42:  element(src, [src_offset]) <= 18446744073709551615
<S>  New H54:  element(src, [src_offset + 2]) <= 18446744073709551615
<S>  New H66:  element(src, [src_offset + 3]) <= 18446744073709551615
<S>  New H78:  element(src, [src_offset + 4]) <= 18446744073709551615
<S>  New H90:  element(src, [src_offset + 5]) <= 18446744073709551615
<S>  New H102:  element(src, [src_offset + 6]) <= 18446744073709551615
<S>  New H114:  element(src, [src_offset + 7]) <= 18446744073709551615
<S>  New H122:  (((((((element(src, [src_offset]) + 
          spark__unsigned__shift_left_64(element(src, [src_offset + 1]), 8)) 
          mod 18446744073709551616 + spark__unsigned__shift_left_64(element(
          src, [src_offset + 2]), 16)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_offset + 3]), 24)) 
          mod 18446744073709551616 + spark__unsigned__shift_left_64(element(
          src, [src_offset + 4]), 32)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_offset + 5]), 40)) 
          mod 18446744073709551616 + spark__unsigned__shift_left_64(element(
          src, [src_offset + 6]), 48)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_offset + 7]), 56)) 
          mod 18446744073709551616 <= 18446744073709551615
-S-  Applied substitution rule get_64_lsb_f_rules(38).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__first by:
          0.
<S>  New H31:  true
<S>  New H49:  true
<S>  New H61:  true
<S>  New H73:  true
<S>  New H85:  true
<S>  New H97:  true
<S>  New H109:  true
-S-  Applied substitution rule get_64_lsb_f_rules(39).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__last by:
          64.
<S>  New H32:  true
<S>  New H50:  true
<S>  New H62:  true
<S>  New H74:  true
<S>  New H86:  true
<S>  New H98:  true
<S>  New H110:  true
-S-  Applied substitution rule get_64_lsb_f_rules(43).
     This was achieved by replacing all occurrences of 
          spark__crypto__word_count_t__first by:
          0.
<S>  New H11:  true
***  Proved C7:  src_offset <= src_offset + dst__index__subtype__1__last * 8
     via its standard form, which is:
     Std.Fm C7:  8 * dst__index__subtype__1__last > - 1
     using hypothesis H46.
***  Proved C8:  true
---  Eliminated hypothesis H12 (true-hypothesis).
---  Eliminated hypothesis H13 (true-hypothesis).
---  Eliminated hypothesis H14 (true-hypothesis).
---  Eliminated hypothesis H16 (true-hypothesis).
---  Eliminated hypothesis H30 (true-hypothesis).
---  Eliminated hypothesis H37 (true-hypothesis).
---  Eliminated hypothesis H38 (true-hypothesis).
---  Eliminated hypothesis H43 (true-hypothesis).
---  Eliminated hypothesis H44 (true-hypothesis).
---  Eliminated hypothesis H55 (true-hypothesis).
---  Eliminated hypothesis H56 (true-hypothesis).
---  Eliminated hypothesis H67 (true-hypothesis).
---  Eliminated hypothesis H68 (true-hypothesis).
---  Eliminated hypothesis H79 (true-hypothesis).
---  Eliminated hypothesis H80 (true-hypothesis).
---  Eliminated hypothesis H91 (true-hypothesis).
---  Eliminated hypothesis H92 (true-hypothesis).
---  Eliminated hypothesis H103 (true-hypothesis).
---  Eliminated hypothesis H104 (true-hypothesis).
---  Eliminated hypothesis H115 (true-hypothesis).
---  Eliminated hypothesis H116 (true-hypothesis).
---  Eliminated hypothesis H31 (true-hypothesis).
---  Eliminated hypothesis H49 (true-hypothesis).
---  Eliminated hypothesis H61 (true-hypothesis).
---  Eliminated hypothesis H73 (true-hypothesis).
---  Eliminated hypothesis H85 (true-hypothesis).
---  Eliminated hypothesis H97 (true-hypothesis).
---  Eliminated hypothesis H109 (true-hypothesis).
---  Eliminated hypothesis H32 (true-hypothesis).
---  Eliminated hypothesis H50 (true-hypothesis).
---  Eliminated hypothesis H62 (true-hypothesis).
---  Eliminated hypothesis H74 (true-hypothesis).
---  Eliminated hypothesis H86 (true-hypothesis).
---  Eliminated hypothesis H98 (true-hypothesis).
---  Eliminated hypothesis H110 (true-hypothesis).
---  Eliminated hypothesis H11 (true-hypothesis).
---  Eliminated hypothesis H35 (duplicate of H33).
---  Eliminated hypothesis H53 (duplicate of H51).
---  Eliminated hypothesis H65 (duplicate of H63).
---  Eliminated hypothesis H77 (duplicate of H75).
---  Eliminated hypothesis H89 (duplicate of H87).
---  Eliminated hypothesis H101 (duplicate of H99).
---  Eliminated hypothesis H113 (duplicate of H111).
---  Eliminated hypothesis H36 (duplicate of H34).
---  Eliminated hypothesis H54 (duplicate of H52).
---  Eliminated hypothesis H66 (duplicate of H64).
---  Eliminated hypothesis H78 (duplicate of H76).
---  Eliminated hypothesis H90 (duplicate of H88).
---  Eliminated hypothesis H102 (duplicate of H100).
---  Eliminated hypothesis H114 (duplicate of H112).
---  Eliminated hypothesis H3 (redundant, given H6).
---  Eliminated hypothesis H10 (redundant, given H40).
---  Eliminated hypothesis H17 (redundant, given H15).
---  Eliminated hypothesis H18 (redundant, given H6).
---  Eliminated hypothesis H19 (redundant, given H15).
---  Eliminated hypothesis H20 (redundant, given H6).
---  Eliminated hypothesis H21 (redundant, given H15).
---  Eliminated hypothesis H22 (redundant, given H6).
---  Eliminated hypothesis H23 (redundant, given H15).
---  Eliminated hypothesis H24 (redundant, given H6).
---  Eliminated hypothesis H25 (redundant, given H15).
---  Eliminated hypothesis H26 (redundant, given H6).
---  Eliminated hypothesis H27 (redundant, given H15).
---  Eliminated hypothesis H28 (redundant, given H6).
---  Eliminated hypothesis H29 (redundant, given H15).
---  Eliminated hypothesis H39 (redundant, given H9).
---  Eliminated hypothesis H40 (redundant, given H58).
---  Eliminated hypothesis H45 (redundant, given H2).
---  Eliminated hypothesis H57 (redundant, given H9).
---  Eliminated hypothesis H58 (redundant, given H70).
---  Eliminated hypothesis H69 (redundant, given H9).
---  Eliminated hypothesis H70 (redundant, given H82).
---  Eliminated hypothesis H81 (redundant, given H9).
---  Eliminated hypothesis H82 (redundant, given H94).
---  Eliminated hypothesis H93 (redundant, given H9).
---  Eliminated hypothesis H94 (redundant, given H106).
---  Eliminated hypothesis H105 (redundant, given H9).
---  Eliminated hypothesis H106 (redundant, given H118).
---  Eliminated hypothesis H117 (redundant, given H9).
***  Proved C4:  dst__index__subtype__1__last <= 268435455
     +++  New H123:  integer__size >= 0
     +++  New H124:  natural__size >= 0
     +++  New H125:  spark__unsigned__byte__size >= 0
     +++  New H126:  spark__unsigned__u64__size >= 0
     +++  New H127:  spark__unsigned__shift_count__size >= 0
     +++  New H128:  spark__crypto__word_count_t__size >= 0
     +++  New H129:  dst__index__subtype__1__first <= 
          dst__index__subtype__1__last
     +++  New H130:  src__index__subtype__1__first <= 
          src__index__subtype__1__last
     +++  New H131:  src__index__subtype__1__first >= 0
     +++  New H132:  src__index__subtype__1__last >= 0
     +++  New H133:  src__index__subtype__1__last <= 2147483647
     +++  New H134:  src__index__subtype__1__first <= 2147483647
     +++  New H135:  dst__index__subtype__1__first >= 0
     +++  New H136:  dst__index__subtype__1__last >= 0
     +++  New H137:  dst__index__subtype__1__last <= 268435455
     +++  New H138:  dst__index__subtype__1__first <= 268435455


@@@@@@@@@@  VC: procedure_get_64_lsb_first_22.  @@@@@@@@@@
%%%  Simplified H1 on reading formula in, to give:
     %%%  H1:  for_all(i_ : integer, dst__index__subtype__1__first <= i_ and i_ 
          <= dst_index -> spark__unsigned__u64__first <= element(dst, [i_]) and 
          element(dst, [i_]) <= spark__unsigned__u64__last)
%%%  Simplified H10 on reading formula in, to give:
     %%%  H10:  for_all(i___1 : integer, src__index__subtype__1__first <= i___1 
          and i___1 <= src__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(src, [i___1]) and element(
          src, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
%%%  Simplified H29 on reading formula in, to give:
     %%%  H29:  src_index + 9 >= src__index__subtype__1__first
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  src_index + 9 <= src__index__subtype__1__last
%%%  Simplified H31 on reading formula in, to give:
     %%%  H31:  src_index + 10 >= src__index__subtype__1__first
%%%  Simplified H32 on reading formula in, to give:
     %%%  H32:  src_index + 10 <= src__index__subtype__1__last
%%%  Simplified H33 on reading formula in, to give:
     %%%  H33:  src_index + 11 >= src__index__subtype__1__first
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  src_index + 11 <= src__index__subtype__1__last
%%%  Simplified H35 on reading formula in, to give:
     %%%  H35:  src_index + 12 >= src__index__subtype__1__first
%%%  Simplified H36 on reading formula in, to give:
     %%%  H36:  src_index + 12 <= src__index__subtype__1__last
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  src_index + 13 >= src__index__subtype__1__first
%%%  Simplified H38 on reading formula in, to give:
     %%%  H38:  src_index + 13 <= src__index__subtype__1__last
%%%  Simplified H39 on reading formula in, to give:
     %%%  H39:  src_index + 14 >= src__index__subtype__1__first
%%%  Simplified H40 on reading formula in, to give:
     %%%  H40:  src_index + 14 <= src__index__subtype__1__last
%%%  Simplified H41 on reading formula in, to give:
     %%%  H41:  src_index + 15 >= src__index__subtype__1__first
%%%  Simplified H42 on reading formula in, to give:
     %%%  H42:  src_index + 15 <= src__index__subtype__1__last
%%%  Simplified H45 on reading formula in, to give:
     %%%  H45:  element(src, [src_index + 9]) >= interfaces__unsigned_64__first
%%%  Simplified H46 on reading formula in, to give:
     %%%  H46:  element(src, [src_index + 9]) <= interfaces__unsigned_64__last
%%%  Simplified H47 on reading formula in, to give:
     %%%  H47:  element(src, [src_index + 9]) >= spark__unsigned__u64__first
%%%  Simplified H48 on reading formula in, to give:
     %%%  H48:  element(src, [src_index + 9]) <= spark__unsigned__u64__last
---  Hypothesis H49 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H50 has been replaced by "true".  (It is already present, as 
          H30).
%%%  Simplified H51 on reading formula in, to give:
     %%%  H51:  src_index + 9 >= integer__base__first
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  src_index + 9 <= integer__base__last
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H27).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H28).
%%%  Simplified H59 on reading formula in, to give:
     %%%  H59:  spark__unsigned__shift_left_64(element(src, [src_index + 9]), 8)
           >= interfaces__unsigned_64__first
%%%  Simplified H60 on reading formula in, to give:
     %%%  H60:  spark__unsigned__shift_left_64(element(src, [src_index + 9]), 8)
           <= interfaces__unsigned_64__last
%%%  Simplified H63 on reading formula in, to give:
     %%%  H63:  element(src, [src_index + 10]) >= interfaces__unsigned_64__first
%%%  Simplified H64 on reading formula in, to give:
     %%%  H64:  element(src, [src_index + 10]) <= interfaces__unsigned_64__last
%%%  Simplified H65 on reading formula in, to give:
     %%%  H65:  element(src, [src_index + 10]) >= spark__unsigned__u64__first
%%%  Simplified H66 on reading formula in, to give:
     %%%  H66:  element(src, [src_index + 10]) <= spark__unsigned__u64__last
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H32).
%%%  Simplified H69 on reading formula in, to give:
     %%%  H69:  src_index + 10 >= integer__base__first
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  src_index + 10 <= integer__base__last
%%%  Simplified H71 on reading formula in, to give:
     %%%  H71:  spark__unsigned__shift_left_64(element(src, [src_index + 10]), 
          16) >= interfaces__unsigned_64__first
%%%  Simplified H72 on reading formula in, to give:
     %%%  H72:  spark__unsigned__shift_left_64(element(src, [src_index + 10]), 
          16) <= interfaces__unsigned_64__last
%%%  Simplified H75 on reading formula in, to give:
     %%%  H75:  element(src, [src_index + 11]) >= interfaces__unsigned_64__first
%%%  Simplified H76 on reading formula in, to give:
     %%%  H76:  element(src, [src_index + 11]) <= interfaces__unsigned_64__last
%%%  Simplified H77 on reading formula in, to give:
     %%%  H77:  element(src, [src_index + 11]) >= spark__unsigned__u64__first
%%%  Simplified H78 on reading formula in, to give:
     %%%  H78:  element(src, [src_index + 11]) <= spark__unsigned__u64__last
---  Hypothesis H79 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H80 has been replaced by "true".  (It is already present, as 
          H34).
%%%  Simplified H81 on reading formula in, to give:
     %%%  H81:  src_index + 11 >= integer__base__first
%%%  Simplified H82 on reading formula in, to give:
     %%%  H82:  src_index + 11 <= integer__base__last
%%%  Simplified H83 on reading formula in, to give:
     %%%  H83:  spark__unsigned__shift_left_64(element(src, [src_index + 11]), 
          24) >= interfaces__unsigned_64__first
%%%  Simplified H84 on reading formula in, to give:
     %%%  H84:  spark__unsigned__shift_left_64(element(src, [src_index + 11]), 
          24) <= interfaces__unsigned_64__last
%%%  Simplified H87 on reading formula in, to give:
     %%%  H87:  element(src, [src_index + 12]) >= interfaces__unsigned_64__first
%%%  Simplified H88 on reading formula in, to give:
     %%%  H88:  element(src, [src_index + 12]) <= interfaces__unsigned_64__last
%%%  Simplified H89 on reading formula in, to give:
     %%%  H89:  element(src, [src_index + 12]) >= spark__unsigned__u64__first
%%%  Simplified H90 on reading formula in, to give:
     %%%  H90:  element(src, [src_index + 12]) <= spark__unsigned__u64__last
---  Hypothesis H91 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H92 has been replaced by "true".  (It is already present, as 
          H36).
%%%  Simplified H93 on reading formula in, to give:
     %%%  H93:  src_index + 12 >= integer__base__first
%%%  Simplified H94 on reading formula in, to give:
     %%%  H94:  src_index + 12 <= integer__base__last
%%%  Simplified H95 on reading formula in, to give:
     %%%  H95:  spark__unsigned__shift_left_64(element(src, [src_index + 12]), 
          32) >= interfaces__unsigned_64__first
%%%  Simplified H96 on reading formula in, to give:
     %%%  H96:  spark__unsigned__shift_left_64(element(src, [src_index + 12]), 
          32) <= interfaces__unsigned_64__last
%%%  Simplified H99 on reading formula in, to give:
     %%%  H99:  element(src, [src_index + 13]) >= interfaces__unsigned_64__first
%%%  Simplified H100 on reading formula in, to give:
     %%%  H100:  element(src, [src_index + 13]) <= interfaces__unsigned_64__last
%%%  Simplified H101 on reading formula in, to give:
     %%%  H101:  element(src, [src_index + 13]) >= spark__unsigned__u64__first
%%%  Simplified H102 on reading formula in, to give:
     %%%  H102:  element(src, [src_index + 13]) <= spark__unsigned__u64__last
---  Hypothesis H103 has been replaced by "true".  (It is already present, as 
          H37).
---  Hypothesis H104 has been replaced by "true".  (It is already present, as 
          H38).
%%%  Simplified H105 on reading formula in, to give:
     %%%  H105:  src_index + 13 >= integer__base__first
%%%  Simplified H106 on reading formula in, to give:
     %%%  H106:  src_index + 13 <= integer__base__last
%%%  Simplified H107 on reading formula in, to give:
     %%%  H107:  spark__unsigned__shift_left_64(element(src, [src_index + 13]), 
          40) >= interfaces__unsigned_64__first
%%%  Simplified H108 on reading formula in, to give:
     %%%  H108:  spark__unsigned__shift_left_64(element(src, [src_index + 13]), 
          40) <= interfaces__unsigned_64__last
%%%  Simplified H111 on reading formula in, to give:
     %%%  H111:  element(src, [src_index + 14]) >= 
          interfaces__unsigned_64__first
%%%  Simplified H112 on reading formula in, to give:
     %%%  H112:  element(src, [src_index + 14]) <= interfaces__unsigned_64__last
%%%  Simplified H113 on reading formula in, to give:
     %%%  H113:  element(src, [src_index + 14]) >= spark__unsigned__u64__first
%%%  Simplified H114 on reading formula in, to give:
     %%%  H114:  element(src, [src_index + 14]) <= spark__unsigned__u64__last
---  Hypothesis H115 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H116 has been replaced by "true".  (It is already present, as 
          H40).
%%%  Simplified H117 on reading formula in, to give:
     %%%  H117:  src_index + 14 >= integer__base__first
%%%  Simplified H118 on reading formula in, to give:
     %%%  H118:  src_index + 14 <= integer__base__last
%%%  Simplified H119 on reading formula in, to give:
     %%%  H119:  spark__unsigned__shift_left_64(element(src, [src_index + 14]), 
          48) >= interfaces__unsigned_64__first
%%%  Simplified H120 on reading formula in, to give:
     %%%  H120:  spark__unsigned__shift_left_64(element(src, [src_index + 14]), 
          48) <= interfaces__unsigned_64__last
%%%  Simplified H123 on reading formula in, to give:
     %%%  H123:  element(src, [src_index + 15]) >= 
          interfaces__unsigned_64__first
%%%  Simplified H124 on reading formula in, to give:
     %%%  H124:  element(src, [src_index + 15]) <= interfaces__unsigned_64__last
%%%  Simplified H125 on reading formula in, to give:
     %%%  H125:  element(src, [src_index + 15]) >= spark__unsigned__u64__first
%%%  Simplified H126 on reading formula in, to give:
     %%%  H126:  element(src, [src_index + 15]) <= spark__unsigned__u64__last
---  Hypothesis H127 has been replaced by "true".  (It is already present, as 
          H41).
---  Hypothesis H128 has been replaced by "true".  (It is already present, as 
          H42).
%%%  Simplified H129 on reading formula in, to give:
     %%%  H129:  src_index + 15 >= integer__base__first
%%%  Simplified H130 on reading formula in, to give:
     %%%  H130:  src_index + 15 <= integer__base__last
%%%  Simplified H131 on reading formula in, to give:
     %%%  H131:  spark__unsigned__shift_left_64(element(src, [src_index + 15]), 
          56) >= interfaces__unsigned_64__first
%%%  Simplified H132 on reading formula in, to give:
     %%%  H132:  spark__unsigned__shift_left_64(element(src, [src_index + 15]), 
          56) <= interfaces__unsigned_64__last
%%%  Simplified H133 on reading formula in, to give:
     %%%  H133:  (((((((element(src, [src_index + 8]) + 
          spark__unsigned__shift_left_64(element(src, [src_index + 9]), 8)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 10]), 16)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 11]), 24)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 12]), 32)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 13]), 40)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 14]), 48)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 15]), 56)) mod 
          interfaces__unsigned_64__modulus >= spark__unsigned__u64__first
%%%  Simplified H134 on reading formula in, to give:
     %%%  H134:  (((((((element(src, [src_index + 8]) + 
          spark__unsigned__shift_left_64(element(src, [src_index + 9]), 8)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 10]), 16)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 11]), 24)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 12]), 32)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 13]), 40)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 14]), 48)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 15]), 56)) mod 
          interfaces__unsigned_64__modulus <= spark__unsigned__u64__last
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  for_all(i_ : integer, dst__index__subtype__1__first <= i_ and i_ 
          <= dst_index + 1 -> spark__unsigned__u64__first <= element(update(
          dst, [dst_index + 1], (((((((element(src, [src_index + 8]) + 
          spark__unsigned__shift_left_64(element(src, [src_index + 9]), 8)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 10]), 16)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 11]), 24)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 12]), 32)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 13]), 40)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 14]), 48)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 15]), 56)) mod 
          interfaces__unsigned_64__modulus), [i_]) and element(update(dst, [
          dst_index + 1], (((((((element(src, [src_index + 8]) + 
          spark__unsigned__shift_left_64(element(src, [src_index + 9]), 8)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 10]), 16)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 11]), 24)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 12]), 32)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 13]), 40)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 14]), 48)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 15]), 56)) mod 
          interfaces__unsigned_64__modulus), [i_]) <= 
          spark__unsigned__u64__last)
%%%  Simplified C8 on reading formula in, to give:
     %%%  C8:  dst_index + 1 <> dst__index__subtype__1__last -> dst_index + 2 
          <= natural__last
%%%  Simplified C9 on reading formula in, to give:
     %%%  C9:  dst_index + 1 <> dst__index__subtype__1__last -> src_index + 16 
          <= natural__last
%%%  Simplified C10 on reading formula in, to give:
     %%%  C10:  for_all(i___1 : integer, src__index__subtype__1__first <= i___1 
          and i___1 <= src__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(src, [i___1]) and element(
          src, [i___1]) <= spark__unsigned__byte__last)
***  Proved C1:  for_all(i_ : integer, dst__index__subtype__1__first <= i_ and 
          i_ <= dst_index + 1 -> spark__unsigned__u64__first <= element(update(
          dst, [dst_index + 1], (((((((element(src, [src_index + 8]) + 
          spark__unsigned__shift_left_64(element(src, [src_index + 9]), 8)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 10]), 16)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 11]), 24)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 12]), 32)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 13]), 40)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 14]), 48)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 15]), 56)) mod 
          interfaces__unsigned_64__modulus), [i_]) and element(update(dst, [
          dst_index + 1], (((((((element(src, [src_index + 8]) + 
          spark__unsigned__shift_left_64(element(src, [src_index + 9]), 8)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 10]), 16)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 11]), 24)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 12]), 32)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 13]), 40)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 14]), 48)) mod 
          interfaces__unsigned_64__modulus + spark__unsigned__shift_left_64(
          element(src, [src_index + 15]), 56)) mod 
          interfaces__unsigned_64__modulus), [i_]) <= 
          spark__unsigned__u64__last)
     using hypotheses H1, H133 & H134.
***  Proved C2:  dst_index + 1 >= dst__index__subtype__1__first
     using hypothesis H57.
***  Proved C3:  dst_index + 1 <= dst__index__subtype__1__last
     using hypothesis H58.
***  Proved C4:  dst__index__subtype__1__last <= 
          spark__crypto__word_count_t__last
     using hypothesis H4.
***  Proved C6:  src_index + 8 >= src_offset
     using hypothesis H6.
***  Proved C10:  for_all(i___1 : integer, src__index__subtype__1__first <= 
          i___1 and i___1 <= src__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(src, [i___1]) and element(
          src, [i___1]) <= spark__unsigned__byte__last)
     using hypothesis H10.
***  Proved C11:  src_offset >= natural__first
     using hypothesis H11.
***  Proved C12:  src_offset <= natural__last
     using hypothesis H12.
***  Proved C13:  src__index__subtype__1__first = 0
     using hypothesis H13.
***  Proved C14:  dst__index__subtype__1__first = 0
     using hypothesis H14.
***  Proved C15:  src_offset <= src__index__subtype__1__last
     using hypothesis H15.
***  Proved C16:  src_offset + dst__index__subtype__1__last * 8 + 7 >= 
          src__index__subtype__1__first
     using hypothesis H16.
***  Proved C17:  src_offset + dst__index__subtype__1__last * 8 + 7 <= 
          src__index__subtype__1__last
     using hypothesis H17.
***  Proved C18:  src_offset + 7 <= src__index__subtype__1__last
     using hypothesis H18.
***  Proved C19:  src_offset + dst__index__subtype__1__last * 8 <= natural__last
     using hypothesis H19.
>>>  Restructured hypothesis H20 into:
     >>>  H20:  dst_index <> dst__index__subtype__1__last
---  Attempted addition of new hypothesis:
          dst_index + 1 <= natural__last
     eliminated: this already exists (as H21).
+++  Using "A->B, A |- B" on hypotheses H8 & H20 yields a new hypothesis:
     +++  H21:  dst_index + 1 <= natural__last
---  Attempted addition of new hypothesis:
          src_index + 8 <= natural__last
     eliminated: this already exists (as H24).
+++  Using "A->B, A |- B" on hypotheses H9 & H20 yields a new hypothesis:
     +++  H24:  src_index + 8 <= natural__last
-S-  Applied substitution rule get_64_lsb_f_rules(4).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H51:  src_index >= - 2147483657
<S>  New H69:  src_index >= - 2147483658
<S>  New H81:  src_index >= - 2147483659
<S>  New H93:  src_index >= - 2147483660
<S>  New H105:  src_index >= - 2147483661
<S>  New H117:  src_index >= - 2147483662
<S>  New H129:  src_index >= - 2147483663
-S-  Applied substitution rule get_64_lsb_f_rules(5).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H52:  src_index <= 2147483638
<S>  New H70:  src_index <= 2147483637
<S>  New H82:  src_index <= 2147483636
<S>  New H94:  src_index <= 2147483635
<S>  New H106:  src_index <= 2147483634
<S>  New H118:  src_index <= 2147483633
<S>  New H130:  src_index <= 2147483632
-S-  Applied substitution rule get_64_lsb_f_rules(7).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H11:  src_offset >= 0
<S>  New H25:  src_index >= - 8
-S-  Applied substitution rule get_64_lsb_f_rules(8).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H8:  dst_index <> dst__index__subtype__1__last -> dst_index <= 
          2147483646
<S>  New H9:  dst_index <> dst__index__subtype__1__last -> src_index <= 
          2147483639
<S>  New H12:  src_offset <= 2147483647
<S>  New H19:  src_offset + dst__index__subtype__1__last * 8 <= 2147483647
<S>  New H21:  dst_index <= 2147483646
<S>  New H24:  src_index <= 2147483639
<S>  New C8:  dst_index + 1 <> dst__index__subtype__1__last -> dst_index <= 
          2147483645
<S>  New C9:  dst_index + 1 <> dst__index__subtype__1__last -> src_index <= 
          2147483631
-S-  Applied substitution rule get_64_lsb_f_rules(20).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__first by:
          0.
<S>  New H45:  element(src, [src_index + 9]) >= 0
<S>  New H59:  spark__unsigned__shift_left_64(element(src, [src_index + 9]), 8) 
          >= 0
<S>  New H63:  element(src, [src_index + 10]) >= 0
<S>  New H71:  spark__unsigned__shift_left_64(element(src, [src_index + 10]), 
          16) >= 0
<S>  New H75:  element(src, [src_index + 11]) >= 0
<S>  New H83:  spark__unsigned__shift_left_64(element(src, [src_index + 11]), 
          24) >= 0
<S>  New H87:  element(src, [src_index + 12]) >= 0
<S>  New H95:  spark__unsigned__shift_left_64(element(src, [src_index + 12]), 
          32) >= 0
<S>  New H99:  element(src, [src_index + 13]) >= 0
<S>  New H107:  spark__unsigned__shift_left_64(element(src, [src_index + 13]), 
          40) >= 0
<S>  New H111:  element(src, [src_index + 14]) >= 0
<S>  New H119:  spark__unsigned__shift_left_64(element(src, [src_index + 14]), 
          48) >= 0
<S>  New H123:  element(src, [src_index + 15]) >= 0
<S>  New H131:  spark__unsigned__shift_left_64(element(src, [src_index + 15]), 
          56) >= 0
-S-  Applied substitution rule get_64_lsb_f_rules(21).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__last by:
          18446744073709551615.
<S>  New H46:  element(src, [src_index + 9]) <= 18446744073709551615
<S>  New H60:  spark__unsigned__shift_left_64(element(src, [src_index + 9]), 8) 
          <= 18446744073709551615
<S>  New H64:  element(src, [src_index + 10]) <= 18446744073709551615
<S>  New H72:  spark__unsigned__shift_left_64(element(src, [src_index + 10]), 
          16) <= 18446744073709551615
<S>  New H76:  element(src, [src_index + 11]) <= 18446744073709551615
<S>  New H84:  spark__unsigned__shift_left_64(element(src, [src_index + 11]), 
          24) <= 18446744073709551615
<S>  New H88:  element(src, [src_index + 12]) <= 18446744073709551615
<S>  New H96:  spark__unsigned__shift_left_64(element(src, [src_index + 12]), 
          32) <= 18446744073709551615
<S>  New H100:  element(src, [src_index + 13]) <= 18446744073709551615
<S>  New H108:  spark__unsigned__shift_left_64(element(src, [src_index + 13]), 
          40) <= 18446744073709551615
<S>  New H112:  element(src, [src_index + 14]) <= 18446744073709551615
<S>  New H120:  spark__unsigned__shift_left_64(element(src, [src_index + 14]), 
          48) <= 18446744073709551615
<S>  New H124:  element(src, [src_index + 15]) <= 18446744073709551615
<S>  New H132:  spark__unsigned__shift_left_64(element(src, [src_index + 15]), 
          56) <= 18446744073709551615
-S-  Applied substitution rule get_64_lsb_f_rules(24).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__modulus by:
          18446744073709551616.
<S>  New H133:  (((((((element(src, [src_index + 8]) + 
          spark__unsigned__shift_left_64(element(src, [src_index + 9]), 8)) mod 
          18446744073709551616 + spark__unsigned__shift_left_64(element(src, [
          src_index + 10]), 16)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_index + 11]), 24)) 
          mod 18446744073709551616 + spark__unsigned__shift_left_64(element(
          src, [src_index + 12]), 32)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_index + 13]), 40)) 
          mod 18446744073709551616 + spark__unsigned__shift_left_64(element(
          src, [src_index + 14]), 48)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_index + 15]), 56)) 
          mod 18446744073709551616 >= spark__unsigned__u64__first
<S>  New H134:  (((((((element(src, [src_index + 8]) + 
          spark__unsigned__shift_left_64(element(src, [src_index + 9]), 8)) mod 
          18446744073709551616 + spark__unsigned__shift_left_64(element(src, [
          src_index + 10]), 16)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_index + 11]), 24)) 
          mod 18446744073709551616 + spark__unsigned__shift_left_64(element(
          src, [src_index + 12]), 32)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_index + 13]), 40)) 
          mod 18446744073709551616 + spark__unsigned__shift_left_64(element(
          src, [src_index + 14]), 48)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_index + 15]), 56)) 
          mod 18446744073709551616 <= spark__unsigned__u64__last
-S-  Applied substitution rule get_64_lsb_f_rules(26).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H10:  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__byte__last)
-S-  Applied substitution rule get_64_lsb_f_rules(27).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H10:  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]) <= 255)
-S-  Applied substitution rule get_64_lsb_f_rules(32).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H1:  for_all(i_ : integer, dst__index__subtype__1__first <= i_ and i_ 
          <= dst_index -> 0 <= element(dst, [i_]) and element(dst, [i_]) <= 
          spark__unsigned__u64__last)
<S>  New H47:  element(src, [src_index + 9]) >= 0
<S>  New H53:  element(src, [src_index + 8]) >= 0
<S>  New H65:  element(src, [src_index + 10]) >= 0
<S>  New H77:  element(src, [src_index + 11]) >= 0
<S>  New H89:  element(src, [src_index + 12]) >= 0
<S>  New H101:  element(src, [src_index + 13]) >= 0
<S>  New H113:  element(src, [src_index + 14]) >= 0
<S>  New H125:  element(src, [src_index + 15]) >= 0
<S>  New H133:  (((((((element(src, [src_index + 8]) + 
          spark__unsigned__shift_left_64(element(src, [src_index + 9]), 8)) mod 
          18446744073709551616 + spark__unsigned__shift_left_64(element(src, [
          src_index + 10]), 16)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_index + 11]), 24)) 
          mod 18446744073709551616 + spark__unsigned__shift_left_64(element(
          src, [src_index + 12]), 32)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_index + 13]), 40)) 
          mod 18446744073709551616 + spark__unsigned__shift_left_64(element(
          src, [src_index + 14]), 48)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_index + 15]), 56)) 
          mod 18446744073709551616 >= 0
-S-  Applied substitution rule get_64_lsb_f_rules(33).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H48:  element(src, [src_index + 9]) <= 18446744073709551615
<S>  New H54:  element(src, [src_index + 8]) <= 18446744073709551615
<S>  New H66:  element(src, [src_index + 10]) <= 18446744073709551615
<S>  New H78:  element(src, [src_index + 11]) <= 18446744073709551615
<S>  New H90:  element(src, [src_index + 12]) <= 18446744073709551615
<S>  New H102:  element(src, [src_index + 13]) <= 18446744073709551615
<S>  New H114:  element(src, [src_index + 14]) <= 18446744073709551615
<S>  New H126:  element(src, [src_index + 15]) <= 18446744073709551615
<S>  New H134:  (((((((element(src, [src_index + 8]) + 
          spark__unsigned__shift_left_64(element(src, [src_index + 9]), 8)) mod 
          18446744073709551616 + spark__unsigned__shift_left_64(element(src, [
          src_index + 10]), 16)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_index + 11]), 24)) 
          mod 18446744073709551616 + spark__unsigned__shift_left_64(element(
          src, [src_index + 12]), 32)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_index + 13]), 40)) 
          mod 18446744073709551616 + spark__unsigned__shift_left_64(element(
          src, [src_index + 14]), 48)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_index + 15]), 56)) 
          mod 18446744073709551616 <= 18446744073709551615
<S>  New H1:  for_all(i_ : integer, dst__index__subtype__1__first <= i_ and i_ 
          <= dst_index -> 0 <= element(dst, [i_]) and element(dst, [i_]) <= 
          18446744073709551615)
-S-  Applied substitution rule get_64_lsb_f_rules(38).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__first by:
          0.
<S>  New H43:  true
<S>  New H61:  true
<S>  New H73:  true
<S>  New H85:  true
<S>  New H97:  true
<S>  New H109:  true
<S>  New H121:  true
-S-  Applied substitution rule get_64_lsb_f_rules(39).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__last by:
          64.
<S>  New H44:  true
<S>  New H62:  true
<S>  New H74:  true
<S>  New H86:  true
<S>  New H98:  true
<S>  New H110:  true
<S>  New H122:  true
-S-  Applied substitution rule get_64_lsb_f_rules(43).
     This was achieved by replacing all occurrences of 
          spark__crypto__word_count_t__first by:
          0.
<S>  New H22:  dst_index >= - 1
-S-  Applied substitution rule get_64_lsb_f_rules(44).
     This was achieved by replacing all occurrences of 
          spark__crypto__word_count_t__last by:
          268435455.
<S>  New H4:  dst__index__subtype__1__last <= 268435455
<S>  New H23:  dst_index <= 268435454
%%%  Hypotheses H3 & H20 together imply that
          dst_index < dst__index__subtype__1__last.
     H3 & H20 have therefore been deleted and a new H135 added to this effect.
***  Proved C5:  src_index + 8 = src_offset + (dst_index + 1) * 8
     via its standard form, which is:
     Std.Fm C5:  8 * dst_index - src_index + src_offset = 0
     using hypothesis H5.
***  Proved C8:  dst_index + 1 <> dst__index__subtype__1__last -> dst_index <= 
          2147483645
     using hypothesis H23.
---  Eliminated hypothesis H26 (true-hypothesis).
---  Eliminated hypothesis H49 (true-hypothesis).
---  Eliminated hypothesis H50 (true-hypothesis).
---  Eliminated hypothesis H55 (true-hypothesis).
---  Eliminated hypothesis H56 (true-hypothesis).
---  Eliminated hypothesis H67 (true-hypothesis).
---  Eliminated hypothesis H68 (true-hypothesis).
---  Eliminated hypothesis H79 (true-hypothesis).
---  Eliminated hypothesis H80 (true-hypothesis).
---  Eliminated hypothesis H91 (true-hypothesis).
---  Eliminated hypothesis H92 (true-hypothesis).
---  Eliminated hypothesis H103 (true-hypothesis).
---  Eliminated hypothesis H104 (true-hypothesis).
---  Eliminated hypothesis H115 (true-hypothesis).
---  Eliminated hypothesis H116 (true-hypothesis).
---  Eliminated hypothesis H127 (true-hypothesis).
---  Eliminated hypothesis H128 (true-hypothesis).
---  Eliminated hypothesis H43 (true-hypothesis).
---  Eliminated hypothesis H61 (true-hypothesis).
---  Eliminated hypothesis H73 (true-hypothesis).
---  Eliminated hypothesis H85 (true-hypothesis).
---  Eliminated hypothesis H97 (true-hypothesis).
---  Eliminated hypothesis H109 (true-hypothesis).
---  Eliminated hypothesis H121 (true-hypothesis).
---  Eliminated hypothesis H44 (true-hypothesis).
---  Eliminated hypothesis H62 (true-hypothesis).
---  Eliminated hypothesis H74 (true-hypothesis).
---  Eliminated hypothesis H86 (true-hypothesis).
---  Eliminated hypothesis H98 (true-hypothesis).
---  Eliminated hypothesis H110 (true-hypothesis).
---  Eliminated hypothesis H122 (true-hypothesis).
---  Eliminated hypothesis H47 (duplicate of H45).
---  Eliminated hypothesis H65 (duplicate of H63).
---  Eliminated hypothesis H77 (duplicate of H75).
---  Eliminated hypothesis H89 (duplicate of H87).
---  Eliminated hypothesis H101 (duplicate of H99).
---  Eliminated hypothesis H113 (duplicate of H111).
---  Eliminated hypothesis H125 (duplicate of H123).
---  Eliminated hypothesis H48 (duplicate of H46).
---  Eliminated hypothesis H66 (duplicate of H64).
---  Eliminated hypothesis H78 (duplicate of H76).
---  Eliminated hypothesis H90 (duplicate of H88).
---  Eliminated hypothesis H102 (duplicate of H100).
---  Eliminated hypothesis H114 (duplicate of H112).
---  Eliminated hypothesis H126 (duplicate of H124).
---  Eliminated hypothesis H135 (duplicate of H58).
>>>  Using "A->B, A |- B" on H8, given H135, we simplify the former to:
     >>>  H8:  dst_index <= 2147483646
>>>  Using "A->B, A |- B" on H9, given H135, we simplify the former to:
     >>>  H9:  src_index <= 2147483639
---  Eliminated hypothesis H15 (redundant, given H18).
---  Eliminated hypothesis H21 (redundant, given H23).
---  Eliminated hypothesis H22 (redundant, given H2 & H14).
---  Eliminated hypothesis H24 (redundant, given H52).
---  Eliminated hypothesis H28 (redundant, given H30).
---  Eliminated hypothesis H29 (redundant, given H27).
---  Eliminated hypothesis H30 (redundant, given H32).
---  Eliminated hypothesis H31 (redundant, given H27).
---  Eliminated hypothesis H32 (redundant, given H34).
---  Eliminated hypothesis H33 (redundant, given H27).
---  Eliminated hypothesis H34 (redundant, given H36).
---  Eliminated hypothesis H35 (redundant, given H27).
---  Eliminated hypothesis H36 (redundant, given H38).
---  Eliminated hypothesis H37 (redundant, given H27).
---  Eliminated hypothesis H38 (redundant, given H40).
---  Eliminated hypothesis H39 (redundant, given H27).
---  Eliminated hypothesis H40 (redundant, given H42).
---  Eliminated hypothesis H41 (redundant, given H27).
---  Eliminated hypothesis H51 (redundant, given H25).
---  Eliminated hypothesis H52 (redundant, given H70).
---  Eliminated hypothesis H57 (redundant, given H2).
---  Eliminated hypothesis H69 (redundant, given H25).
---  Eliminated hypothesis H70 (redundant, given H82).
---  Eliminated hypothesis H81 (redundant, given H25).
---  Eliminated hypothesis H82 (redundant, given H94).
---  Eliminated hypothesis H93 (redundant, given H25).
---  Eliminated hypothesis H94 (redundant, given H106).
---  Eliminated hypothesis H105 (redundant, given H25).
---  Eliminated hypothesis H106 (redundant, given H118).
---  Eliminated hypothesis H117 (redundant, given H25).
---  Eliminated hypothesis H118 (redundant, given H130).
---  Eliminated hypothesis H129 (redundant, given H25).
-S-  Eliminated hypothesis H5.
     This was achieved by replacing all occurrences of src_index by:
          src_offset + dst_index * 8.
<S>  New H6:  src_offset + dst_index * 8 >= src_offset
<S>  New H7:  src_offset + dst_index * 8 <= src_offset + 
          dst__index__subtype__1__last * 8
<S>  New H27:  src_offset + dst_index * 8 + 8 >= src__index__subtype__1__first
<S>  New H42:  src_offset + dst_index * 8 + 15 <= src__index__subtype__1__last
<S>  New H130:  src_offset + dst_index * 8 <= 2147483632
<S>  New H25:  src_offset + dst_index * 8 >= - 8
<S>  New H45:  element(src, [src_offset + dst_index * 8 + 9]) >= 0
<S>  New H59:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 9]), 8) >= 0
<S>  New H63:  element(src, [src_offset + dst_index * 8 + 10]) >= 0
<S>  New H71:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 10]), 16) >= 0
<S>  New H75:  element(src, [src_offset + dst_index * 8 + 11]) >= 0
<S>  New H83:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 11]), 24) >= 0
<S>  New H87:  element(src, [src_offset + dst_index * 8 + 12]) >= 0
<S>  New H95:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 12]), 32) >= 0
<S>  New H99:  element(src, [src_offset + dst_index * 8 + 13]) >= 0
<S>  New H107:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 13]), 40) >= 0
<S>  New H111:  element(src, [src_offset + dst_index * 8 + 14]) >= 0
<S>  New H119:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 14]), 48) >= 0
<S>  New H123:  element(src, [src_offset + dst_index * 8 + 15]) >= 0
<S>  New H131:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 15]), 56) >= 0
<S>  New H46:  element(src, [src_offset + dst_index * 8 + 9]) <= 
          18446744073709551615
<S>  New H60:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 9]), 8) <= 18446744073709551615
<S>  New H64:  element(src, [src_offset + dst_index * 8 + 10]) <= 
          18446744073709551615
<S>  New H72:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 10]), 16) <= 18446744073709551615
<S>  New H76:  element(src, [src_offset + dst_index * 8 + 11]) <= 
          18446744073709551615
<S>  New H84:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 11]), 24) <= 18446744073709551615
<S>  New H88:  element(src, [src_offset + dst_index * 8 + 12]) <= 
          18446744073709551615
<S>  New H96:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 12]), 32) <= 18446744073709551615
<S>  New H100:  element(src, [src_offset + dst_index * 8 + 13]) <= 
          18446744073709551615
<S>  New H108:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 13]), 40) <= 18446744073709551615
<S>  New H112:  element(src, [src_offset + dst_index * 8 + 14]) <= 
          18446744073709551615
<S>  New H120:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 14]), 48) <= 18446744073709551615
<S>  New H124:  element(src, [src_offset + dst_index * 8 + 15]) <= 
          18446744073709551615
<S>  New H132:  spark__unsigned__shift_left_64(element(src, [src_offset + 
          dst_index * 8 + 15]), 56) <= 18446744073709551615
<S>  New H53:  element(src, [src_offset + dst_index * 8 + 8]) >= 0
<S>  New H133:  (((((((element(src, [src_offset + dst_index * 8 + 8]) + 
          spark__unsigned__shift_left_64(element(src, [src_offset + dst_index * 
          8 + 9]), 8)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_offset + dst_index * 
          8 + 10]), 16)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_offset + dst_index * 
          8 + 11]), 24)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_offset + dst_index * 
          8 + 12]), 32)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_offset + dst_index * 
          8 + 13]), 40)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_offset + dst_index * 
          8 + 14]), 48)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_offset + dst_index * 
          8 + 15]), 56)) mod 18446744073709551616 >= 0
<S>  New H54:  element(src, [src_offset + dst_index * 8 + 8]) <= 
          18446744073709551615
<S>  New H134:  (((((((element(src, [src_offset + dst_index * 8 + 8]) + 
          spark__unsigned__shift_left_64(element(src, [src_offset + dst_index * 
          8 + 9]), 8)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_offset + dst_index * 
          8 + 10]), 16)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_offset + dst_index * 
          8 + 11]), 24)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_offset + dst_index * 
          8 + 12]), 32)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_offset + dst_index * 
          8 + 13]), 40)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_offset + dst_index * 
          8 + 14]), 48)) mod 18446744073709551616 + 
          spark__unsigned__shift_left_64(element(src, [src_offset + dst_index * 
          8 + 15]), 56)) mod 18446744073709551616 <= 18446744073709551615
<S>  New H9:  src_offset + dst_index * 8 <= 2147483639
<S>  New C7:  src_offset + dst_index * 8 + 8 <= src_offset + 
          dst__index__subtype__1__last * 8
<S>  New C9:  dst_index + 1 <> dst__index__subtype__1__last -> src_offset + 
          dst_index * 8 <= 2147483631
     +++  New H136:  integer__size >= 0
     +++  New H137:  natural__size >= 0
     +++  New H138:  spark__unsigned__byte__size >= 0
     +++  New H139:  spark__unsigned__u64__size >= 0
     +++  New H140:  spark__unsigned__shift_count__size >= 0
     +++  New H141:  spark__crypto__word_count_t__size >= 0
     +++  New H142:  dst__index__subtype__1__first <= 
          dst__index__subtype__1__last
     +++  New H143:  src__index__subtype__1__first <= 
          src__index__subtype__1__last
     +++  New H144:  src__index__subtype__1__first >= 0
     +++  New H145:  src__index__subtype__1__last >= 0
     +++  New H146:  src__index__subtype__1__last <= 2147483647
     +++  New H147:  src__index__subtype__1__first <= 2147483647
     +++  New H148:  dst__index__subtype__1__first >= 0
     +++  New H149:  dst__index__subtype__1__last >= 0
---  Attempted addition of new hypothesis:
          dst__index__subtype__1__last <= 268435455
     eliminated: this already exists (as H4).
     +++  New H4:  dst__index__subtype__1__last <= 268435455
     +++  New H150:  dst__index__subtype__1__first <= 268435455


@@@@@@@@@@  VC: procedure_get_64_lsb_first_23.  @@@@@@@@@@
%%%  Simplified H1 on reading formula in, to give:
     %%%  H1:  for_all(i_ : integer, dst__index__subtype__1__first <= i_ and i_ 
          <= dst_index -> spark__unsigned__u64__first <= element(dst, [i_]) and 
          element(dst, [i_]) <= spark__unsigned__u64__last)
%%%  Simplified H10 on reading formula in, to give:
     %%%  H10:  for_all(i___1 : integer, src__index__subtype__1__first <= i___1 
          and i___1 <= src__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(src, [i___1]) and element(
          src, [i___1]) <= spark__unsigned__byte__last)
-S-  Applied substitution rule get_64_lsb_f_rules(8).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H8:  dst_index <> dst__index__subtype__1__last -> dst_index <= 
          2147483646
<S>  New H9:  dst_index <> dst__index__subtype__1__last -> src_index <= 
          2147483639
<S>  New H12:  src_offset <= 2147483647
<S>  New H19:  src_offset + dst__index__subtype__1__last * 8 <= 2147483647
<S>  New C1:  dst_index <= 2147483646
>>>  Restructured hypothesis H20 into:
     >>>  H20:  dst_index <> dst__index__subtype__1__last
+++  Using "A->B, A |- B" on hypotheses H8 & H20 yields a new hypothesis:
     +++  H21:  dst_index <= 2147483646
+++  Using "A->B, A |- B" on hypotheses H9 & H20 yields a new hypothesis:
     +++  H22:  src_index <= 2147483639
-S-  Applied substitution rule get_64_lsb_f_rules(7).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H11:  src_offset >= 0
-S-  Applied substitution rule get_64_lsb_f_rules(26).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H10:  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__byte__last)
-S-  Applied substitution rule get_64_lsb_f_rules(27).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H10:  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]) <= 255)
-S-  Applied substitution rule get_64_lsb_f_rules(32).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H1:  for_all(i_ : integer, dst__index__subtype__1__first <= i_ and i_ 
          <= dst_index -> 0 <= element(dst, [i_]) and element(dst, [i_]) <= 
          spark__unsigned__u64__last)
-S-  Applied substitution rule get_64_lsb_f_rules(33).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H1:  for_all(i_ : integer, dst__index__subtype__1__first <= i_ and i_ 
          <= dst_index -> 0 <= element(dst, [i_]) and element(dst, [i_]) <= 
          18446744073709551615)
-S-  Applied substitution rule get_64_lsb_f_rules(44).
     This was achieved by replacing all occurrences of 
          spark__crypto__word_count_t__last by:
          268435455.
<S>  New H4:  dst__index__subtype__1__last <= 268435455
%%%  Hypotheses H3 & H20 together imply that
          dst_index < dst__index__subtype__1__last.
     H3 & H20 have therefore been deleted and a new H23 added to this effect.
***  Proved C1:  dst_index <= 2147483646
     using hypothesis H21.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_64_lsb_first_24.  @@@@@@@@@@
%%%  Simplified H1 on reading formula in, to give:
     %%%  H1:  for_all(i_ : integer, dst__index__subtype__1__first <= i_ and i_ 
          <= dst_index -> spark__unsigned__u64__first <= element(dst, [i_]) and 
          element(dst, [i_]) <= spark__unsigned__u64__last)
%%%  Simplified H10 on reading formula in, to give:
     %%%  H10:  for_all(i___1 : integer, src__index__subtype__1__first <= i___1 
          and i___1 <= src__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(src, [i___1]) and element(
          src, [i___1]) <= spark__unsigned__byte__last)
-S-  Applied substitution rule get_64_lsb_f_rules(43).
     This was achieved by replacing all occurrences of 
          spark__crypto__word_count_t__first by:
          0.
<S>  New C1:  dst_index >= - 1
-S-  Applied substitution rule get_64_lsb_f_rules(44).
     This was achieved by replacing all occurrences of 
          spark__crypto__word_count_t__last by:
          268435455.
<S>  New H4:  dst__index__subtype__1__last <= 268435455
<S>  New C2:  dst_index <= 268435454
***  Proved C1:  dst_index >= - 1
     using hypotheses H2 & H14.
***  Proved C2:  dst_index <= 268435454
     using hypotheses H3, H4 & H20.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_64_lsb_first_25.  @@@@@@@@@@
%%%  Simplified H1 on reading formula in, to give:
     %%%  H1:  for_all(i_ : integer, dst__index__subtype__1__first <= i_ and i_ 
          <= dst_index -> spark__unsigned__u64__first <= element(dst, [i_]) and 
          element(dst, [i_]) <= spark__unsigned__u64__last)
%%%  Simplified H10 on reading formula in, to give:
     %%%  H10:  for_all(i___1 : integer, src__index__subtype__1__first <= i___1 
          and i___1 <= src__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(src, [i___1]) and element(
          src, [i___1]) <= spark__unsigned__byte__last)
-S-  Applied substitution rule get_64_lsb_f_rules(8).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H8:  dst_index <> dst__index__subtype__1__last -> dst_index <= 
          2147483646
<S>  New H9:  dst_index <> dst__index__subtype__1__last -> src_index <= 
          2147483639
<S>  New H12:  src_offset <= 2147483647
<S>  New H19:  src_offset + dst__index__subtype__1__last * 8 <= 2147483647
<S>  New H21:  dst_index <= 2147483646
<S>  New C1:  src_index <= 2147483639
>>>  Restructured hypothesis H20 into:
     >>>  H20:  dst_index <> dst__index__subtype__1__last
---  Attempted addition of new hypothesis:
          dst_index <= 2147483646
     eliminated: this already exists (as H21).
+++  Using "A->B, A |- B" on hypotheses H8 & H20 yields a new hypothesis:
     +++  H21:  dst_index <= 2147483646
+++  Using "A->B, A |- B" on hypotheses H9 & H20 yields a new hypothesis:
     +++  H24:  src_index <= 2147483639
-S-  Applied substitution rule get_64_lsb_f_rules(7).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H11:  src_offset >= 0
-S-  Applied substitution rule get_64_lsb_f_rules(26).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H10:  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__byte__last)
-S-  Applied substitution rule get_64_lsb_f_rules(27).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H10:  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]) <= 255)
-S-  Applied substitution rule get_64_lsb_f_rules(32).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H1:  for_all(i_ : integer, dst__index__subtype__1__first <= i_ and i_ 
          <= dst_index -> 0 <= element(dst, [i_]) and element(dst, [i_]) <= 
          spark__unsigned__u64__last)
-S-  Applied substitution rule get_64_lsb_f_rules(33).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H1:  for_all(i_ : integer, dst__index__subtype__1__first <= i_ and i_ 
          <= dst_index -> 0 <= element(dst, [i_]) and element(dst, [i_]) <= 
          18446744073709551615)
-S-  Applied substitution rule get_64_lsb_f_rules(43).
     This was achieved by replacing all occurrences of 
          spark__crypto__word_count_t__first by:
          0.
<S>  New H22:  dst_index >= - 1
-S-  Applied substitution rule get_64_lsb_f_rules(44).
     This was achieved by replacing all occurrences of 
          spark__crypto__word_count_t__last by:
          268435455.
<S>  New H4:  dst__index__subtype__1__last <= 268435455
<S>  New H23:  dst_index <= 268435454
%%%  Hypotheses H3 & H20 together imply that
          dst_index < dst__index__subtype__1__last.
     H3 & H20 have therefore been deleted and a new H25 added to this effect.
***  Proved C1:  src_index <= 2147483639
     using hypothesis H24.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_64_lsb_first_26.  @@@@@@@@@@
%%%  Simplified H1 on reading formula in, to give:
     %%%  H1:  for_all(i_ : integer, dst__index__subtype__1__first <= i_ and i_ 
          <= dst_index -> spark__unsigned__u64__first <= element(dst, [i_]) and 
          element(dst, [i_]) <= spark__unsigned__u64__last)
%%%  Simplified H10 on reading formula in, to give:
     %%%  H10:  for_all(i___1 : integer, src__index__subtype__1__first <= i___1 
          and i___1 <= src__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(src, [i___1]) and element(
          src, [i___1]) <= spark__unsigned__byte__last)
***  Proved C1:  src_index + 8 >= natural__first
     using hypotheses H6 & H11.
***  Proved C2:  src_index + 8 <= natural__last
     using hypothesis H24.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_64_lsb_first_27.  @@@@@@@@@@
%%%  Simplified H1 on reading formula in, to give:
     %%%  H1:  for_all(i_ : integer, dst__index__subtype__1__first <= i_ and i_ 
          <= dst_index -> spark__unsigned__u64__first <= element(dst, [i_]) and 
          element(dst, [i_]) <= spark__unsigned__u64__last)
%%%  Simplified H10 on reading formula in, to give:
     %%%  H10:  for_all(i___1 : integer, src__index__subtype__1__first <= i___1 
          and i___1 <= src__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(src, [i___1]) and element(
          src, [i___1]) <= spark__unsigned__byte__last)
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  for_all(i_ : integer, dst__index__subtype__1__first <= i_ and i_ 
          <= dst__index__subtype__1__last -> spark__unsigned__u64__first <= 
          element(dst, [i_]) and element(dst, [i_]) <= 
          spark__unsigned__u64__last)
***  Proved C1:  for_all(i_ : integer, dst__index__subtype__1__first <= i_ and 
          i_ <= dst__index__subtype__1__last -> spark__unsigned__u64__first <= 
          element(dst, [i_]) and element(dst, [i_]) <= 
          spark__unsigned__u64__last)
     using hypotheses H1 & H20.
***  PROVED VC.

