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

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



SPARK Simplifier Pro Edition


procedure Skein.Skein_512_Final.Set_B_Counter






@@@@@@@@@@  VC: procedure_set_b_counter_1.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx), [i___2]) 
          and element(fld_b(local_ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx), [i___1]) and 
          element(fld_x(local_ctx), [i___1]) <= spark__unsigned__u64__last)
-S-  Applied substitution rule set_b_counte_rules(52).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H4:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx), [i___2]) and element(fld_b(local_ctx), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New C1:  bit__and(counter, 255) >= 0
<S>  New C3:  bit__and(counter, 255) >= 0
-S-  Applied substitution rule set_b_counte_rules(53).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H4:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx), [i___2]) and element(fld_b(local_ctx), [i___2]) <= 
          255)
<S>  New C2:  bit__and(counter, 255) <= 255
<S>  New C4:  bit__and(counter, 255) <= 255
-S-  Applied substitution rule set_b_counte_rules(96).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H4:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(local_ctx), [
          i___2]) and element(fld_b(local_ctx), [i___2]) <= 255)
<S>  New C5:  true
-S-  Applied substitution rule set_b_counte_rules(97).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H4:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(local_ctx), [i___2]) and element(fld_b(local_ctx), [
          i___2]) <= 255)
<S>  New C6:  true
***  Proved C5:  true
***  Proved C6:  true
-S-  Applied substitution rule set_b_counte_rules(7).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H6:  fld_byte_count(fld_h(local_ctx)) >= 0
-S-  Applied substitution rule set_b_counte_rules(8).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H7:  fld_byte_count(fld_h(local_ctx)) <= 2147483647
-S-  Applied substitution rule set_b_counte_rules(40).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H12:  fld_field_type(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule set_b_counte_rules(41).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H13:  fld_field_type(fld_tweak_words(fld_h(local_ctx))) <= 63
-S-  Applied substitution rule set_b_counte_rules(46).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H15:  fld_tree_level(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule set_b_counte_rules(47).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H16:  fld_tree_level(fld_tweak_words(fld_h(local_ctx))) <= 127
-S-  Applied substitution rule set_b_counte_rules(58).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H17:  fld_reserved(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule set_b_counte_rules(59).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H18:  fld_reserved(fld_tweak_words(fld_h(local_ctx))) <= 65535
-S-  Applied substitution rule set_b_counte_rules(64).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H19:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule set_b_counte_rules(65).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H20:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx))) <= 
          4294967295
-S-  Applied substitution rule set_b_counte_rules(70).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H2:  counter >= 0
<S>  New H5:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx), [i___1]) and element(fld_x(local_ctx), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H21:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule set_b_counte_rules(71).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H3:  counter <= 18446744073709551615
<S>  New H22:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx))) <= 
          18446744073709551615
<S>  New H5:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx), [i___1]) and element(fld_x(local_ctx), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule set_b_counte_rules(86).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H8:  fld_hash_bit_len(fld_h(local_ctx)) >= 0
-S-  Applied substitution rule set_b_counte_rules(87).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H9:  fld_hash_bit_len(fld_h(local_ctx)) <= 2147483640
-S-  Applied substitution rule set_b_counte_rules(91).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H5:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(local_ctx), [
          i___1]) and element(fld_x(local_ctx), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule set_b_counte_rules(92).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H5:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(local_ctx), [i___1]) and element(fld_x(local_ctx), [
          i___1]) <= 18446744073709551615)
%%%  Simplified C1 further, to give:
     %%%  C1:  counter mod 256 >= 0
%%%  Simplified C2 further, to give:
     %%%  C2:  counter mod 256 <= 255
%%%  Simplified C3 further, to give:
     %%%  C3:  counter mod 256 >= 0
%%%  Simplified C4 further, to give:
     %%%  C4:  counter mod 256 <= 255
***  Proved C1:  counter mod 256 >= 0
***  Proved C2:  counter mod 256 <= 255
***  Proved C3:  counter mod 256 >= 0
***  Proved C4:  counter mod 256 <= 255
***  PROVED VC.


@@@@@@@@@@  VC: procedure_set_b_counter_2.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx), [i___2]) 
          and element(fld_b(local_ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx), [i___1]) and 
          element(fld_x(local_ctx), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H25 has been replaced by "true".  (It is already present, as 
          H23).
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
***  Proved C5:  1 >= skein_512_block_bytes_index__first
     using hypothesis H27.
-S-  Applied substitution rule set_b_counte_rules(76).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__first by:
          0.
<S>  New C1:  true
-S-  Applied substitution rule set_b_counte_rules(77).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__last by:
          64.
<S>  New C2:  true
-S-  Applied substitution rule set_b_counte_rules(34).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__first by:
          0.
<S>  New C3:  counter >= 0
-S-  Applied substitution rule set_b_counte_rules(35).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__last by:
          18446744073709551615.
<S>  New C4:  counter <= 18446744073709551615
-S-  Applied substitution rule set_b_counte_rules(97).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H4:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> spark__unsigned__byte__first <= element(
          fld_b(local_ctx), [i___2]) and element(fld_b(local_ctx), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New H28:  true
<S>  New C6:  true
***  Proved C1:  true
***  Proved C2:  true
***  Proved C6:  true
-S-  Applied substitution rule set_b_counte_rules(7).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H6:  fld_byte_count(fld_h(local_ctx)) >= 0
-S-  Applied substitution rule set_b_counte_rules(8).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H7:  fld_byte_count(fld_h(local_ctx)) <= 2147483647
-S-  Applied substitution rule set_b_counte_rules(40).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H12:  fld_field_type(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule set_b_counte_rules(41).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H13:  fld_field_type(fld_tweak_words(fld_h(local_ctx))) <= 63
-S-  Applied substitution rule set_b_counte_rules(46).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H15:  fld_tree_level(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule set_b_counte_rules(47).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H16:  fld_tree_level(fld_tweak_words(fld_h(local_ctx))) <= 127
-S-  Applied substitution rule set_b_counte_rules(52).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H4:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> 0 <= element(fld_b(local_ctx), [i___2]) and 
          element(fld_b(local_ctx), [i___2]) <= spark__unsigned__byte__last)
<S>  New H23:  bit__and(counter, 255) >= 0
-S-  Applied substitution rule set_b_counte_rules(53).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H24:  bit__and(counter, 255) <= 255
<S>  New H4:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> 0 <= element(fld_b(local_ctx), [i___2]) and 
          element(fld_b(local_ctx), [i___2]) <= 255)
-S-  Applied substitution rule set_b_counte_rules(58).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H17:  fld_reserved(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule set_b_counte_rules(59).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H18:  fld_reserved(fld_tweak_words(fld_h(local_ctx))) <= 65535
-S-  Applied substitution rule set_b_counte_rules(64).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H19:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule set_b_counte_rules(65).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H20:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx))) <= 
          4294967295
-S-  Applied substitution rule set_b_counte_rules(70).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H2:  counter >= 0
<S>  New H5:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx), [i___1]) and element(fld_x(local_ctx), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H21:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule set_b_counte_rules(71).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H3:  counter <= 18446744073709551615
<S>  New H22:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx))) <= 
          18446744073709551615
<S>  New H5:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx), [i___1]) and element(fld_x(local_ctx), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule set_b_counte_rules(86).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H8:  fld_hash_bit_len(fld_h(local_ctx)) >= 0
-S-  Applied substitution rule set_b_counte_rules(87).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H9:  fld_hash_bit_len(fld_h(local_ctx)) <= 2147483640
-S-  Applied substitution rule set_b_counte_rules(91).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H5:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(local_ctx), [
          i___1]) and element(fld_x(local_ctx), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule set_b_counte_rules(92).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H5:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(local_ctx), [i___1]) and element(fld_x(local_ctx), [
          i___1]) <= 18446744073709551615)
-S-  Applied substitution rule set_b_counte_rules(96).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H27:  true
<S>  New H4:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(local_ctx), [i___2]) and element(fld_b(local_ctx), [
          i___2]) <= 255)
***  Proved C3:  counter >= 0
     using hypothesis H2.
***  Proved C4:  counter <= 18446744073709551615
     using hypothesis H3.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_set_b_counter_3.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx), [i___2]) 
          and element(fld_b(local_ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx), [i___1]) and 
          element(fld_x(local_ctx), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H25 has been replaced by "true".  (It is already present, as 
          H23).
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
-S-  Applied substitution rule set_b_counte_rules(52).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H4:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx), [i___2]) and element(fld_b(local_ctx), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New H23:  bit__and(counter, 255) >= 0
<S>  New C1:  bit__and(spark__unsigned__shift_right_64(counter, 8), 255) >= 0
<S>  New C3:  bit__and(spark__unsigned__shift_right_64(counter, 8), 255) >= 0
-S-  Applied substitution rule set_b_counte_rules(53).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H24:  bit__and(counter, 255) <= 255
<S>  New H4:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx), [i___2]) and element(fld_b(local_ctx), [i___2]) <= 
          255)
<S>  New C2:  bit__and(spark__unsigned__shift_right_64(counter, 8), 255) <= 255
<S>  New C4:  bit__and(spark__unsigned__shift_right_64(counter, 8), 255) <= 255
-S-  Applied substitution rule set_b_counte_rules(7).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H6:  fld_byte_count(fld_h(local_ctx)) >= 0
-S-  Applied substitution rule set_b_counte_rules(8).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H7:  fld_byte_count(fld_h(local_ctx)) <= 2147483647
-S-  Applied substitution rule set_b_counte_rules(34).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__first by:
          0.
<S>  New H31:  counter >= 0
<S>  New H35:  spark__unsigned__shift_right_64(counter, 8) >= 0
-S-  Applied substitution rule set_b_counte_rules(35).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__last by:
          18446744073709551615.
<S>  New H32:  counter <= 18446744073709551615
<S>  New H36:  spark__unsigned__shift_right_64(counter, 8) <= 
          18446744073709551615
-S-  Applied substitution rule set_b_counte_rules(40).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H12:  fld_field_type(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule set_b_counte_rules(41).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H13:  fld_field_type(fld_tweak_words(fld_h(local_ctx))) <= 63
-S-  Applied substitution rule set_b_counte_rules(46).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H15:  fld_tree_level(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule set_b_counte_rules(47).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H16:  fld_tree_level(fld_tweak_words(fld_h(local_ctx))) <= 127
-S-  Applied substitution rule set_b_counte_rules(58).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H17:  fld_reserved(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule set_b_counte_rules(59).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H18:  fld_reserved(fld_tweak_words(fld_h(local_ctx))) <= 65535
-S-  Applied substitution rule set_b_counte_rules(64).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H19:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule set_b_counte_rules(65).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H20:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx))) <= 
          4294967295
-S-  Applied substitution rule set_b_counte_rules(70).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H2:  counter >= 0
<S>  New H5:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx), [i___1]) and element(fld_x(local_ctx), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H21:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule set_b_counte_rules(71).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H3:  counter <= 18446744073709551615
<S>  New H22:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx))) <= 
          18446744073709551615
<S>  New H5:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx), [i___1]) and element(fld_x(local_ctx), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule set_b_counte_rules(76).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__first by:
          0.
<S>  New H29:  true
-S-  Applied substitution rule set_b_counte_rules(77).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__last by:
          64.
<S>  New H30:  true
-S-  Applied substitution rule set_b_counte_rules(86).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H8:  fld_hash_bit_len(fld_h(local_ctx)) >= 0
-S-  Applied substitution rule set_b_counte_rules(87).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H9:  fld_hash_bit_len(fld_h(local_ctx)) <= 2147483640
-S-  Applied substitution rule set_b_counte_rules(91).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H5:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(local_ctx), [
          i___1]) and element(fld_x(local_ctx), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule set_b_counte_rules(92).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H5:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(local_ctx), [i___1]) and element(fld_x(local_ctx), [
          i___1]) <= 18446744073709551615)
-S-  Applied substitution rule set_b_counte_rules(96).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H4:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(local_ctx), [
          i___2]) and element(fld_b(local_ctx), [i___2]) <= 255)
<S>  New H27:  true
<S>  New H33:  true
-S-  Applied substitution rule set_b_counte_rules(97).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H28:  true
<S>  New H34:  true
<S>  New H4:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(local_ctx), [i___2]) and element(fld_b(local_ctx), [
          i___2]) <= 255)
***  Proved C1:  bit__and(spark__unsigned__shift_right_64(counter, 8), 255) >= 0
***  Proved C3:  bit__and(spark__unsigned__shift_right_64(counter, 8), 255) >= 0
***  Proved C2:  bit__and(spark__unsigned__shift_right_64(counter, 8), 255) <= 
          255
***  Proved C4:  bit__and(spark__unsigned__shift_right_64(counter, 8), 255) <= 
          255
***  PROVED VC.


@@@@@@@@@@  VC: procedure_set_b_counter_4.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx), [i___2]) 
          and element(fld_b(local_ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx), [i___1]) and 
          element(fld_x(local_ctx), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H25 has been replaced by "true".  (It is already present, as 
          H23).
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H39 has been replaced by "true".  (It is already present, as 
          H37).
---  Hypothesis H40 has been replaced by "true".  (It is already present, as 
          H38).
***  Proved C1:  16 >= spark__unsigned__shift_count__first
     using hypothesis H29.
***  Proved C3:  counter >= interfaces__unsigned_64__first
     using hypothesis H31.
***  Proved C4:  counter <= interfaces__unsigned_64__last
     using hypothesis H32.
***  Proved C5:  2 >= skein_512_block_bytes_index__first
     using hypothesis H27.
-S-  Applied substitution rule set_b_counte_rules(77).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__last by:
          64.
<S>  New H30:  true
<S>  New C2:  true
-S-  Applied substitution rule set_b_counte_rules(97).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H4:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> spark__unsigned__byte__first <= element(
          fld_b(local_ctx), [i___2]) and element(fld_b(local_ctx), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New H28:  true
<S>  New H34:  true
<S>  New C6:  true
***  Proved C2:  true
***  Proved C6:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_set_b_counter_5.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx), [i___2]) 
          and element(fld_b(local_ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx), [i___1]) and 
          element(fld_x(local_ctx), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H25 has been replaced by "true".  (It is already present, as 
          H23).
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H39 has been replaced by "true".  (It is already present, as 
          H37).
---  Hypothesis H40 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H43 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H32).
-S-  Applied substitution rule set_b_counte_rules(52).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H4:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx), [i___2]) and element(fld_b(local_ctx), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New H23:  bit__and(counter, 255) >= 0
<S>  New H37:  bit__and(spark__unsigned__shift_right_64(counter, 8), 255) >= 0
<S>  New C1:  bit__and(spark__unsigned__shift_right_64(counter, 16), 255) >= 0
<S>  New C3:  bit__and(spark__unsigned__shift_right_64(counter, 16), 255) >= 0
-S-  Applied substitution rule set_b_counte_rules(53).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H24:  bit__and(counter, 255) <= 255
<S>  New H38:  bit__and(spark__unsigned__shift_right_64(counter, 8), 255) <= 255
<S>  New H4:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx), [i___2]) and element(fld_b(local_ctx), [i___2]) <= 
          255)
<S>  New C2:  bit__and(spark__unsigned__shift_right_64(counter, 16), 255) <= 255
<S>  New C4:  bit__and(spark__unsigned__shift_right_64(counter, 16), 255) <= 255
-S-  Applied substitution rule set_b_counte_rules(7).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H6:  fld_byte_count(fld_h(local_ctx)) >= 0
-S-  Applied substitution rule set_b_counte_rules(8).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H7:  fld_byte_count(fld_h(local_ctx)) <= 2147483647
-S-  Applied substitution rule set_b_counte_rules(34).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__first by:
          0.
<S>  New H31:  counter >= 0
<S>  New H35:  spark__unsigned__shift_right_64(counter, 8) >= 0
<S>  New H47:  spark__unsigned__shift_right_64(counter, 16) >= 0
-S-  Applied substitution rule set_b_counte_rules(35).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__last by:
          18446744073709551615.
<S>  New H32:  counter <= 18446744073709551615
<S>  New H36:  spark__unsigned__shift_right_64(counter, 8) <= 
          18446744073709551615
<S>  New H48:  spark__unsigned__shift_right_64(counter, 16) <= 
          18446744073709551615
-S-  Applied substitution rule set_b_counte_rules(40).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H12:  fld_field_type(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule set_b_counte_rules(41).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H13:  fld_field_type(fld_tweak_words(fld_h(local_ctx))) <= 63
-S-  Applied substitution rule set_b_counte_rules(46).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H15:  fld_tree_level(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule set_b_counte_rules(47).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H16:  fld_tree_level(fld_tweak_words(fld_h(local_ctx))) <= 127
-S-  Applied substitution rule set_b_counte_rules(58).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H17:  fld_reserved(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule set_b_counte_rules(59).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H18:  fld_reserved(fld_tweak_words(fld_h(local_ctx))) <= 65535
-S-  Applied substitution rule set_b_counte_rules(64).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H19:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule set_b_counte_rules(65).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H20:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx))) <= 
          4294967295
-S-  Applied substitution rule set_b_counte_rules(70).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H2:  counter >= 0
<S>  New H5:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx), [i___1]) and element(fld_x(local_ctx), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H21:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule set_b_counte_rules(71).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H3:  counter <= 18446744073709551615
<S>  New H22:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx))) <= 
          18446744073709551615
<S>  New H5:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx), [i___1]) and element(fld_x(local_ctx), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule set_b_counte_rules(76).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__first by:
          0.
<S>  New H29:  true
<S>  New H41:  true
-S-  Applied substitution rule set_b_counte_rules(77).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__last by:
          64.
<S>  New H30:  true
<S>  New H42:  true
-S-  Applied substitution rule set_b_counte_rules(86).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H8:  fld_hash_bit_len(fld_h(local_ctx)) >= 0
-S-  Applied substitution rule set_b_counte_rules(87).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H9:  fld_hash_bit_len(fld_h(local_ctx)) <= 2147483640
-S-  Applied substitution rule set_b_counte_rules(91).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H5:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(local_ctx), [
          i___1]) and element(fld_x(local_ctx), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule set_b_counte_rules(92).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H5:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(local_ctx), [i___1]) and element(fld_x(local_ctx), [
          i___1]) <= 18446744073709551615)
-S-  Applied substitution rule set_b_counte_rules(96).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H4:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(local_ctx), [
          i___2]) and element(fld_b(local_ctx), [i___2]) <= 255)
<S>  New H27:  true
<S>  New H33:  true
<S>  New H45:  true
-S-  Applied substitution rule set_b_counte_rules(97).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H28:  true
<S>  New H34:  true
<S>  New H46:  true
<S>  New H4:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(local_ctx), [i___2]) and element(fld_b(local_ctx), [
          i___2]) <= 255)
***  Proved C1:  bit__and(spark__unsigned__shift_right_64(counter, 16), 255) >= 
          0
***  Proved C3:  bit__and(spark__unsigned__shift_right_64(counter, 16), 255) >= 
          0
***  Proved C2:  bit__and(spark__unsigned__shift_right_64(counter, 16), 255) <= 
          255
***  Proved C4:  bit__and(spark__unsigned__shift_right_64(counter, 16), 255) <= 
          255
***  PROVED VC.


@@@@@@@@@@  VC: procedure_set_b_counter_6.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx), [i___2]) 
          and element(fld_b(local_ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx), [i___1]) and 
          element(fld_x(local_ctx), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H25 has been replaced by "true".  (It is already present, as 
          H23).
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H39 has been replaced by "true".  (It is already present, as 
          H37).
---  Hypothesis H40 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H43 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H51 has been replaced by "true".  (It is already present, as 
          H49).
---  Hypothesis H52 has been replaced by "true".  (It is already present, as 
          H50).
***  Proved C1:  24 >= spark__unsigned__shift_count__first
     using hypothesis H29.
***  Proved C3:  counter >= interfaces__unsigned_64__first
     using hypothesis H31.
***  Proved C4:  counter <= interfaces__unsigned_64__last
     using hypothesis H32.
***  Proved C5:  3 >= skein_512_block_bytes_index__first
     using hypothesis H27.
-S-  Applied substitution rule set_b_counte_rules(77).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__last by:
          64.
<S>  New H30:  true
<S>  New H42:  true
<S>  New C2:  true
-S-  Applied substitution rule set_b_counte_rules(97).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H4:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> spark__unsigned__byte__first <= element(
          fld_b(local_ctx), [i___2]) and element(fld_b(local_ctx), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New H28:  true
<S>  New H34:  true
<S>  New H46:  true
<S>  New C6:  true
***  Proved C2:  true
***  Proved C6:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_set_b_counter_7.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx), [i___2]) 
          and element(fld_b(local_ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx), [i___1]) and 
          element(fld_x(local_ctx), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H25 has been replaced by "true".  (It is already present, as 
          H23).
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H39 has been replaced by "true".  (It is already present, as 
          H37).
---  Hypothesis H40 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H43 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H51 has been replaced by "true".  (It is already present, as 
          H49).
---  Hypothesis H52 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H32).
-S-  Applied substitution rule set_b_counte_rules(52).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H4:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx), [i___2]) and element(fld_b(local_ctx), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New H23:  bit__and(counter, 255) >= 0
<S>  New H37:  bit__and(spark__unsigned__shift_right_64(counter, 8), 255) >= 0
<S>  New H49:  bit__and(spark__unsigned__shift_right_64(counter, 16), 255) >= 0
<S>  New C1:  bit__and(spark__unsigned__shift_right_64(counter, 24), 255) >= 0
<S>  New C3:  bit__and(spark__unsigned__shift_right_64(counter, 24), 255) >= 0
-S-  Applied substitution rule set_b_counte_rules(53).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H24:  bit__and(counter, 255) <= 255
<S>  New H38:  bit__and(spark__unsigned__shift_right_64(counter, 8), 255) <= 255
<S>  New H50:  bit__and(spark__unsigned__shift_right_64(counter, 16), 255) <= 
          255
<S>  New H4:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx), [i___2]) and element(fld_b(local_ctx), [i___2]) <= 
          255)
<S>  New C2:  bit__and(spark__unsigned__shift_right_64(counter, 24), 255) <= 255
<S>  New C4:  bit__and(spark__unsigned__shift_right_64(counter, 24), 255) <= 255
-S-  Applied substitution rule set_b_counte_rules(7).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H6:  fld_byte_count(fld_h(local_ctx)) >= 0
-S-  Applied substitution rule set_b_counte_rules(8).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H7:  fld_byte_count(fld_h(local_ctx)) <= 2147483647
-S-  Applied substitution rule set_b_counte_rules(34).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__first by:
          0.
<S>  New H31:  counter >= 0
<S>  New H35:  spark__unsigned__shift_right_64(counter, 8) >= 0
<S>  New H47:  spark__unsigned__shift_right_64(counter, 16) >= 0
<S>  New H59:  spark__unsigned__shift_right_64(counter, 24) >= 0
-S-  Applied substitution rule set_b_counte_rules(35).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__last by:
          18446744073709551615.
<S>  New H32:  counter <= 18446744073709551615
<S>  New H36:  spark__unsigned__shift_right_64(counter, 8) <= 
          18446744073709551615
<S>  New H48:  spark__unsigned__shift_right_64(counter, 16) <= 
          18446744073709551615
<S>  New H60:  spark__unsigned__shift_right_64(counter, 24) <= 
          18446744073709551615
-S-  Applied substitution rule set_b_counte_rules(40).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H12:  fld_field_type(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule set_b_counte_rules(41).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H13:  fld_field_type(fld_tweak_words(fld_h(local_ctx))) <= 63
-S-  Applied substitution rule set_b_counte_rules(46).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H15:  fld_tree_level(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule set_b_counte_rules(47).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H16:  fld_tree_level(fld_tweak_words(fld_h(local_ctx))) <= 127
-S-  Applied substitution rule set_b_counte_rules(58).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H17:  fld_reserved(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule set_b_counte_rules(59).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H18:  fld_reserved(fld_tweak_words(fld_h(local_ctx))) <= 65535
-S-  Applied substitution rule set_b_counte_rules(64).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H19:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule set_b_counte_rules(65).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H20:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx))) <= 
          4294967295
-S-  Applied substitution rule set_b_counte_rules(70).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H2:  counter >= 0
<S>  New H5:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx), [i___1]) and element(fld_x(local_ctx), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H21:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule set_b_counte_rules(71).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H3:  counter <= 18446744073709551615
<S>  New H22:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx))) <= 
          18446744073709551615
<S>  New H5:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx), [i___1]) and element(fld_x(local_ctx), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule set_b_counte_rules(76).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__first by:
          0.
<S>  New H29:  true
<S>  New H41:  true
<S>  New H53:  true
-S-  Applied substitution rule set_b_counte_rules(77).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__last by:
          64.
<S>  New H30:  true
<S>  New H42:  true
<S>  New H54:  true
-S-  Applied substitution rule set_b_counte_rules(86).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H8:  fld_hash_bit_len(fld_h(local_ctx)) >= 0
-S-  Applied substitution rule set_b_counte_rules(87).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H9:  fld_hash_bit_len(fld_h(local_ctx)) <= 2147483640
-S-  Applied substitution rule set_b_counte_rules(91).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H5:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(local_ctx), [
          i___1]) and element(fld_x(local_ctx), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule set_b_counte_rules(92).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H5:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(local_ctx), [i___1]) and element(fld_x(local_ctx), [
          i___1]) <= 18446744073709551615)
-S-  Applied substitution rule set_b_counte_rules(96).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H4:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(local_ctx), [
          i___2]) and element(fld_b(local_ctx), [i___2]) <= 255)
<S>  New H27:  true
<S>  New H33:  true
<S>  New H45:  true
<S>  New H57:  true
-S-  Applied substitution rule set_b_counte_rules(97).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H28:  true
<S>  New H34:  true
<S>  New H46:  true
<S>  New H58:  true
<S>  New H4:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(local_ctx), [i___2]) and element(fld_b(local_ctx), [
          i___2]) <= 255)
***  Proved C1:  bit__and(spark__unsigned__shift_right_64(counter, 24), 255) >= 
          0
***  Proved C3:  bit__and(spark__unsigned__shift_right_64(counter, 24), 255) >= 
          0
***  Proved C2:  bit__and(spark__unsigned__shift_right_64(counter, 24), 255) <= 
          255
***  Proved C4:  bit__and(spark__unsigned__shift_right_64(counter, 24), 255) <= 
          255
***  PROVED VC.


@@@@@@@@@@  VC: procedure_set_b_counter_8.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx), [i___2]) 
          and element(fld_b(local_ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx), [i___1]) and 
          element(fld_x(local_ctx), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H25 has been replaced by "true".  (It is already present, as 
          H23).
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H39 has been replaced by "true".  (It is already present, as 
          H37).
---  Hypothesis H40 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H43 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H51 has been replaced by "true".  (It is already present, as 
          H49).
---  Hypothesis H52 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H63 has been replaced by "true".  (It is already present, as 
          H61).
---  Hypothesis H64 has been replaced by "true".  (It is already present, as 
          H62).
***  Proved C1:  32 >= spark__unsigned__shift_count__first
     using hypothesis H29.
***  Proved C3:  counter >= interfaces__unsigned_64__first
     using hypothesis H31.
***  Proved C4:  counter <= interfaces__unsigned_64__last
     using hypothesis H32.
***  Proved C5:  4 >= skein_512_block_bytes_index__first
     using hypothesis H27.
-S-  Applied substitution rule set_b_counte_rules(77).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__last by:
          64.
<S>  New H30:  true
<S>  New H42:  true
<S>  New H54:  true
<S>  New C2:  true
-S-  Applied substitution rule set_b_counte_rules(97).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H4:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> spark__unsigned__byte__first <= element(
          fld_b(local_ctx), [i___2]) and element(fld_b(local_ctx), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New H28:  true
<S>  New H34:  true
<S>  New H46:  true
<S>  New H58:  true
<S>  New C6:  true
***  Proved C2:  true
***  Proved C6:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_set_b_counter_9.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx), [i___2]) 
          and element(fld_b(local_ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx), [i___1]) and 
          element(fld_x(local_ctx), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H25 has been replaced by "true".  (It is already present, as 
          H23).
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H39 has been replaced by "true".  (It is already present, as 
          H37).
---  Hypothesis H40 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H43 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H51 has been replaced by "true".  (It is already present, as 
          H49).
---  Hypothesis H52 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H63 has been replaced by "true".  (It is already present, as 
          H61).
---  Hypothesis H64 has been replaced by "true".  (It is already present, as 
          H62).
---  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).
-S-  Applied substitution rule set_b_counte_rules(52).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H4:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx), [i___2]) and element(fld_b(local_ctx), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New H23:  bit__and(counter, 255) >= 0
<S>  New H37:  bit__and(spark__unsigned__shift_right_64(counter, 8), 255) >= 0
<S>  New H49:  bit__and(spark__unsigned__shift_right_64(counter, 16), 255) >= 0
<S>  New H61:  bit__and(spark__unsigned__shift_right_64(counter, 24), 255) >= 0
<S>  New C1:  bit__and(spark__unsigned__shift_right_64(counter, 32), 255) >= 0
<S>  New C3:  bit__and(spark__unsigned__shift_right_64(counter, 32), 255) >= 0
-S-  Applied substitution rule set_b_counte_rules(53).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H24:  bit__and(counter, 255) <= 255
<S>  New H38:  bit__and(spark__unsigned__shift_right_64(counter, 8), 255) <= 255
<S>  New H50:  bit__and(spark__unsigned__shift_right_64(counter, 16), 255) <= 
          255
<S>  New H62:  bit__and(spark__unsigned__shift_right_64(counter, 24), 255) <= 
          255
<S>  New H4:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx), [i___2]) and element(fld_b(local_ctx), [i___2]) <= 
          255)
<S>  New C2:  bit__and(spark__unsigned__shift_right_64(counter, 32), 255) <= 255
<S>  New C4:  bit__and(spark__unsigned__shift_right_64(counter, 32), 255) <= 255
-S-  Applied substitution rule set_b_counte_rules(7).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H6:  fld_byte_count(fld_h(local_ctx)) >= 0
-S-  Applied substitution rule set_b_counte_rules(8).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H7:  fld_byte_count(fld_h(local_ctx)) <= 2147483647
-S-  Applied substitution rule set_b_counte_rules(34).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__first by:
          0.
<S>  New H31:  counter >= 0
<S>  New H35:  spark__unsigned__shift_right_64(counter, 8) >= 0
<S>  New H47:  spark__unsigned__shift_right_64(counter, 16) >= 0
<S>  New H59:  spark__unsigned__shift_right_64(counter, 24) >= 0
<S>  New H71:  spark__unsigned__shift_right_64(counter, 32) >= 0
-S-  Applied substitution rule set_b_counte_rules(35).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__last by:
          18446744073709551615.
<S>  New H32:  counter <= 18446744073709551615
<S>  New H36:  spark__unsigned__shift_right_64(counter, 8) <= 
          18446744073709551615
<S>  New H48:  spark__unsigned__shift_right_64(counter, 16) <= 
          18446744073709551615
<S>  New H60:  spark__unsigned__shift_right_64(counter, 24) <= 
          18446744073709551615
<S>  New H72:  spark__unsigned__shift_right_64(counter, 32) <= 
          18446744073709551615
-S-  Applied substitution rule set_b_counte_rules(40).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H12:  fld_field_type(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule set_b_counte_rules(41).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H13:  fld_field_type(fld_tweak_words(fld_h(local_ctx))) <= 63
-S-  Applied substitution rule set_b_counte_rules(46).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H15:  fld_tree_level(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule set_b_counte_rules(47).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H16:  fld_tree_level(fld_tweak_words(fld_h(local_ctx))) <= 127
-S-  Applied substitution rule set_b_counte_rules(58).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H17:  fld_reserved(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule set_b_counte_rules(59).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H18:  fld_reserved(fld_tweak_words(fld_h(local_ctx))) <= 65535
-S-  Applied substitution rule set_b_counte_rules(64).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H19:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule set_b_counte_rules(65).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H20:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx))) <= 
          4294967295
-S-  Applied substitution rule set_b_counte_rules(70).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H2:  counter >= 0
<S>  New H5:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx), [i___1]) and element(fld_x(local_ctx), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H21:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule set_b_counte_rules(71).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H3:  counter <= 18446744073709551615
<S>  New H22:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx))) <= 
          18446744073709551615
<S>  New H5:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx), [i___1]) and element(fld_x(local_ctx), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule set_b_counte_rules(76).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__first by:
          0.
<S>  New H29:  true
<S>  New H41:  true
<S>  New H53:  true
<S>  New H65:  true
-S-  Applied substitution rule set_b_counte_rules(77).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__last by:
          64.
<S>  New H30:  true
<S>  New H42:  true
<S>  New H54:  true
<S>  New H66:  true
-S-  Applied substitution rule set_b_counte_rules(86).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H8:  fld_hash_bit_len(fld_h(local_ctx)) >= 0
-S-  Applied substitution rule set_b_counte_rules(87).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H9:  fld_hash_bit_len(fld_h(local_ctx)) <= 2147483640
-S-  Applied substitution rule set_b_counte_rules(91).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H5:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(local_ctx), [
          i___1]) and element(fld_x(local_ctx), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule set_b_counte_rules(92).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H5:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(local_ctx), [i___1]) and element(fld_x(local_ctx), [
          i___1]) <= 18446744073709551615)
-S-  Applied substitution rule set_b_counte_rules(96).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H4:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(local_ctx), [
          i___2]) and element(fld_b(local_ctx), [i___2]) <= 255)
<S>  New H27:  true
<S>  New H33:  true
<S>  New H45:  true
<S>  New H57:  true
<S>  New H69:  true
-S-  Applied substitution rule set_b_counte_rules(97).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H28:  true
<S>  New H34:  true
<S>  New H46:  true
<S>  New H58:  true
<S>  New H70:  true
<S>  New H4:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(local_ctx), [i___2]) and element(fld_b(local_ctx), [
          i___2]) <= 255)
***  Proved C1:  bit__and(spark__unsigned__shift_right_64(counter, 32), 255) >= 
          0
***  Proved C3:  bit__and(spark__unsigned__shift_right_64(counter, 32), 255) >= 
          0
***  Proved C2:  bit__and(spark__unsigned__shift_right_64(counter, 32), 255) <= 
          255
***  Proved C4:  bit__and(spark__unsigned__shift_right_64(counter, 32), 255) <= 
          255
***  PROVED VC.


@@@@@@@@@@  VC: procedure_set_b_counter_10.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx), [i___2]) 
          and element(fld_b(local_ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx), [i___1]) and 
          element(fld_x(local_ctx), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H25 has been replaced by "true".  (It is already present, as 
          H23).
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H39 has been replaced by "true".  (It is already present, as 
          H37).
---  Hypothesis H40 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H43 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H51 has been replaced by "true".  (It is already present, as 
          H49).
---  Hypothesis H52 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H63 has been replaced by "true".  (It is already present, as 
          H61).
---  Hypothesis H64 has been replaced by "true".  (It is already present, as 
          H62).
---  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).
---  Hypothesis H75 has been replaced by "true".  (It is already present, as 
          H73).
---  Hypothesis H76 has been replaced by "true".  (It is already present, as 
          H74).
***  Proved C1:  40 >= spark__unsigned__shift_count__first
     using hypothesis H29.
***  Proved C3:  counter >= interfaces__unsigned_64__first
     using hypothesis H31.
***  Proved C4:  counter <= interfaces__unsigned_64__last
     using hypothesis H32.
***  Proved C5:  5 >= skein_512_block_bytes_index__first
     using hypothesis H27.
-S-  Applied substitution rule set_b_counte_rules(77).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__last by:
          64.
<S>  New H30:  true
<S>  New H42:  true
<S>  New H54:  true
<S>  New H66:  true
<S>  New C2:  true
-S-  Applied substitution rule set_b_counte_rules(97).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H4:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> spark__unsigned__byte__first <= element(
          fld_b(local_ctx), [i___2]) and element(fld_b(local_ctx), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New H28:  true
<S>  New H34:  true
<S>  New H46:  true
<S>  New H58:  true
<S>  New H70:  true
<S>  New C6:  true
***  Proved C2:  true
***  Proved C6:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_set_b_counter_11.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx), [i___2]) 
          and element(fld_b(local_ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx), [i___1]) and 
          element(fld_x(local_ctx), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H25 has been replaced by "true".  (It is already present, as 
          H23).
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H39 has been replaced by "true".  (It is already present, as 
          H37).
---  Hypothesis H40 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H43 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H51 has been replaced by "true".  (It is already present, as 
          H49).
---  Hypothesis H52 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H63 has been replaced by "true".  (It is already present, as 
          H61).
---  Hypothesis H64 has been replaced by "true".  (It is already present, as 
          H62).
---  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).
---  Hypothesis H75 has been replaced by "true".  (It is already present, as 
          H73).
---  Hypothesis H76 has been replaced by "true".  (It is already present, as 
          H74).
---  Hypothesis H79 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H80 has been replaced by "true".  (It is already present, as 
          H32).
-S-  Applied substitution rule set_b_counte_rules(52).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H4:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx), [i___2]) and element(fld_b(local_ctx), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New H23:  bit__and(counter, 255) >= 0
<S>  New H37:  bit__and(spark__unsigned__shift_right_64(counter, 8), 255) >= 0
<S>  New H49:  bit__and(spark__unsigned__shift_right_64(counter, 16), 255) >= 0
<S>  New H61:  bit__and(spark__unsigned__shift_right_64(counter, 24), 255) >= 0
<S>  New H73:  bit__and(spark__unsigned__shift_right_64(counter, 32), 255) >= 0
<S>  New C1:  bit__and(spark__unsigned__shift_right_64(counter, 40), 255) >= 0
<S>  New C3:  bit__and(spark__unsigned__shift_right_64(counter, 40), 255) >= 0
-S-  Applied substitution rule set_b_counte_rules(53).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H24:  bit__and(counter, 255) <= 255
<S>  New H38:  bit__and(spark__unsigned__shift_right_64(counter, 8), 255) <= 255
<S>  New H50:  bit__and(spark__unsigned__shift_right_64(counter, 16), 255) <= 
          255
<S>  New H62:  bit__and(spark__unsigned__shift_right_64(counter, 24), 255) <= 
          255
<S>  New H74:  bit__and(spark__unsigned__shift_right_64(counter, 32), 255) <= 
          255
<S>  New H4:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx), [i___2]) and element(fld_b(local_ctx), [i___2]) <= 
          255)
<S>  New C2:  bit__and(spark__unsigned__shift_right_64(counter, 40), 255) <= 255
<S>  New C4:  bit__and(spark__unsigned__shift_right_64(counter, 40), 255) <= 255
-S-  Applied substitution rule set_b_counte_rules(7).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H6:  fld_byte_count(fld_h(local_ctx)) >= 0
-S-  Applied substitution rule set_b_counte_rules(8).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H7:  fld_byte_count(fld_h(local_ctx)) <= 2147483647
-S-  Applied substitution rule set_b_counte_rules(34).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__first by:
          0.
<S>  New H31:  counter >= 0
<S>  New H35:  spark__unsigned__shift_right_64(counter, 8) >= 0
<S>  New H47:  spark__unsigned__shift_right_64(counter, 16) >= 0
<S>  New H59:  spark__unsigned__shift_right_64(counter, 24) >= 0
<S>  New H71:  spark__unsigned__shift_right_64(counter, 32) >= 0
<S>  New H83:  spark__unsigned__shift_right_64(counter, 40) >= 0
-S-  Applied substitution rule set_b_counte_rules(35).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__last by:
          18446744073709551615.
<S>  New H32:  counter <= 18446744073709551615
<S>  New H36:  spark__unsigned__shift_right_64(counter, 8) <= 
          18446744073709551615
<S>  New H48:  spark__unsigned__shift_right_64(counter, 16) <= 
          18446744073709551615
<S>  New H60:  spark__unsigned__shift_right_64(counter, 24) <= 
          18446744073709551615
<S>  New H72:  spark__unsigned__shift_right_64(counter, 32) <= 
          18446744073709551615
<S>  New H84:  spark__unsigned__shift_right_64(counter, 40) <= 
          18446744073709551615
-S-  Applied substitution rule set_b_counte_rules(40).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H12:  fld_field_type(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule set_b_counte_rules(41).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H13:  fld_field_type(fld_tweak_words(fld_h(local_ctx))) <= 63
-S-  Applied substitution rule set_b_counte_rules(46).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H15:  fld_tree_level(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule set_b_counte_rules(47).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H16:  fld_tree_level(fld_tweak_words(fld_h(local_ctx))) <= 127
-S-  Applied substitution rule set_b_counte_rules(58).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H17:  fld_reserved(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule set_b_counte_rules(59).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H18:  fld_reserved(fld_tweak_words(fld_h(local_ctx))) <= 65535
-S-  Applied substitution rule set_b_counte_rules(64).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H19:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule set_b_counte_rules(65).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H20:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx))) <= 
          4294967295
-S-  Applied substitution rule set_b_counte_rules(70).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H2:  counter >= 0
<S>  New H5:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx), [i___1]) and element(fld_x(local_ctx), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H21:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule set_b_counte_rules(71).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H3:  counter <= 18446744073709551615
<S>  New H22:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx))) <= 
          18446744073709551615
<S>  New H5:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx), [i___1]) and element(fld_x(local_ctx), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule set_b_counte_rules(76).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__first by:
          0.
<S>  New H29:  true
<S>  New H41:  true
<S>  New H53:  true
<S>  New H65:  true
<S>  New H77:  true
-S-  Applied substitution rule set_b_counte_rules(77).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__last by:
          64.
<S>  New H30:  true
<S>  New H42:  true
<S>  New H54:  true
<S>  New H66:  true
<S>  New H78:  true
-S-  Applied substitution rule set_b_counte_rules(86).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H8:  fld_hash_bit_len(fld_h(local_ctx)) >= 0
-S-  Applied substitution rule set_b_counte_rules(87).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H9:  fld_hash_bit_len(fld_h(local_ctx)) <= 2147483640
-S-  Applied substitution rule set_b_counte_rules(91).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H5:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(local_ctx), [
          i___1]) and element(fld_x(local_ctx), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule set_b_counte_rules(92).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H5:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(local_ctx), [i___1]) and element(fld_x(local_ctx), [
          i___1]) <= 18446744073709551615)
-S-  Applied substitution rule set_b_counte_rules(96).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H4:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(local_ctx), [
          i___2]) and element(fld_b(local_ctx), [i___2]) <= 255)
<S>  New H27:  true
<S>  New H33:  true
<S>  New H45:  true
<S>  New H57:  true
<S>  New H69:  true
<S>  New H81:  true
-S-  Applied substitution rule set_b_counte_rules(97).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H28:  true
<S>  New H34:  true
<S>  New H46:  true
<S>  New H58:  true
<S>  New H70:  true
<S>  New H82:  true
<S>  New H4:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(local_ctx), [i___2]) and element(fld_b(local_ctx), [
          i___2]) <= 255)
***  Proved C1:  bit__and(spark__unsigned__shift_right_64(counter, 40), 255) >= 
          0
***  Proved C3:  bit__and(spark__unsigned__shift_right_64(counter, 40), 255) >= 
          0
***  Proved C2:  bit__and(spark__unsigned__shift_right_64(counter, 40), 255) <= 
          255
***  Proved C4:  bit__and(spark__unsigned__shift_right_64(counter, 40), 255) <= 
          255
***  PROVED VC.


@@@@@@@@@@  VC: procedure_set_b_counter_12.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx), [i___2]) 
          and element(fld_b(local_ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx), [i___1]) and 
          element(fld_x(local_ctx), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H25 has been replaced by "true".  (It is already present, as 
          H23).
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H39 has been replaced by "true".  (It is already present, as 
          H37).
---  Hypothesis H40 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H43 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H51 has been replaced by "true".  (It is already present, as 
          H49).
---  Hypothesis H52 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H63 has been replaced by "true".  (It is already present, as 
          H61).
---  Hypothesis H64 has been replaced by "true".  (It is already present, as 
          H62).
---  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).
---  Hypothesis H75 has been replaced by "true".  (It is already present, as 
          H73).
---  Hypothesis H76 has been replaced by "true".  (It is already present, as 
          H74).
---  Hypothesis H79 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H80 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H87 has been replaced by "true".  (It is already present, as 
          H85).
---  Hypothesis H88 has been replaced by "true".  (It is already present, as 
          H86).
***  Proved C1:  48 >= spark__unsigned__shift_count__first
     using hypothesis H29.
***  Proved C3:  counter >= interfaces__unsigned_64__first
     using hypothesis H31.
***  Proved C4:  counter <= interfaces__unsigned_64__last
     using hypothesis H32.
***  Proved C5:  6 >= skein_512_block_bytes_index__first
     using hypothesis H27.
-S-  Applied substitution rule set_b_counte_rules(77).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__last by:
          64.
<S>  New H30:  true
<S>  New H42:  true
<S>  New H54:  true
<S>  New H66:  true
<S>  New H78:  true
<S>  New C2:  true
-S-  Applied substitution rule set_b_counte_rules(97).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H4:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> spark__unsigned__byte__first <= element(
          fld_b(local_ctx), [i___2]) and element(fld_b(local_ctx), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New H28:  true
<S>  New H34:  true
<S>  New H46:  true
<S>  New H58:  true
<S>  New H70:  true
<S>  New H82:  true
<S>  New C6:  true
***  Proved C2:  true
***  Proved C6:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_set_b_counter_13.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx), [i___2]) 
          and element(fld_b(local_ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx), [i___1]) and 
          element(fld_x(local_ctx), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H25 has been replaced by "true".  (It is already present, as 
          H23).
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H39 has been replaced by "true".  (It is already present, as 
          H37).
---  Hypothesis H40 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H43 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H51 has been replaced by "true".  (It is already present, as 
          H49).
---  Hypothesis H52 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H63 has been replaced by "true".  (It is already present, as 
          H61).
---  Hypothesis H64 has been replaced by "true".  (It is already present, as 
          H62).
---  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).
---  Hypothesis H75 has been replaced by "true".  (It is already present, as 
          H73).
---  Hypothesis H76 has been replaced by "true".  (It is already present, as 
          H74).
---  Hypothesis H79 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H80 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H87 has been replaced by "true".  (It is already present, as 
          H85).
---  Hypothesis H88 has been replaced by "true".  (It is already present, as 
          H86).
---  Hypothesis H91 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H92 has been replaced by "true".  (It is already present, as 
          H32).
-S-  Applied substitution rule set_b_counte_rules(52).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H4:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx), [i___2]) and element(fld_b(local_ctx), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New H23:  bit__and(counter, 255) >= 0
<S>  New H37:  bit__and(spark__unsigned__shift_right_64(counter, 8), 255) >= 0
<S>  New H49:  bit__and(spark__unsigned__shift_right_64(counter, 16), 255) >= 0
<S>  New H61:  bit__and(spark__unsigned__shift_right_64(counter, 24), 255) >= 0
<S>  New H73:  bit__and(spark__unsigned__shift_right_64(counter, 32), 255) >= 0
<S>  New H85:  bit__and(spark__unsigned__shift_right_64(counter, 40), 255) >= 0
<S>  New C1:  bit__and(spark__unsigned__shift_right_64(counter, 48), 255) >= 0
<S>  New C3:  bit__and(spark__unsigned__shift_right_64(counter, 48), 255) >= 0
-S-  Applied substitution rule set_b_counte_rules(53).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H24:  bit__and(counter, 255) <= 255
<S>  New H38:  bit__and(spark__unsigned__shift_right_64(counter, 8), 255) <= 255
<S>  New H50:  bit__and(spark__unsigned__shift_right_64(counter, 16), 255) <= 
          255
<S>  New H62:  bit__and(spark__unsigned__shift_right_64(counter, 24), 255) <= 
          255
<S>  New H74:  bit__and(spark__unsigned__shift_right_64(counter, 32), 255) <= 
          255
<S>  New H86:  bit__and(spark__unsigned__shift_right_64(counter, 40), 255) <= 
          255
<S>  New H4:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx), [i___2]) and element(fld_b(local_ctx), [i___2]) <= 
          255)
<S>  New C2:  bit__and(spark__unsigned__shift_right_64(counter, 48), 255) <= 255
<S>  New C4:  bit__and(spark__unsigned__shift_right_64(counter, 48), 255) <= 255
-S-  Applied substitution rule set_b_counte_rules(7).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H6:  fld_byte_count(fld_h(local_ctx)) >= 0
-S-  Applied substitution rule set_b_counte_rules(8).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H7:  fld_byte_count(fld_h(local_ctx)) <= 2147483647
-S-  Applied substitution rule set_b_counte_rules(34).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__first by:
          0.
<S>  New H31:  counter >= 0
<S>  New H35:  spark__unsigned__shift_right_64(counter, 8) >= 0
<S>  New H47:  spark__unsigned__shift_right_64(counter, 16) >= 0
<S>  New H59:  spark__unsigned__shift_right_64(counter, 24) >= 0
<S>  New H71:  spark__unsigned__shift_right_64(counter, 32) >= 0
<S>  New H83:  spark__unsigned__shift_right_64(counter, 40) >= 0
<S>  New H95:  spark__unsigned__shift_right_64(counter, 48) >= 0
-S-  Applied substitution rule set_b_counte_rules(35).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__last by:
          18446744073709551615.
<S>  New H32:  counter <= 18446744073709551615
<S>  New H36:  spark__unsigned__shift_right_64(counter, 8) <= 
          18446744073709551615
<S>  New H48:  spark__unsigned__shift_right_64(counter, 16) <= 
          18446744073709551615
<S>  New H60:  spark__unsigned__shift_right_64(counter, 24) <= 
          18446744073709551615
<S>  New H72:  spark__unsigned__shift_right_64(counter, 32) <= 
          18446744073709551615
<S>  New H84:  spark__unsigned__shift_right_64(counter, 40) <= 
          18446744073709551615
<S>  New H96:  spark__unsigned__shift_right_64(counter, 48) <= 
          18446744073709551615
-S-  Applied substitution rule set_b_counte_rules(40).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H12:  fld_field_type(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule set_b_counte_rules(41).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H13:  fld_field_type(fld_tweak_words(fld_h(local_ctx))) <= 63
-S-  Applied substitution rule set_b_counte_rules(46).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H15:  fld_tree_level(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule set_b_counte_rules(47).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H16:  fld_tree_level(fld_tweak_words(fld_h(local_ctx))) <= 127
-S-  Applied substitution rule set_b_counte_rules(58).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H17:  fld_reserved(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule set_b_counte_rules(59).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H18:  fld_reserved(fld_tweak_words(fld_h(local_ctx))) <= 65535
-S-  Applied substitution rule set_b_counte_rules(64).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H19:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule set_b_counte_rules(65).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H20:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx))) <= 
          4294967295
-S-  Applied substitution rule set_b_counte_rules(70).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H2:  counter >= 0
<S>  New H5:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx), [i___1]) and element(fld_x(local_ctx), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H21:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule set_b_counte_rules(71).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H3:  counter <= 18446744073709551615
<S>  New H22:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx))) <= 
          18446744073709551615
<S>  New H5:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx), [i___1]) and element(fld_x(local_ctx), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule set_b_counte_rules(76).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__first by:
          0.
<S>  New H29:  true
<S>  New H41:  true
<S>  New H53:  true
<S>  New H65:  true
<S>  New H77:  true
<S>  New H89:  true
-S-  Applied substitution rule set_b_counte_rules(77).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__last by:
          64.
<S>  New H30:  true
<S>  New H42:  true
<S>  New H54:  true
<S>  New H66:  true
<S>  New H78:  true
<S>  New H90:  true
-S-  Applied substitution rule set_b_counte_rules(86).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H8:  fld_hash_bit_len(fld_h(local_ctx)) >= 0
-S-  Applied substitution rule set_b_counte_rules(87).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H9:  fld_hash_bit_len(fld_h(local_ctx)) <= 2147483640
-S-  Applied substitution rule set_b_counte_rules(91).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H5:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(local_ctx), [
          i___1]) and element(fld_x(local_ctx), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule set_b_counte_rules(92).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H5:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(local_ctx), [i___1]) and element(fld_x(local_ctx), [
          i___1]) <= 18446744073709551615)
-S-  Applied substitution rule set_b_counte_rules(96).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H4:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(local_ctx), [
          i___2]) and element(fld_b(local_ctx), [i___2]) <= 255)
<S>  New H27:  true
<S>  New H33:  true
<S>  New H45:  true
<S>  New H57:  true
<S>  New H69:  true
<S>  New H81:  true
<S>  New H93:  true
-S-  Applied substitution rule set_b_counte_rules(97).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H28:  true
<S>  New H34:  true
<S>  New H46:  true
<S>  New H58:  true
<S>  New H70:  true
<S>  New H82:  true
<S>  New H94:  true
<S>  New H4:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(local_ctx), [i___2]) and element(fld_b(local_ctx), [
          i___2]) <= 255)
***  Proved C1:  bit__and(spark__unsigned__shift_right_64(counter, 48), 255) >= 
          0
***  Proved C3:  bit__and(spark__unsigned__shift_right_64(counter, 48), 255) >= 
          0
***  Proved C2:  bit__and(spark__unsigned__shift_right_64(counter, 48), 255) <= 
          255
***  Proved C4:  bit__and(spark__unsigned__shift_right_64(counter, 48), 255) <= 
          255
***  PROVED VC.


@@@@@@@@@@  VC: procedure_set_b_counter_14.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx), [i___2]) 
          and element(fld_b(local_ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx), [i___1]) and 
          element(fld_x(local_ctx), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H25 has been replaced by "true".  (It is already present, as 
          H23).
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H39 has been replaced by "true".  (It is already present, as 
          H37).
---  Hypothesis H40 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H43 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H51 has been replaced by "true".  (It is already present, as 
          H49).
---  Hypothesis H52 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H63 has been replaced by "true".  (It is already present, as 
          H61).
---  Hypothesis H64 has been replaced by "true".  (It is already present, as 
          H62).
---  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).
---  Hypothesis H75 has been replaced by "true".  (It is already present, as 
          H73).
---  Hypothesis H76 has been replaced by "true".  (It is already present, as 
          H74).
---  Hypothesis H79 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H80 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H87 has been replaced by "true".  (It is already present, as 
          H85).
---  Hypothesis H88 has been replaced by "true".  (It is already present, as 
          H86).
---  Hypothesis H91 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H92 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H99 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H100 has been replaced by "true".  (It is already present, as 
          H98).
***  Proved C1:  56 >= spark__unsigned__shift_count__first
     using hypothesis H29.
***  Proved C3:  counter >= interfaces__unsigned_64__first
     using hypothesis H31.
***  Proved C4:  counter <= interfaces__unsigned_64__last
     using hypothesis H32.
***  Proved C5:  7 >= skein_512_block_bytes_index__first
     using hypothesis H27.
-S-  Applied substitution rule set_b_counte_rules(77).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__last by:
          64.
<S>  New H30:  true
<S>  New H42:  true
<S>  New H54:  true
<S>  New H66:  true
<S>  New H78:  true
<S>  New H90:  true
<S>  New C2:  true
-S-  Applied substitution rule set_b_counte_rules(97).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H4:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> spark__unsigned__byte__first <= element(
          fld_b(local_ctx), [i___2]) and element(fld_b(local_ctx), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New H28:  true
<S>  New H34:  true
<S>  New H46:  true
<S>  New H58:  true
<S>  New H70:  true
<S>  New H82:  true
<S>  New H94:  true
<S>  New C6:  true
***  Proved C2:  true
***  Proved C6:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_set_b_counter_15.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx), [i___2]) 
          and element(fld_b(local_ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx), [i___1]) and 
          element(fld_x(local_ctx), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H25 has been replaced by "true".  (It is already present, as 
          H23).
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H39 has been replaced by "true".  (It is already present, as 
          H37).
---  Hypothesis H40 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H43 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H51 has been replaced by "true".  (It is already present, as 
          H49).
---  Hypothesis H52 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H63 has been replaced by "true".  (It is already present, as 
          H61).
---  Hypothesis H64 has been replaced by "true".  (It is already present, as 
          H62).
---  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).
---  Hypothesis H75 has been replaced by "true".  (It is already present, as 
          H73).
---  Hypothesis H76 has been replaced by "true".  (It is already present, as 
          H74).
---  Hypothesis H79 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H80 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H87 has been replaced by "true".  (It is already present, as 
          H85).
---  Hypothesis H88 has been replaced by "true".  (It is already present, as 
          H86).
---  Hypothesis H91 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H92 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H99 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H100 has been replaced by "true".  (It is already present, as 
          H98).
---  Hypothesis H103 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H104 has been replaced by "true".  (It is already present, as 
          H32).
-S-  Applied substitution rule set_b_counte_rules(52).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H4:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx), [i___2]) and element(fld_b(local_ctx), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New H23:  bit__and(counter, 255) >= 0
<S>  New H37:  bit__and(spark__unsigned__shift_right_64(counter, 8), 255) >= 0
<S>  New H49:  bit__and(spark__unsigned__shift_right_64(counter, 16), 255) >= 0
<S>  New H61:  bit__and(spark__unsigned__shift_right_64(counter, 24), 255) >= 0
<S>  New H73:  bit__and(spark__unsigned__shift_right_64(counter, 32), 255) >= 0
<S>  New H85:  bit__and(spark__unsigned__shift_right_64(counter, 40), 255) >= 0
<S>  New H97:  bit__and(spark__unsigned__shift_right_64(counter, 48), 255) >= 0
<S>  New C1:  bit__and(spark__unsigned__shift_right_64(counter, 56), 255) >= 0
<S>  New C3:  bit__and(spark__unsigned__shift_right_64(counter, 56), 255) >= 0
-S-  Applied substitution rule set_b_counte_rules(53).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H24:  bit__and(counter, 255) <= 255
<S>  New H38:  bit__and(spark__unsigned__shift_right_64(counter, 8), 255) <= 255
<S>  New H50:  bit__and(spark__unsigned__shift_right_64(counter, 16), 255) <= 
          255
<S>  New H62:  bit__and(spark__unsigned__shift_right_64(counter, 24), 255) <= 
          255
<S>  New H74:  bit__and(spark__unsigned__shift_right_64(counter, 32), 255) <= 
          255
<S>  New H86:  bit__and(spark__unsigned__shift_right_64(counter, 40), 255) <= 
          255
<S>  New H98:  bit__and(spark__unsigned__shift_right_64(counter, 48), 255) <= 
          255
<S>  New H4:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx), [i___2]) and element(fld_b(local_ctx), [i___2]) <= 
          255)
<S>  New C2:  bit__and(spark__unsigned__shift_right_64(counter, 56), 255) <= 255
<S>  New C4:  bit__and(spark__unsigned__shift_right_64(counter, 56), 255) <= 255
-S-  Applied substitution rule set_b_counte_rules(7).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H6:  fld_byte_count(fld_h(local_ctx)) >= 0
-S-  Applied substitution rule set_b_counte_rules(8).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H7:  fld_byte_count(fld_h(local_ctx)) <= 2147483647
-S-  Applied substitution rule set_b_counte_rules(34).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__first by:
          0.
<S>  New H31:  counter >= 0
<S>  New H35:  spark__unsigned__shift_right_64(counter, 8) >= 0
<S>  New H47:  spark__unsigned__shift_right_64(counter, 16) >= 0
<S>  New H59:  spark__unsigned__shift_right_64(counter, 24) >= 0
<S>  New H71:  spark__unsigned__shift_right_64(counter, 32) >= 0
<S>  New H83:  spark__unsigned__shift_right_64(counter, 40) >= 0
<S>  New H95:  spark__unsigned__shift_right_64(counter, 48) >= 0
<S>  New H107:  spark__unsigned__shift_right_64(counter, 56) >= 0
-S-  Applied substitution rule set_b_counte_rules(35).
     This was achieved by replacing all occurrences of 
          interfaces__unsigned_64__last by:
          18446744073709551615.
<S>  New H32:  counter <= 18446744073709551615
<S>  New H36:  spark__unsigned__shift_right_64(counter, 8) <= 
          18446744073709551615
<S>  New H48:  spark__unsigned__shift_right_64(counter, 16) <= 
          18446744073709551615
<S>  New H60:  spark__unsigned__shift_right_64(counter, 24) <= 
          18446744073709551615
<S>  New H72:  spark__unsigned__shift_right_64(counter, 32) <= 
          18446744073709551615
<S>  New H84:  spark__unsigned__shift_right_64(counter, 40) <= 
          18446744073709551615
<S>  New H96:  spark__unsigned__shift_right_64(counter, 48) <= 
          18446744073709551615
<S>  New H108:  spark__unsigned__shift_right_64(counter, 56) <= 
          18446744073709551615
-S-  Applied substitution rule set_b_counte_rules(40).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H12:  fld_field_type(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule set_b_counte_rules(41).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H13:  fld_field_type(fld_tweak_words(fld_h(local_ctx))) <= 63
-S-  Applied substitution rule set_b_counte_rules(46).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H15:  fld_tree_level(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule set_b_counte_rules(47).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H16:  fld_tree_level(fld_tweak_words(fld_h(local_ctx))) <= 127
-S-  Applied substitution rule set_b_counte_rules(58).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H17:  fld_reserved(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule set_b_counte_rules(59).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H18:  fld_reserved(fld_tweak_words(fld_h(local_ctx))) <= 65535
-S-  Applied substitution rule set_b_counte_rules(64).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H19:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule set_b_counte_rules(65).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H20:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx))) <= 
          4294967295
-S-  Applied substitution rule set_b_counte_rules(70).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H2:  counter >= 0
<S>  New H5:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx), [i___1]) and element(fld_x(local_ctx), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H21:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule set_b_counte_rules(71).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H3:  counter <= 18446744073709551615
<S>  New H22:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx))) <= 
          18446744073709551615
<S>  New H5:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx), [i___1]) and element(fld_x(local_ctx), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule set_b_counte_rules(76).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__first by:
          0.
<S>  New H29:  true
<S>  New H41:  true
<S>  New H53:  true
<S>  New H65:  true
<S>  New H77:  true
<S>  New H89:  true
<S>  New H101:  true
-S-  Applied substitution rule set_b_counte_rules(77).
     This was achieved by replacing all occurrences of 
          spark__unsigned__shift_count__last by:
          64.
<S>  New H30:  true
<S>  New H42:  true
<S>  New H54:  true
<S>  New H66:  true
<S>  New H78:  true
<S>  New H90:  true
<S>  New H102:  true
-S-  Applied substitution rule set_b_counte_rules(86).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H8:  fld_hash_bit_len(fld_h(local_ctx)) >= 0
-S-  Applied substitution rule set_b_counte_rules(87).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H9:  fld_hash_bit_len(fld_h(local_ctx)) <= 2147483640
-S-  Applied substitution rule set_b_counte_rules(91).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H5:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(local_ctx), [
          i___1]) and element(fld_x(local_ctx), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule set_b_counte_rules(92).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H5:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(local_ctx), [i___1]) and element(fld_x(local_ctx), [
          i___1]) <= 18446744073709551615)
-S-  Applied substitution rule set_b_counte_rules(96).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H4:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(local_ctx), [
          i___2]) and element(fld_b(local_ctx), [i___2]) <= 255)
<S>  New H27:  true
<S>  New H33:  true
<S>  New H45:  true
<S>  New H57:  true
<S>  New H69:  true
<S>  New H81:  true
<S>  New H93:  true
<S>  New H105:  true
-S-  Applied substitution rule set_b_counte_rules(97).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H28:  true
<S>  New H34:  true
<S>  New H46:  true
<S>  New H58:  true
<S>  New H70:  true
<S>  New H82:  true
<S>  New H94:  true
<S>  New H106:  true
<S>  New H4:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(local_ctx), [i___2]) and element(fld_b(local_ctx), [
          i___2]) <= 255)
***  Proved C1:  bit__and(spark__unsigned__shift_right_64(counter, 56), 255) >= 
          0
***  Proved C3:  bit__and(spark__unsigned__shift_right_64(counter, 56), 255) >= 
          0
***  Proved C2:  bit__and(spark__unsigned__shift_right_64(counter, 56), 255) <= 
          255
***  Proved C4:  bit__and(spark__unsigned__shift_right_64(counter, 56), 255) <= 
          255
***  PROVED VC.


@@@@@@@@@@  VC: procedure_set_b_counter_16.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx), [i___2]) 
          and element(fld_b(local_ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx), [i___1]) and 
          element(fld_x(local_ctx), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H25 has been replaced by "true".  (It is already present, as 
          H23).
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H39 has been replaced by "true".  (It is already present, as 
          H37).
---  Hypothesis H40 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H43 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H51 has been replaced by "true".  (It is already present, as 
          H49).
---  Hypothesis H52 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H63 has been replaced by "true".  (It is already present, as 
          H61).
---  Hypothesis H64 has been replaced by "true".  (It is already present, as 
          H62).
---  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).
---  Hypothesis H75 has been replaced by "true".  (It is already present, as 
          H73).
---  Hypothesis H76 has been replaced by "true".  (It is already present, as 
          H74).
---  Hypothesis H79 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H80 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H87 has been replaced by "true".  (It is already present, as 
          H85).
---  Hypothesis H88 has been replaced by "true".  (It is already present, as 
          H86).
---  Hypothesis H91 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H92 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H99 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H100 has been replaced by "true".  (It is already present, as 
          H98).
---  Hypothesis H103 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H104 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H111 has been replaced by "true".  (It is already present, as 
          H109).
---  Hypothesis H112 has been replaced by "true".  (It is already present, as 
          H110).
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  fld_hash_bit_len(fld_h(local_ctx)) > 0
***  Proved C1:  fld_hash_bit_len(fld_h(local_ctx)) > 0
     using hypothesis H1.
***  PROVED VC.

