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

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



SPARK Simplifier Pro Edition


procedure Skein.Skein_512_Process_Block.Threefish_Block






@@@@@@@@@@  VC: procedure_threefish_block_1.  @@@@@@@@@@
%%%  Simplified H2 on reading formula in, to give:
     %%%  H2:  for_all(i___1 : integer, spark__crypto__i9__first <= i___1 and 
          i___1 <= spark__crypto__i9__last -> spark__unsigned__u64__first <= 
          element(ks, [i___1]) and element(ks, [i___1]) <= 
          spark__unsigned__u64__last)
%%%  Simplified H3 on reading formula in, to give:
     %%%  H3:  for_all(i___1 : integer, spark__crypto__i3__first <= i___1 and 
          i___1 <= spark__crypto__i3__last -> spark__unsigned__u64__first <= 
          element(ts, [i___1]) and element(ts, [i___1]) <= 
          spark__unsigned__u64__last)
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> spark__unsigned__u64__first <= 
          element(x, [i___1]) and element(x, [i___1]) <= 
          spark__unsigned__u64__last)
%%%  Simplified C3 on reading formula in, to give:
     %%%  C3:  true
***  Proved C3:  true
-S-  Applied substitution rule threefish_bl_rules(9).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__first by:
          0.
<S>  New C1:  skein_512_rounds_total div 8 mod interfaces__unsigned_64__modulus 
          >= 0
<S>  New C4:  true
-S-  Applied substitution rule threefish_bl_rules(10).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__last by:
          18446744073709551615.
<S>  New C2:  skein_512_rounds_total div 8 mod interfaces__unsigned_64__modulus 
          <= 18446744073709551615
<S>  New C5:  true
***  Proved C4:  true
***  Proved C5:  true
-S-  Applied substitution rule threefish_bl_rules(1).
     This was achieved by replacing all occurrences of skein_512_rounds_total 
          by:
          72.
<S>  New C1:  9 mod interfaces__unsigned_64__modulus >= 0
<S>  New C2:  9 mod interfaces__unsigned_64__modulus <= 18446744073709551615
-S-  Applied substitution rule threefish_bl_rules(13).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__modulus by:
          18446744073709551616.
<S>  New C1:  true
<S>  New C2:  true
-S-  Applied substitution rule threefish_bl_rules(15).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H2:  for_all(i___1 : integer, spark__crypto__i9__first <= i___1 and 
          i___1 <= spark__crypto__i9__last -> 0 <= element(ks, [i___1]) and 
          element(ks, [i___1]) <= spark__unsigned__u64__last)
<S>  New H3:  for_all(i___1 : integer, spark__crypto__i3__first <= i___1 and 
          i___1 <= spark__crypto__i3__last -> 0 <= element(ts, [i___1]) and 
          element(ts, [i___1]) <= spark__unsigned__u64__last)
<S>  New H4:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> 0 <= element(x, [i___1]) and 
          element(x, [i___1]) <= spark__unsigned__u64__last)
-S-  Applied substitution rule threefish_bl_rules(16).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H2:  for_all(i___1 : integer, spark__crypto__i9__first <= i___1 and 
          i___1 <= spark__crypto__i9__last -> 0 <= element(ks, [i___1]) and 
          element(ks, [i___1]) <= 18446744073709551615)
<S>  New H3:  for_all(i___1 : integer, spark__crypto__i3__first <= i___1 and 
          i___1 <= spark__crypto__i3__last -> 0 <= element(ts, [i___1]) and 
          element(ts, [i___1]) <= 18446744073709551615)
<S>  New H4:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> 0 <= element(x, [i___1]) and 
          element(x, [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule threefish_bl_rules(21).
     This was achieved by replacing all occurrences of spark__crypto__i3__first 
          by:
          0.
<S>  New H3:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          spark__crypto__i3__last -> 0 <= element(ts, [i___1]) and element(ts, [
          i___1]) <= 18446744073709551615)
-S-  Applied substitution rule threefish_bl_rules(22).
     This was achieved by replacing all occurrences of spark__crypto__i3__last 
          by:
          2.
<S>  New H3:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 2 -> 0 <= 
          element(ts, [i___1]) and element(ts, [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule threefish_bl_rules(26).
     This was achieved by replacing all occurrences of spark__crypto__i8__first 
          by:
          0.
<S>  New H4:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          spark__crypto__i8__last -> 0 <= element(x, [i___1]) and element(x, [
          i___1]) <= 18446744073709551615)
-S-  Applied substitution rule threefish_bl_rules(27).
     This was achieved by replacing all occurrences of spark__crypto__i8__last 
          by:
          7.
<S>  New H4:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(x, [i___1]) and element(x, [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule threefish_bl_rules(31).
     This was achieved by replacing all occurrences of spark__crypto__i9__first 
          by:
          0.
<S>  New H2:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          spark__crypto__i9__last -> 0 <= element(ks, [i___1]) and element(ks, [
          i___1]) <= 18446744073709551615)
-S-  Applied substitution rule threefish_bl_rules(32).
     This was achieved by replacing all occurrences of spark__crypto__i9__last 
          by:
          8.
<S>  New H2:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 8 -> 0 <= 
          element(ks, [i___1]) and element(ks, [i___1]) <= 18446744073709551615)
***  Proved C1:  true
***  Proved C2:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_threefish_block_2.  @@@@@@@@@@
%%%  Simplified H2 on reading formula in, to give:
     %%%  H2:  for_all(i___1 : integer, spark__crypto__i9__first <= i___1 and 
          i___1 <= spark__crypto__i9__last -> spark__unsigned__u64__first <= 
          element(ks, [i___1]) and element(ks, [i___1]) <= 
          spark__unsigned__u64__last)
%%%  Simplified H3 on reading formula in, to give:
     %%%  H3:  for_all(i___1 : integer, spark__crypto__i3__first <= i___1 and 
          i___1 <= spark__crypto__i3__last -> spark__unsigned__u64__first <= 
          element(ts, [i___1]) and element(ts, [i___1]) <= 
          spark__unsigned__u64__last)
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> spark__unsigned__u64__first <= 
          element(x, [i___1]) and element(x, [i___1]) <= 
          spark__unsigned__u64__last)
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  true
-S-  Applied substitution rule threefish_bl_rules(1).
     This was achieved by replacing all occurrences of skein_512_rounds_total 
          by:
          72.
<S>  New H5:  9 mod interfaces__unsigned_64__modulus >= 
          interfaces__unsigned_64__first
<S>  New H6:  9 mod interfaces__unsigned_64__modulus <= 
          interfaces__unsigned_64__last
<S>  New C1:  1 <= 9 mod interfaces__unsigned_64__modulus -> 9 mod 
          interfaces__unsigned_64__modulus >= spark__unsigned__u64__first and 9 
          mod interfaces__unsigned_64__modulus <= spark__unsigned__u64__last
<S>  New C2:  1 <= 9 mod interfaces__unsigned_64__modulus -> 1 >= 
          spark__unsigned__u64__first and 1 <= spark__unsigned__u64__last
-S-  Applied substitution rule threefish_bl_rules(9).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__first by:
          0.
<S>  New H8:  true
<S>  New H5:  9 mod interfaces__unsigned_64__modulus >= 0
-S-  Applied substitution rule threefish_bl_rules(10).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__last by:
          18446744073709551615.
<S>  New H9:  true
<S>  New H6:  9 mod interfaces__unsigned_64__modulus <= 18446744073709551615
-S-  Applied substitution rule threefish_bl_rules(13).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__modulus by:
          18446744073709551616.
<S>  New H5:  true
<S>  New H6:  true
<S>  New C1:  9 >= spark__unsigned__u64__first and 9 <= 
          spark__unsigned__u64__last
<S>  New C2:  1 >= spark__unsigned__u64__first and 1 <= 
          spark__unsigned__u64__last
-S-  Applied substitution rule threefish_bl_rules(15).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H2:  for_all(i___1 : integer, spark__crypto__i9__first <= i___1 and 
          i___1 <= spark__crypto__i9__last -> 0 <= element(ks, [i___1]) and 
          element(ks, [i___1]) <= spark__unsigned__u64__last)
<S>  New H3:  for_all(i___1 : integer, spark__crypto__i3__first <= i___1 and 
          i___1 <= spark__crypto__i3__last -> 0 <= element(ts, [i___1]) and 
          element(ts, [i___1]) <= spark__unsigned__u64__last)
<S>  New H4:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> 0 <= element(x, [i___1]) and 
          element(x, [i___1]) <= spark__unsigned__u64__last)
<S>  New C1:  9 <= spark__unsigned__u64__last
<S>  New C2:  1 <= spark__unsigned__u64__last
-S-  Applied substitution rule threefish_bl_rules(16).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H2:  for_all(i___1 : integer, spark__crypto__i9__first <= i___1 and 
          i___1 <= spark__crypto__i9__last -> 0 <= element(ks, [i___1]) and 
          element(ks, [i___1]) <= 18446744073709551615)
<S>  New H3:  for_all(i___1 : integer, spark__crypto__i3__first <= i___1 and 
          i___1 <= spark__crypto__i3__last -> 0 <= element(ts, [i___1]) and 
          element(ts, [i___1]) <= 18446744073709551615)
<S>  New H4:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> 0 <= element(x, [i___1]) and 
          element(x, [i___1]) <= 18446744073709551615)
<S>  New C1:  true
<S>  New C2:  true
-S-  Applied substitution rule threefish_bl_rules(21).
     This was achieved by replacing all occurrences of spark__crypto__i3__first 
          by:
          0.
<S>  New H3:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          spark__crypto__i3__last -> 0 <= element(ts, [i___1]) and element(ts, [
          i___1]) <= 18446744073709551615)
-S-  Applied substitution rule threefish_bl_rules(22).
     This was achieved by replacing all occurrences of spark__crypto__i3__last 
          by:
          2.
<S>  New H3:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 2 -> 0 <= 
          element(ts, [i___1]) and element(ts, [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule threefish_bl_rules(26).
     This was achieved by replacing all occurrences of spark__crypto__i8__first 
          by:
          0.
<S>  New H4:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          spark__crypto__i8__last -> 0 <= element(x, [i___1]) and element(x, [
          i___1]) <= 18446744073709551615)
-S-  Applied substitution rule threefish_bl_rules(27).
     This was achieved by replacing all occurrences of spark__crypto__i8__last 
          by:
          7.
<S>  New H4:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(x, [i___1]) and element(x, [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule threefish_bl_rules(31).
     This was achieved by replacing all occurrences of spark__crypto__i9__first 
          by:
          0.
<S>  New H2:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          spark__crypto__i9__last -> 0 <= element(ks, [i___1]) and element(ks, [
          i___1]) <= 18446744073709551615)
-S-  Applied substitution rule threefish_bl_rules(32).
     This was achieved by replacing all occurrences of spark__crypto__i9__last 
          by:
          8.
<S>  New H2:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 8 -> 0 <= 
          element(ks, [i___1]) and element(ks, [i___1]) <= 18446744073709551615)
***  Proved C1:  true
***  Proved C2:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_threefish_block_3.  @@@@@@@@@@
%%%  Simplified H2 on reading formula in, to give:
     %%%  H2:  for_all(i___1 : integer, spark__crypto__i9__first <= i___1 and 
          i___1 <= spark__crypto__i9__last -> spark__unsigned__u64__first <= 
          element(ks, [i___1]) and element(ks, [i___1]) <= 
          spark__unsigned__u64__last)
%%%  Simplified H3 on reading formula in, to give:
     %%%  H3:  for_all(i___1 : integer, spark__crypto__i3__first <= i___1 and 
          i___1 <= spark__crypto__i3__last -> spark__unsigned__u64__first <= 
          element(ts, [i___1]) and element(ts, [i___1]) <= 
          spark__unsigned__u64__last)
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> spark__unsigned__u64__first <= 
          element(x, [i___1]) and element(x, [i___1]) <= 
          spark__unsigned__u64__last)
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  true
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  for_all(i___1 : integer, spark__crypto__i9__first <= i___1 and 
          i___1 <= spark__crypto__i9__last -> spark__unsigned__u64__first <= 
          element(ks, [i___1]) and element(ks, [i___1]) <= 
          spark__unsigned__u64__last)
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  for_all(i___1 : integer, spark__crypto__i3__first <= i___1 and 
          i___1 <= spark__crypto__i3__last -> spark__unsigned__u64__first <= 
          element(ts, [i___1]) and element(ts, [i___1]) <= 
          spark__unsigned__u64__last)
%%%  Simplified C3 on reading formula in, to give:
     %%%  C3:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> spark__unsigned__u64__first <= 
          element(x, [i___1]) and element(x, [i___1]) <= 
          spark__unsigned__u64__last)
%%%  Simplified C6 on reading formula in, to give:
     %%%  C6:  true
***  Proved C1:  for_all(i___1 : integer, spark__crypto__i9__first <= i___1 and 
          i___1 <= spark__crypto__i9__last -> spark__unsigned__u64__first <= 
          element(ks, [i___1]) and element(ks, [i___1]) <= 
          spark__unsigned__u64__last)
     using hypothesis H2.
***  Proved C2:  for_all(i___1 : integer, spark__crypto__i3__first <= i___1 and 
          i___1 <= spark__crypto__i3__last -> spark__unsigned__u64__first <= 
          element(ts, [i___1]) and element(ts, [i___1]) <= 
          spark__unsigned__u64__last)
     using hypothesis H3.
***  Proved C3:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> spark__unsigned__u64__first <= 
          element(x, [i___1]) and element(x, [i___1]) <= 
          spark__unsigned__u64__last)
     using hypothesis H4.
***  Proved C6:  true
***  Proved C7:  1 <= skein_512_rounds_total div 8 mod 
          interfaces__unsigned_64__modulus
     using hypothesis H12.
-S-  Applied substitution rule threefish_bl_rules(15).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H2:  for_all(i___1 : integer, spark__crypto__i9__first <= i___1 and 
          i___1 <= spark__crypto__i9__last -> 0 <= element(ks, [i___1]) and 
          element(ks, [i___1]) <= spark__unsigned__u64__last)
<S>  New H3:  for_all(i___1 : integer, spark__crypto__i3__first <= i___1 and 
          i___1 <= spark__crypto__i3__last -> 0 <= element(ts, [i___1]) and 
          element(ts, [i___1]) <= spark__unsigned__u64__last)
<S>  New H4:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> 0 <= element(x, [i___1]) and 
          element(x, [i___1]) <= spark__unsigned__u64__last)
<S>  New H10:  1 <= skein_512_rounds_total div 8 mod 
          interfaces__unsigned_64__modulus -> skein_512_rounds_total div 8 mod 
          interfaces__unsigned_64__modulus >= 0 and skein_512_rounds_total div 
          8 mod interfaces__unsigned_64__modulus <= spark__unsigned__u64__last
<S>  New H11:  1 <= skein_512_rounds_total div 8 mod 
          interfaces__unsigned_64__modulus -> 1 <= spark__unsigned__u64__last
<S>  New C4:  true
-S-  Applied substitution rule threefish_bl_rules(16).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H2:  for_all(i___1 : integer, spark__crypto__i9__first <= i___1 and 
          i___1 <= spark__crypto__i9__last -> 0 <= element(ks, [i___1]) and 
          element(ks, [i___1]) <= 18446744073709551615)
<S>  New H3:  for_all(i___1 : integer, spark__crypto__i3__first <= i___1 and 
          i___1 <= spark__crypto__i3__last -> 0 <= element(ts, [i___1]) and 
          element(ts, [i___1]) <= 18446744073709551615)
<S>  New H4:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> 0 <= element(x, [i___1]) and 
          element(x, [i___1]) <= 18446744073709551615)
<S>  New H10:  1 <= skein_512_rounds_total div 8 mod 
          interfaces__unsigned_64__modulus -> skein_512_rounds_total div 8 mod 
          interfaces__unsigned_64__modulus >= 0 and skein_512_rounds_total div 
          8 mod interfaces__unsigned_64__modulus <= 18446744073709551615
<S>  New H11:  true
<S>  New C5:  true
***  Proved C4:  true
***  Proved C5:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_threefish_block_4.  @@@@@@@@@@
%%%  Simplified H1 on reading formula in, to give:
     %%%  H1:  for_all(i___1 : integer, spark__crypto__i9__first <= i___1 and 
          i___1 <= spark__crypto__i9__last -> spark__unsigned__u64__first <= 
          element(ks, [i___1]) and element(ks, [i___1]) <= 
          spark__unsigned__u64__last)
%%%  Simplified H2 on reading formula in, to give:
     %%%  H2:  for_all(i___1 : integer, spark__crypto__i3__first <= i___1 and 
          i___1 <= spark__crypto__i3__last -> spark__unsigned__u64__first <= 
          element(ts, [i___1]) and element(ts, [i___1]) <= 
          spark__unsigned__u64__last)
%%%  Simplified H3 on reading formula in, to give:
     %%%  H3:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> spark__unsigned__u64__first <= 
          element(x, [i___1]) and element(x, [i___1]) <= 
          spark__unsigned__u64__last)
%%%  Simplified H8 on reading formula in, to give:
     %%%  H8:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> spark__unsigned__u64__first <= 
          element(x__1, [i___1]) and element(x__1, [i___1]) <= 
          spark__unsigned__u64__last)
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> spark__unsigned__u64__first <= 
          element(x__2, [i___1]) and element(x__2, [i___1]) <= 
          spark__unsigned__u64__last)
%%%  Simplified H10 on reading formula in, to give:
     %%%  H10:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> spark__unsigned__u64__first <= 
          element(x__3, [i___1]) and element(x__3, [i___1]) <= 
          spark__unsigned__u64__last)
%%%  Simplified H11 on reading formula in, to give:
     %%%  H11:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> spark__unsigned__u64__first <= 
          element(x__4, [i___1]) and element(x__4, [i___1]) <= 
          spark__unsigned__u64__last)
%%%  Simplified H14 on reading formula in, to give:
     %%%  H14:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> spark__unsigned__u64__first <= 
          element(x__5, [i___1]) and element(x__5, [i___1]) <= 
          spark__unsigned__u64__last)
%%%  Simplified H15 on reading formula in, to give:
     %%%  H15:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> spark__unsigned__u64__first <= 
          element(x__6, [i___1]) and element(x__6, [i___1]) <= 
          spark__unsigned__u64__last)
%%%  Simplified H16 on reading formula in, to give:
     %%%  H16:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> spark__unsigned__u64__first <= 
          element(x__7, [i___1]) and element(x__7, [i___1]) <= 
          spark__unsigned__u64__last)
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> spark__unsigned__u64__first <= 
          element(x__8, [i___1]) and element(x__8, [i___1]) <= 
          spark__unsigned__u64__last)
%%%  Simplified H18 on reading formula in, to give:
     %%%  H18:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> spark__unsigned__u64__first <= 
          element(x__9, [i___1]) and element(x__9, [i___1]) <= 
          spark__unsigned__u64__last)
%%%  Simplified H21 on reading formula in, to give:
     %%%  H21:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> spark__unsigned__u64__first <= 
          element(x__10, [i___1]) and element(x__10, [i___1]) <= 
          spark__unsigned__u64__last)
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  for_all(i___1 : integer, spark__crypto__i9__first <= i___1 and 
          i___1 <= spark__crypto__i9__last -> spark__unsigned__u64__first <= 
          element(ks, [i___1]) and element(ks, [i___1]) <= 
          spark__unsigned__u64__last)
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  for_all(i___1 : integer, spark__crypto__i3__first <= i___1 and 
          i___1 <= spark__crypto__i3__last -> spark__unsigned__u64__first <= 
          element(ts, [i___1]) and element(ts, [i___1]) <= 
          spark__unsigned__u64__last)
%%%  Simplified C3 on reading formula in, to give:
     %%%  C3:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> spark__unsigned__u64__first <= 
          element(x__10, [i___1]) and element(x__10, [i___1]) <= 
          spark__unsigned__u64__last)
%%%  Simplified C6 on reading formula in, to give:
     %%%  C6:  loop__1__r >= 0
***  Proved C1:  for_all(i___1 : integer, spark__crypto__i9__first <= i___1 and 
          i___1 <= spark__crypto__i9__last -> spark__unsigned__u64__first <= 
          element(ks, [i___1]) and element(ks, [i___1]) <= 
          spark__unsigned__u64__last)
     using hypothesis H1.
***  Proved C2:  for_all(i___1 : integer, spark__crypto__i3__first <= i___1 and 
          i___1 <= spark__crypto__i3__last -> spark__unsigned__u64__first <= 
          element(ts, [i___1]) and element(ts, [i___1]) <= 
          spark__unsigned__u64__last)
     using hypothesis H2.
***  Proved C3:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> spark__unsigned__u64__first <= 
          element(x__10, [i___1]) and element(x__10, [i___1]) <= 
          spark__unsigned__u64__last)
     using hypothesis H21.
***  Proved C4:  loop__1__r + 1 >= spark__unsigned__u64__first
     using hypothesis H4.
***  Proved C6:  loop__1__r >= 0
     using hypothesis H6.
-S-  Applied substitution rule threefish_bl_rules(16).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H1:  for_all(i___1 : integer, spark__crypto__i9__first <= i___1 and 
          i___1 <= spark__crypto__i9__last -> spark__unsigned__u64__first <= 
          element(ks, [i___1]) and element(ks, [i___1]) <= 18446744073709551615)
<S>  New H2:  for_all(i___1 : integer, spark__crypto__i3__first <= i___1 and 
          i___1 <= spark__crypto__i3__last -> spark__unsigned__u64__first <= 
          element(ts, [i___1]) and element(ts, [i___1]) <= 18446744073709551615)
<S>  New H3:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> spark__unsigned__u64__first <= 
          element(x, [i___1]) and element(x, [i___1]) <= 18446744073709551615)
<S>  New H5:  loop__1__r <= 18446744073709551615
<S>  New H8:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> spark__unsigned__u64__first <= 
          element(x__1, [i___1]) and element(x__1, [i___1]) <= 
          18446744073709551615)
<S>  New H9:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> spark__unsigned__u64__first <= 
          element(x__2, [i___1]) and element(x__2, [i___1]) <= 
          18446744073709551615)
<S>  New H10:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> spark__unsigned__u64__first <= 
          element(x__3, [i___1]) and element(x__3, [i___1]) <= 
          18446744073709551615)
<S>  New H11:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> spark__unsigned__u64__first <= 
          element(x__4, [i___1]) and element(x__4, [i___1]) <= 
          18446744073709551615)
<S>  New H13:  (loop__1__r * 2 mod interfaces__unsigned_64__modulus - 1) mod 
          interfaces__unsigned_64__modulus <= 18446744073709551615
<S>  New H14:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> spark__unsigned__u64__first <= 
          element(x__5, [i___1]) and element(x__5, [i___1]) <= 
          18446744073709551615)
<S>  New H15:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> spark__unsigned__u64__first <= 
          element(x__6, [i___1]) and element(x__6, [i___1]) <= 
          18446744073709551615)
<S>  New H16:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> spark__unsigned__u64__first <= 
          element(x__7, [i___1]) and element(x__7, [i___1]) <= 
          18446744073709551615)
<S>  New H17:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> spark__unsigned__u64__first <= 
          element(x__8, [i___1]) and element(x__8, [i___1]) <= 
          18446744073709551615)
<S>  New H18:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> spark__unsigned__u64__first <= 
          element(x__9, [i___1]) and element(x__9, [i___1]) <= 
          18446744073709551615)
<S>  New H20:  loop__1__r * 2 mod interfaces__unsigned_64__modulus <= 
          18446744073709551615
<S>  New H21:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> spark__unsigned__u64__first <= 
          element(x__10, [i___1]) and element(x__10, [i___1]) <= 
          18446744073709551615)
<S>  New C5:  loop__1__r <= 18446744073709551614
>>>  Restructured hypothesis H22 into:
     >>>  H22:  loop__1__r <> skein_512_rounds_total div 8 mod 
          interfaces__unsigned_64__modulus
-S-  Applied substitution rule threefish_bl_rules(1).
     This was achieved by replacing all occurrences of skein_512_rounds_total 
          by:
          72.
<S>  New H7:  loop__1__r <= 9 mod interfaces__unsigned_64__modulus
<S>  New H22:  loop__1__r <> 9 mod interfaces__unsigned_64__modulus
<S>  New C7:  loop__1__r + 1 <= 9 mod interfaces__unsigned_64__modulus
-S-  Applied substitution rule threefish_bl_rules(13).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__modulus by:
          18446744073709551616.
<S>  New H12:  (loop__1__r * 2 mod 18446744073709551616 - 1) mod 
          18446744073709551616 >= spark__unsigned__u64__first
<S>  New H13:  (loop__1__r * 2 mod 18446744073709551616 - 1) mod 
          18446744073709551616 <= 18446744073709551615
<S>  New H19:  loop__1__r * 2 mod 18446744073709551616 >= 
          spark__unsigned__u64__first
<S>  New H20:  loop__1__r * 2 mod 18446744073709551616 <= 18446744073709551615
<S>  New H7:  loop__1__r <= 9
<S>  New H22:  loop__1__r <> 9
<S>  New C7:  loop__1__r <= 8
-S-  Applied substitution rule threefish_bl_rules(15).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H1:  for_all(i___1 : integer, spark__crypto__i9__first <= i___1 and 
          i___1 <= spark__crypto__i9__last -> 0 <= element(ks, [i___1]) and 
          element(ks, [i___1]) <= 18446744073709551615)
<S>  New H2:  for_all(i___1 : integer, spark__crypto__i3__first <= i___1 and 
          i___1 <= spark__crypto__i3__last -> 0 <= element(ts, [i___1]) and 
          element(ts, [i___1]) <= 18446744073709551615)
<S>  New H3:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> 0 <= element(x, [i___1]) and 
          element(x, [i___1]) <= 18446744073709551615)
<S>  New H4:  loop__1__r >= 0
<S>  New H8:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> 0 <= element(x__1, [i___1]) and 
          element(x__1, [i___1]) <= 18446744073709551615)
<S>  New H9:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> 0 <= element(x__2, [i___1]) and 
          element(x__2, [i___1]) <= 18446744073709551615)
<S>  New H10:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> 0 <= element(x__3, [i___1]) and 
          element(x__3, [i___1]) <= 18446744073709551615)
<S>  New H11:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> 0 <= element(x__4, [i___1]) and 
          element(x__4, [i___1]) <= 18446744073709551615)
<S>  New H14:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> 0 <= element(x__5, [i___1]) and 
          element(x__5, [i___1]) <= 18446744073709551615)
<S>  New H15:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> 0 <= element(x__6, [i___1]) and 
          element(x__6, [i___1]) <= 18446744073709551615)
<S>  New H16:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> 0 <= element(x__7, [i___1]) and 
          element(x__7, [i___1]) <= 18446744073709551615)
<S>  New H17:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> 0 <= element(x__8, [i___1]) and 
          element(x__8, [i___1]) <= 18446744073709551615)
<S>  New H18:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> 0 <= element(x__9, [i___1]) and 
          element(x__9, [i___1]) <= 18446744073709551615)
<S>  New H21:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> 0 <= element(x__10, [i___1]) and 
          element(x__10, [i___1]) <= 18446744073709551615)
<S>  New H12:  (loop__1__r * 2 mod 18446744073709551616 - 1) mod 
          18446744073709551616 >= 0
<S>  New H19:  loop__1__r * 2 mod 18446744073709551616 >= 0
-S-  Applied substitution rule threefish_bl_rules(21).
     This was achieved by replacing all occurrences of spark__crypto__i3__first 
          by:
          0.
<S>  New H2:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          spark__crypto__i3__last -> 0 <= element(ts, [i___1]) and element(ts, [
          i___1]) <= 18446744073709551615)
-S-  Applied substitution rule threefish_bl_rules(22).
     This was achieved by replacing all occurrences of spark__crypto__i3__last 
          by:
          2.
<S>  New H2:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 2 -> 0 <= 
          element(ts, [i___1]) and element(ts, [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule threefish_bl_rules(26).
     This was achieved by replacing all occurrences of spark__crypto__i8__first 
          by:
          0.
<S>  New H3:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          spark__crypto__i8__last -> 0 <= element(x, [i___1]) and element(x, [
          i___1]) <= 18446744073709551615)
<S>  New H8:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          spark__crypto__i8__last -> 0 <= element(x__1, [i___1]) and element(
          x__1, [i___1]) <= 18446744073709551615)
<S>  New H9:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          spark__crypto__i8__last -> 0 <= element(x__2, [i___1]) and element(
          x__2, [i___1]) <= 18446744073709551615)
<S>  New H10:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          spark__crypto__i8__last -> 0 <= element(x__3, [i___1]) and element(
          x__3, [i___1]) <= 18446744073709551615)
<S>  New H11:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          spark__crypto__i8__last -> 0 <= element(x__4, [i___1]) and element(
          x__4, [i___1]) <= 18446744073709551615)
<S>  New H14:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          spark__crypto__i8__last -> 0 <= element(x__5, [i___1]) and element(
          x__5, [i___1]) <= 18446744073709551615)
<S>  New H15:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          spark__crypto__i8__last -> 0 <= element(x__6, [i___1]) and element(
          x__6, [i___1]) <= 18446744073709551615)
<S>  New H16:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          spark__crypto__i8__last -> 0 <= element(x__7, [i___1]) and element(
          x__7, [i___1]) <= 18446744073709551615)
<S>  New H17:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          spark__crypto__i8__last -> 0 <= element(x__8, [i___1]) and element(
          x__8, [i___1]) <= 18446744073709551615)
<S>  New H18:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          spark__crypto__i8__last -> 0 <= element(x__9, [i___1]) and element(
          x__9, [i___1]) <= 18446744073709551615)
<S>  New H21:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          spark__crypto__i8__last -> 0 <= element(x__10, [i___1]) and element(
          x__10, [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule threefish_bl_rules(27).
     This was achieved by replacing all occurrences of spark__crypto__i8__last 
          by:
          7.
<S>  New H3:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(x, [i___1]) and element(x, [i___1]) <= 18446744073709551615)
<S>  New H8:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(x__1, [i___1]) and element(x__1, [i___1]) <= 
          18446744073709551615)
<S>  New H9:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(x__2, [i___1]) and element(x__2, [i___1]) <= 
          18446744073709551615)
<S>  New H10:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(x__3, [i___1]) and element(x__3, [i___1]) <= 
          18446744073709551615)
<S>  New H11:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(x__4, [i___1]) and element(x__4, [i___1]) <= 
          18446744073709551615)
<S>  New H14:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(x__5, [i___1]) and element(x__5, [i___1]) <= 
          18446744073709551615)
<S>  New H15:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(x__6, [i___1]) and element(x__6, [i___1]) <= 
          18446744073709551615)
<S>  New H16:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(x__7, [i___1]) and element(x__7, [i___1]) <= 
          18446744073709551615)
<S>  New H17:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(x__8, [i___1]) and element(x__8, [i___1]) <= 
          18446744073709551615)
<S>  New H18:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(x__9, [i___1]) and element(x__9, [i___1]) <= 
          18446744073709551615)
<S>  New H21:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(x__10, [i___1]) and element(x__10, [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule threefish_bl_rules(31).
     This was achieved by replacing all occurrences of spark__crypto__i9__first 
          by:
          0.
<S>  New H1:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          spark__crypto__i9__last -> 0 <= element(ks, [i___1]) and element(ks, [
          i___1]) <= 18446744073709551615)
-S-  Applied substitution rule threefish_bl_rules(32).
     This was achieved by replacing all occurrences of spark__crypto__i9__last 
          by:
          8.
<S>  New H1:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 8 -> 0 <= 
          element(ks, [i___1]) and element(ks, [i___1]) <= 18446744073709551615)
%%%  Hypotheses H7 & H22 together imply that
          loop__1__r < 9.
     H7 & H22 have therefore been deleted and a new H23 added to this effect.
***  Proved C5:  loop__1__r <= 18446744073709551614
     using hypothesis H23.
***  Proved C7:  loop__1__r <= 8
     using hypothesis H23.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_threefish_block_5.  @@@@@@@@@@
%%%  Simplified H1 on reading formula in, to give:
     %%%  H1:  for_all(i___1 : integer, spark__crypto__i9__first <= i___1 and 
          i___1 <= spark__crypto__i9__last -> spark__unsigned__u64__first <= 
          element(ks, [i___1]) and element(ks, [i___1]) <= 
          spark__unsigned__u64__last)
%%%  Simplified H2 on reading formula in, to give:
     %%%  H2:  for_all(i___1 : integer, spark__crypto__i3__first <= i___1 and 
          i___1 <= spark__crypto__i3__last -> spark__unsigned__u64__first <= 
          element(ts, [i___1]) and element(ts, [i___1]) <= 
          spark__unsigned__u64__last)
%%%  Simplified H3 on reading formula in, to give:
     %%%  H3:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> spark__unsigned__u64__first <= 
          element(x, [i___1]) and element(x, [i___1]) <= 
          spark__unsigned__u64__last)
%%%  Simplified H8 on reading formula in, to give:
     %%%  H8:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> spark__unsigned__u64__first <= 
          element(x__1, [i___1]) and element(x__1, [i___1]) <= 
          spark__unsigned__u64__last)
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> spark__unsigned__u64__first <= 
          element(x__2, [i___1]) and element(x__2, [i___1]) <= 
          spark__unsigned__u64__last)
%%%  Simplified H10 on reading formula in, to give:
     %%%  H10:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> spark__unsigned__u64__first <= 
          element(x__3, [i___1]) and element(x__3, [i___1]) <= 
          spark__unsigned__u64__last)
%%%  Simplified H11 on reading formula in, to give:
     %%%  H11:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> spark__unsigned__u64__first <= 
          element(x__4, [i___1]) and element(x__4, [i___1]) <= 
          spark__unsigned__u64__last)
-S-  Applied substitution rule threefish_bl_rules(15).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H1:  for_all(i___1 : integer, spark__crypto__i9__first <= i___1 and 
          i___1 <= spark__crypto__i9__last -> 0 <= element(ks, [i___1]) and 
          element(ks, [i___1]) <= spark__unsigned__u64__last)
<S>  New H2:  for_all(i___1 : integer, spark__crypto__i3__first <= i___1 and 
          i___1 <= spark__crypto__i3__last -> 0 <= element(ts, [i___1]) and 
          element(ts, [i___1]) <= spark__unsigned__u64__last)
<S>  New H3:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> 0 <= element(x, [i___1]) and 
          element(x, [i___1]) <= spark__unsigned__u64__last)
<S>  New H4:  loop__1__r >= 0
<S>  New H8:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> 0 <= element(x__1, [i___1]) and 
          element(x__1, [i___1]) <= spark__unsigned__u64__last)
<S>  New H9:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> 0 <= element(x__2, [i___1]) and 
          element(x__2, [i___1]) <= spark__unsigned__u64__last)
<S>  New H10:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> 0 <= element(x__3, [i___1]) and 
          element(x__3, [i___1]) <= spark__unsigned__u64__last)
<S>  New H11:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> 0 <= element(x__4, [i___1]) and 
          element(x__4, [i___1]) <= spark__unsigned__u64__last)
<S>  New C1:  (loop__1__r * 2 mod interfaces__unsigned_64__modulus - 1) mod 
          interfaces__unsigned_64__modulus >= 0
-S-  Applied substitution rule threefish_bl_rules(16).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H5:  loop__1__r <= 18446744073709551615
<S>  New H1:  for_all(i___1 : integer, spark__crypto__i9__first <= i___1 and 
          i___1 <= spark__crypto__i9__last -> 0 <= element(ks, [i___1]) and 
          element(ks, [i___1]) <= 18446744073709551615)
<S>  New H2:  for_all(i___1 : integer, spark__crypto__i3__first <= i___1 and 
          i___1 <= spark__crypto__i3__last -> 0 <= element(ts, [i___1]) and 
          element(ts, [i___1]) <= 18446744073709551615)
<S>  New H3:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> 0 <= element(x, [i___1]) and 
          element(x, [i___1]) <= 18446744073709551615)
<S>  New H8:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> 0 <= element(x__1, [i___1]) and 
          element(x__1, [i___1]) <= 18446744073709551615)
<S>  New H9:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> 0 <= element(x__2, [i___1]) and 
          element(x__2, [i___1]) <= 18446744073709551615)
<S>  New H10:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> 0 <= element(x__3, [i___1]) and 
          element(x__3, [i___1]) <= 18446744073709551615)
<S>  New H11:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> 0 <= element(x__4, [i___1]) and 
          element(x__4, [i___1]) <= 18446744073709551615)
<S>  New C2:  (loop__1__r * 2 mod interfaces__unsigned_64__modulus - 1) mod 
          interfaces__unsigned_64__modulus <= 18446744073709551615
-S-  Applied substitution rule threefish_bl_rules(1).
     This was achieved by replacing all occurrences of skein_512_rounds_total 
          by:
          72.
<S>  New H7:  loop__1__r <= 9 mod interfaces__unsigned_64__modulus
-S-  Applied substitution rule threefish_bl_rules(13).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__modulus by:
          18446744073709551616.
<S>  New H7:  loop__1__r <= 9
<S>  New C1:  (loop__1__r * 2 mod 18446744073709551616 - 1) mod 
          18446744073709551616 >= 0
<S>  New C2:  (loop__1__r * 2 mod 18446744073709551616 - 1) mod 
          18446744073709551616 <= 18446744073709551615
-S-  Applied substitution rule threefish_bl_rules(21).
     This was achieved by replacing all occurrences of spark__crypto__i3__first 
          by:
          0.
<S>  New H2:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          spark__crypto__i3__last -> 0 <= element(ts, [i___1]) and element(ts, [
          i___1]) <= 18446744073709551615)
-S-  Applied substitution rule threefish_bl_rules(22).
     This was achieved by replacing all occurrences of spark__crypto__i3__last 
          by:
          2.
<S>  New H2:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 2 -> 0 <= 
          element(ts, [i___1]) and element(ts, [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule threefish_bl_rules(26).
     This was achieved by replacing all occurrences of spark__crypto__i8__first 
          by:
          0.
<S>  New H3:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          spark__crypto__i8__last -> 0 <= element(x, [i___1]) and element(x, [
          i___1]) <= 18446744073709551615)
<S>  New H8:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          spark__crypto__i8__last -> 0 <= element(x__1, [i___1]) and element(
          x__1, [i___1]) <= 18446744073709551615)
<S>  New H9:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          spark__crypto__i8__last -> 0 <= element(x__2, [i___1]) and element(
          x__2, [i___1]) <= 18446744073709551615)
<S>  New H10:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          spark__crypto__i8__last -> 0 <= element(x__3, [i___1]) and element(
          x__3, [i___1]) <= 18446744073709551615)
<S>  New H11:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          spark__crypto__i8__last -> 0 <= element(x__4, [i___1]) and element(
          x__4, [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule threefish_bl_rules(27).
     This was achieved by replacing all occurrences of spark__crypto__i8__last 
          by:
          7.
<S>  New H3:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(x, [i___1]) and element(x, [i___1]) <= 18446744073709551615)
<S>  New H8:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(x__1, [i___1]) and element(x__1, [i___1]) <= 
          18446744073709551615)
<S>  New H9:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(x__2, [i___1]) and element(x__2, [i___1]) <= 
          18446744073709551615)
<S>  New H10:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(x__3, [i___1]) and element(x__3, [i___1]) <= 
          18446744073709551615)
<S>  New H11:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(x__4, [i___1]) and element(x__4, [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule threefish_bl_rules(31).
     This was achieved by replacing all occurrences of spark__crypto__i9__first 
          by:
          0.
<S>  New H1:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          spark__crypto__i9__last -> 0 <= element(ks, [i___1]) and element(ks, [
          i___1]) <= 18446744073709551615)
-S-  Applied substitution rule threefish_bl_rules(32).
     This was achieved by replacing all occurrences of spark__crypto__i9__last 
          by:
          8.
<S>  New H1:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 8 -> 0 <= 
          element(ks, [i___1]) and element(ks, [i___1]) <= 18446744073709551615)
***  Proved C1:  (loop__1__r * 2 mod 18446744073709551616 - 1) mod 
          18446744073709551616 >= 0
***  Proved C2:  (loop__1__r * 2 mod 18446744073709551616 - 1) mod 
          18446744073709551616 <= 18446744073709551615
***  PROVED VC.


@@@@@@@@@@  VC: procedure_threefish_block_6.  @@@@@@@@@@
%%%  Simplified H1 on reading formula in, to give:
     %%%  H1:  for_all(i___1 : integer, spark__crypto__i9__first <= i___1 and 
          i___1 <= spark__crypto__i9__last -> spark__unsigned__u64__first <= 
          element(ks, [i___1]) and element(ks, [i___1]) <= 
          spark__unsigned__u64__last)
%%%  Simplified H2 on reading formula in, to give:
     %%%  H2:  for_all(i___1 : integer, spark__crypto__i3__first <= i___1 and 
          i___1 <= spark__crypto__i3__last -> spark__unsigned__u64__first <= 
          element(ts, [i___1]) and element(ts, [i___1]) <= 
          spark__unsigned__u64__last)
%%%  Simplified H3 on reading formula in, to give:
     %%%  H3:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> spark__unsigned__u64__first <= 
          element(x, [i___1]) and element(x, [i___1]) <= 
          spark__unsigned__u64__last)
%%%  Simplified H8 on reading formula in, to give:
     %%%  H8:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> spark__unsigned__u64__first <= 
          element(x__1, [i___1]) and element(x__1, [i___1]) <= 
          spark__unsigned__u64__last)
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> spark__unsigned__u64__first <= 
          element(x__2, [i___1]) and element(x__2, [i___1]) <= 
          spark__unsigned__u64__last)
%%%  Simplified H10 on reading formula in, to give:
     %%%  H10:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> spark__unsigned__u64__first <= 
          element(x__3, [i___1]) and element(x__3, [i___1]) <= 
          spark__unsigned__u64__last)
%%%  Simplified H11 on reading formula in, to give:
     %%%  H11:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> spark__unsigned__u64__first <= 
          element(x__4, [i___1]) and element(x__4, [i___1]) <= 
          spark__unsigned__u64__last)
%%%  Simplified H14 on reading formula in, to give:
     %%%  H14:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> spark__unsigned__u64__first <= 
          element(x__5, [i___1]) and element(x__5, [i___1]) <= 
          spark__unsigned__u64__last)
%%%  Simplified H15 on reading formula in, to give:
     %%%  H15:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> spark__unsigned__u64__first <= 
          element(x__6, [i___1]) and element(x__6, [i___1]) <= 
          spark__unsigned__u64__last)
%%%  Simplified H16 on reading formula in, to give:
     %%%  H16:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> spark__unsigned__u64__first <= 
          element(x__7, [i___1]) and element(x__7, [i___1]) <= 
          spark__unsigned__u64__last)
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> spark__unsigned__u64__first <= 
          element(x__8, [i___1]) and element(x__8, [i___1]) <= 
          spark__unsigned__u64__last)
%%%  Simplified H18 on reading formula in, to give:
     %%%  H18:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> spark__unsigned__u64__first <= 
          element(x__9, [i___1]) and element(x__9, [i___1]) <= 
          spark__unsigned__u64__last)
-S-  Applied substitution rule threefish_bl_rules(15).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H1:  for_all(i___1 : integer, spark__crypto__i9__first <= i___1 and 
          i___1 <= spark__crypto__i9__last -> 0 <= element(ks, [i___1]) and 
          element(ks, [i___1]) <= spark__unsigned__u64__last)
<S>  New H2:  for_all(i___1 : integer, spark__crypto__i3__first <= i___1 and 
          i___1 <= spark__crypto__i3__last -> 0 <= element(ts, [i___1]) and 
          element(ts, [i___1]) <= spark__unsigned__u64__last)
<S>  New H3:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> 0 <= element(x, [i___1]) and 
          element(x, [i___1]) <= spark__unsigned__u64__last)
<S>  New H4:  loop__1__r >= 0
<S>  New H8:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> 0 <= element(x__1, [i___1]) and 
          element(x__1, [i___1]) <= spark__unsigned__u64__last)
<S>  New H9:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> 0 <= element(x__2, [i___1]) and 
          element(x__2, [i___1]) <= spark__unsigned__u64__last)
<S>  New H10:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> 0 <= element(x__3, [i___1]) and 
          element(x__3, [i___1]) <= spark__unsigned__u64__last)
<S>  New H11:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> 0 <= element(x__4, [i___1]) and 
          element(x__4, [i___1]) <= spark__unsigned__u64__last)
<S>  New H12:  (loop__1__r * 2 mod interfaces__unsigned_64__modulus - 1) mod 
          interfaces__unsigned_64__modulus >= 0
<S>  New H14:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> 0 <= element(x__5, [i___1]) and 
          element(x__5, [i___1]) <= spark__unsigned__u64__last)
<S>  New H15:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> 0 <= element(x__6, [i___1]) and 
          element(x__6, [i___1]) <= spark__unsigned__u64__last)
<S>  New H16:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> 0 <= element(x__7, [i___1]) and 
          element(x__7, [i___1]) <= spark__unsigned__u64__last)
<S>  New H17:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> 0 <= element(x__8, [i___1]) and 
          element(x__8, [i___1]) <= spark__unsigned__u64__last)
<S>  New H18:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> 0 <= element(x__9, [i___1]) and 
          element(x__9, [i___1]) <= spark__unsigned__u64__last)
<S>  New C1:  loop__1__r * 2 mod interfaces__unsigned_64__modulus >= 0
-S-  Applied substitution rule threefish_bl_rules(16).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H5:  loop__1__r <= 18446744073709551615
<S>  New H13:  (loop__1__r * 2 mod interfaces__unsigned_64__modulus - 1) mod 
          interfaces__unsigned_64__modulus <= 18446744073709551615
<S>  New H1:  for_all(i___1 : integer, spark__crypto__i9__first <= i___1 and 
          i___1 <= spark__crypto__i9__last -> 0 <= element(ks, [i___1]) and 
          element(ks, [i___1]) <= 18446744073709551615)
<S>  New H2:  for_all(i___1 : integer, spark__crypto__i3__first <= i___1 and 
          i___1 <= spark__crypto__i3__last -> 0 <= element(ts, [i___1]) and 
          element(ts, [i___1]) <= 18446744073709551615)
<S>  New H3:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> 0 <= element(x, [i___1]) and 
          element(x, [i___1]) <= 18446744073709551615)
<S>  New H8:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> 0 <= element(x__1, [i___1]) and 
          element(x__1, [i___1]) <= 18446744073709551615)
<S>  New H9:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> 0 <= element(x__2, [i___1]) and 
          element(x__2, [i___1]) <= 18446744073709551615)
<S>  New H10:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> 0 <= element(x__3, [i___1]) and 
          element(x__3, [i___1]) <= 18446744073709551615)
<S>  New H11:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> 0 <= element(x__4, [i___1]) and 
          element(x__4, [i___1]) <= 18446744073709551615)
<S>  New H14:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> 0 <= element(x__5, [i___1]) and 
          element(x__5, [i___1]) <= 18446744073709551615)
<S>  New H15:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> 0 <= element(x__6, [i___1]) and 
          element(x__6, [i___1]) <= 18446744073709551615)
<S>  New H16:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> 0 <= element(x__7, [i___1]) and 
          element(x__7, [i___1]) <= 18446744073709551615)
<S>  New H17:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> 0 <= element(x__8, [i___1]) and 
          element(x__8, [i___1]) <= 18446744073709551615)
<S>  New H18:  for_all(i___1 : integer, spark__crypto__i8__first <= i___1 and 
          i___1 <= spark__crypto__i8__last -> 0 <= element(x__9, [i___1]) and 
          element(x__9, [i___1]) <= 18446744073709551615)
<S>  New C2:  loop__1__r * 2 mod interfaces__unsigned_64__modulus <= 
          18446744073709551615
-S-  Applied substitution rule threefish_bl_rules(1).
     This was achieved by replacing all occurrences of skein_512_rounds_total 
          by:
          72.
<S>  New H7:  loop__1__r <= 9 mod interfaces__unsigned_64__modulus
-S-  Applied substitution rule threefish_bl_rules(13).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__modulus by:
          18446744073709551616.
<S>  New H12:  (loop__1__r * 2 mod 18446744073709551616 - 1) mod 
          18446744073709551616 >= 0
<S>  New H13:  (loop__1__r * 2 mod 18446744073709551616 - 1) mod 
          18446744073709551616 <= 18446744073709551615
<S>  New H7:  loop__1__r <= 9
<S>  New C1:  loop__1__r * 2 mod 18446744073709551616 >= 0
<S>  New C2:  loop__1__r * 2 mod 18446744073709551616 <= 18446744073709551615
-S-  Applied substitution rule threefish_bl_rules(21).
     This was achieved by replacing all occurrences of spark__crypto__i3__first 
          by:
          0.
<S>  New H2:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          spark__crypto__i3__last -> 0 <= element(ts, [i___1]) and element(ts, [
          i___1]) <= 18446744073709551615)
-S-  Applied substitution rule threefish_bl_rules(22).
     This was achieved by replacing all occurrences of spark__crypto__i3__last 
          by:
          2.
<S>  New H2:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 2 -> 0 <= 
          element(ts, [i___1]) and element(ts, [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule threefish_bl_rules(26).
     This was achieved by replacing all occurrences of spark__crypto__i8__first 
          by:
          0.
<S>  New H3:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          spark__crypto__i8__last -> 0 <= element(x, [i___1]) and element(x, [
          i___1]) <= 18446744073709551615)
<S>  New H8:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          spark__crypto__i8__last -> 0 <= element(x__1, [i___1]) and element(
          x__1, [i___1]) <= 18446744073709551615)
<S>  New H9:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          spark__crypto__i8__last -> 0 <= element(x__2, [i___1]) and element(
          x__2, [i___1]) <= 18446744073709551615)
<S>  New H10:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          spark__crypto__i8__last -> 0 <= element(x__3, [i___1]) and element(
          x__3, [i___1]) <= 18446744073709551615)
<S>  New H11:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          spark__crypto__i8__last -> 0 <= element(x__4, [i___1]) and element(
          x__4, [i___1]) <= 18446744073709551615)
<S>  New H14:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          spark__crypto__i8__last -> 0 <= element(x__5, [i___1]) and element(
          x__5, [i___1]) <= 18446744073709551615)
<S>  New H15:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          spark__crypto__i8__last -> 0 <= element(x__6, [i___1]) and element(
          x__6, [i___1]) <= 18446744073709551615)
<S>  New H16:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          spark__crypto__i8__last -> 0 <= element(x__7, [i___1]) and element(
          x__7, [i___1]) <= 18446744073709551615)
<S>  New H17:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          spark__crypto__i8__last -> 0 <= element(x__8, [i___1]) and element(
          x__8, [i___1]) <= 18446744073709551615)
<S>  New H18:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          spark__crypto__i8__last -> 0 <= element(x__9, [i___1]) and element(
          x__9, [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule threefish_bl_rules(27).
     This was achieved by replacing all occurrences of spark__crypto__i8__last 
          by:
          7.
<S>  New H3:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(x, [i___1]) and element(x, [i___1]) <= 18446744073709551615)
<S>  New H8:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(x__1, [i___1]) and element(x__1, [i___1]) <= 
          18446744073709551615)
<S>  New H9:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(x__2, [i___1]) and element(x__2, [i___1]) <= 
          18446744073709551615)
<S>  New H10:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(x__3, [i___1]) and element(x__3, [i___1]) <= 
          18446744073709551615)
<S>  New H11:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(x__4, [i___1]) and element(x__4, [i___1]) <= 
          18446744073709551615)
<S>  New H14:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(x__5, [i___1]) and element(x__5, [i___1]) <= 
          18446744073709551615)
<S>  New H15:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(x__6, [i___1]) and element(x__6, [i___1]) <= 
          18446744073709551615)
<S>  New H16:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(x__7, [i___1]) and element(x__7, [i___1]) <= 
          18446744073709551615)
<S>  New H17:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(x__8, [i___1]) and element(x__8, [i___1]) <= 
          18446744073709551615)
<S>  New H18:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(x__9, [i___1]) and element(x__9, [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule threefish_bl_rules(31).
     This was achieved by replacing all occurrences of spark__crypto__i9__first 
          by:
          0.
<S>  New H1:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          spark__crypto__i9__last -> 0 <= element(ks, [i___1]) and element(ks, [
          i___1]) <= 18446744073709551615)
-S-  Applied substitution rule threefish_bl_rules(32).
     This was achieved by replacing all occurrences of spark__crypto__i9__last 
          by:
          8.
<S>  New H1:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 8 -> 0 <= 
          element(ks, [i___1]) and element(ks, [i___1]) <= 18446744073709551615)
***  Proved C1:  loop__1__r * 2 mod 18446744073709551616 >= 0
***  Proved C2:  loop__1__r * 2 mod 18446744073709551616 <= 18446744073709551615
***  PROVED VC.


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


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

