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

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



SPARK Simplifier Pro Edition


procedure Skein.Skein_512_Update






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


@@@@@@@@@@  VC: procedure_skein_512_update_1.  @@@@@@@@@@
%%%  Simplified H8 on reading formula in, to give:
     %%%  H8:  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(ctx), [i___2]) and 
          element(fld_b(ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  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(ctx), [i___1]) and 
          element(fld_x(ctx), [i___1]) <= spark__unsigned__u64__last)
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(msg, [i___1]) and element(
          msg, [i___1]) <= spark__unsigned__byte__last)
-S-  Applied substitution rule skein_512_up_rules(8).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H10:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New C1:  msg__index__subtype__1__last >= - 1
-S-  Applied substitution rule skein_512_up_rules(9).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H6:  msg__index__subtype__1__last < 2147483647
<S>  New H7:  msg__index__subtype__1__last + skein_512_block_bytes_c <= 
          2147483646
<S>  New H11:  fld_byte_count(fld_h(ctx)) <= 2147483647
<S>  New C2:  msg__index__subtype__1__last <= 2147483646
***  Proved C2:  msg__index__subtype__1__last <= 2147483646
     using hypothesis H6.
-S-  Applied substitution rule skein_512_up_rules(1).
     This was achieved by replacing all occurrences of skein_512_block_bytes_c 
          by:
          64.
<S>  New H7:  msg__index__subtype__1__last <= 2147483582
-S-  Applied substitution rule skein_512_up_rules(41).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H16:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(42).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H17:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 63
-S-  Applied substitution rule skein_512_up_rules(47).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H19:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(48).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H20:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 127
-S-  Applied substitution rule skein_512_up_rules(53).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H8:  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(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 0 <= element(msg, [i___1]
          ) and element(msg, [i___1]) <= spark__unsigned__byte__last)
-S-  Applied substitution rule skein_512_up_rules(54).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H8:  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(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 255)
<S>  New H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 0 <= element(msg, [i___1]
          ) and element(msg, [i___1]) <= 255)
-S-  Applied substitution rule skein_512_up_rules(59).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H21:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(60).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H22:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 65535
-S-  Applied substitution rule skein_512_up_rules(65).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H23:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(66).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H24:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 4294967295
-S-  Applied substitution rule skein_512_up_rules(71).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H9:  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(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H25:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(72).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H26:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          18446744073709551615
<S>  New H9:  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(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(82).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H12:  fld_hash_bit_len(fld_h(ctx)) >= 0
-S-  Applied substitution rule skein_512_up_rules(83).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H13:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
-S-  Applied substitution rule skein_512_up_rules(87).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__first by:
          1.
<S>  New H1:  fld_hash_bit_len(fld_h(ctx)) >= 1
-S-  Applied substitution rule skein_512_up_rules(88).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__last by:
          2147483640.
<S>  New H2:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
-S-  Applied substitution rule skein_512_up_rules(92).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H9:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(ctx), [i___1])
           and element(fld_x(ctx), [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(93).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H9:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(97).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__first by:
          0.
<S>  New H3:  fld_byte_count(fld_h(ctx)) >= 0
-S-  Applied substitution rule skein_512_up_rules(98).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__last by:
          64.
<S>  New H4:  fld_byte_count(fld_h(ctx)) <= 64
-S-  Applied substitution rule skein_512_up_rules(102).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H8:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(ctx), [i___2])
           and element(fld_b(ctx), [i___2]) <= 255)
-S-  Applied substitution rule skein_512_up_rules(103).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H8:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 255)
---  Eliminated hypothesis H14 (true-hypothesis).
---  Eliminated hypothesis H15 (true-hypothesis).
---  Eliminated hypothesis H18 (true-hypothesis).
---  Eliminated hypothesis H13 (duplicate of H2).
---  Eliminated hypothesis H10 (duplicate of H3).
---  Eliminated hypothesis H6 (redundant, given H7).
---  Eliminated hypothesis H11 (redundant, given H4).
---  Eliminated hypothesis H12 (redundant, given H1).
***  Proved C1:  msg__index__subtype__1__last >= - 1
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_update_2.  @@@@@@@@@@
%%%  Simplified H8 on reading formula in, to give:
     %%%  H8:  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(ctx), [i___2]) and 
          element(fld_b(ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  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(ctx), [i___1]) and 
          element(fld_x(ctx), [i___1]) <= spark__unsigned__u64__last)
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(msg, [i___1]) and element(
          msg, [i___1]) <= spark__unsigned__byte__last)
-S-  Applied substitution rule skein_512_up_rules(8).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H10:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H28:  msg__index__subtype__1__last >= - 1
<S>  New C1:  true
-S-  Applied substitution rule skein_512_up_rules(9).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H6:  msg__index__subtype__1__last < 2147483647
<S>  New H7:  msg__index__subtype__1__last + skein_512_block_bytes_c <= 
          2147483646
<S>  New H11:  fld_byte_count(fld_h(ctx)) <= 2147483647
<S>  New H29:  msg__index__subtype__1__last <= 2147483646
<S>  New C2:  true
***  Proved C1:  true
***  Proved C2:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_update_3.  @@@@@@@@@@
%%%  Simplified H8 on reading formula in, to give:
     %%%  H8:  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(ctx), [i___2]) and 
          element(fld_b(ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  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(ctx), [i___1]) and 
          element(fld_x(ctx), [i___1]) <= spark__unsigned__u64__last)
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(msg, [i___1]) and element(
          msg, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H29).
-S-  Applied substitution rule skein_512_up_rules(5).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New C1:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) >= 
          - 2147483648
-S-  Applied substitution rule skein_512_up_rules(6).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New C2:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) <= 
          2147483647
-S-  Applied substitution rule skein_512_up_rules(1).
     This was achieved by replacing all occurrences of skein_512_block_bytes_c 
          by:
          64.
<S>  New H7:  msg__index__subtype__1__last + 65 <= natural__last
-S-  Applied substitution rule skein_512_up_rules(8).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H10:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H28:  msg__index__subtype__1__last >= - 1
<S>  New H30:  true
-S-  Applied substitution rule skein_512_up_rules(9).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H6:  msg__index__subtype__1__last < 2147483647
<S>  New H11:  fld_byte_count(fld_h(ctx)) <= 2147483647
<S>  New H29:  msg__index__subtype__1__last <= 2147483646
<S>  New H31:  true
<S>  New H7:  msg__index__subtype__1__last <= 2147483582
-S-  Applied substitution rule skein_512_up_rules(41).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H16:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(42).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H17:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 63
-S-  Applied substitution rule skein_512_up_rules(47).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H19:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(48).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H20:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 127
-S-  Applied substitution rule skein_512_up_rules(53).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H8:  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(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 0 <= element(msg, [i___1]
          ) and element(msg, [i___1]) <= spark__unsigned__byte__last)
-S-  Applied substitution rule skein_512_up_rules(54).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H8:  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(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 255)
<S>  New H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 0 <= element(msg, [i___1]
          ) and element(msg, [i___1]) <= 255)
-S-  Applied substitution rule skein_512_up_rules(59).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H21:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(60).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H22:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 65535
-S-  Applied substitution rule skein_512_up_rules(65).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H23:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(66).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H24:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 4294967295
-S-  Applied substitution rule skein_512_up_rules(71).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H9:  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(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H25:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(72).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H26:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          18446744073709551615
<S>  New H9:  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(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(82).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H12:  fld_hash_bit_len(fld_h(ctx)) >= 0
-S-  Applied substitution rule skein_512_up_rules(83).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H13:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
-S-  Applied substitution rule skein_512_up_rules(87).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__first by:
          1.
<S>  New H1:  fld_hash_bit_len(fld_h(ctx)) >= 1
-S-  Applied substitution rule skein_512_up_rules(88).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__last by:
          2147483640.
<S>  New H2:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
-S-  Applied substitution rule skein_512_up_rules(92).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H9:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(ctx), [i___1])
           and element(fld_x(ctx), [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(93).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H9:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(97).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__first by:
          0.
<S>  New H3:  fld_byte_count(fld_h(ctx)) >= 0
-S-  Applied substitution rule skein_512_up_rules(98).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__last by:
          64.
<S>  New H4:  fld_byte_count(fld_h(ctx)) <= 64
-S-  Applied substitution rule skein_512_up_rules(102).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H8:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(ctx), [i___2])
           and element(fld_b(ctx), [i___2]) <= 255)
-S-  Applied substitution rule skein_512_up_rules(103).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H8:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 255)
***  Proved C1:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) 
          >= - 2147483648
     using hypotheses H10 & H28.
***  Proved C2:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) 
          <= 2147483647
     using hypotheses H4 & H7.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_update_4.  @@@@@@@@@@
%%%  Simplified H8 on reading formula in, to give:
     %%%  H8:  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(ctx), [i___2]) and 
          element(fld_b(ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  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(ctx), [i___1]) and 
          element(fld_x(ctx), [i___1]) <= spark__unsigned__u64__last)
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(msg, [i___1]) and element(
          msg, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H29).
-S-  Applied substitution rule skein_512_up_rules(102).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H8:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> spark__unsigned__byte__first <= 
          element(fld_b(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New C1:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) >= 0
-S-  Applied substitution rule skein_512_up_rules(103).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H8:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 
          spark__unsigned__byte__first <= element(fld_b(ctx), [i___2]) and 
          element(fld_b(ctx), [i___2]) <= spark__unsigned__byte__last)
<S>  New C2:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) <= 63
-S-  Applied substitution rule skein_512_up_rules(1).
     This was achieved by replacing all occurrences of skein_512_block_bytes_c 
          by:
          64.
<S>  New H7:  msg__index__subtype__1__last + 65 <= natural__last
<S>  New H36:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) > 
          64
<S>  New C1:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New C2:  1 <= fld_byte_count(fld_h(ctx))
-S-  Applied substitution rule skein_512_up_rules(5).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H34:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) >= 
          - 2147483648
-S-  Applied substitution rule skein_512_up_rules(6).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H35:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) <= 
          2147483647
-S-  Applied substitution rule skein_512_up_rules(8).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H10:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H28:  msg__index__subtype__1__last >= - 1
<S>  New H30:  true
-S-  Applied substitution rule skein_512_up_rules(9).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H6:  msg__index__subtype__1__last < 2147483647
<S>  New H11:  fld_byte_count(fld_h(ctx)) <= 2147483647
<S>  New H29:  msg__index__subtype__1__last <= 2147483646
<S>  New H31:  true
<S>  New H7:  msg__index__subtype__1__last <= 2147483582
-S-  Applied substitution rule skein_512_up_rules(41).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H16:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(42).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H17:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 63
-S-  Applied substitution rule skein_512_up_rules(47).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H19:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(48).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H20:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 127
-S-  Applied substitution rule skein_512_up_rules(53).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H8:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 0 <= element(msg, [i___1]
          ) and element(msg, [i___1]) <= spark__unsigned__byte__last)
-S-  Applied substitution rule skein_512_up_rules(54).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H8:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 255)
<S>  New H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 0 <= element(msg, [i___1]
          ) and element(msg, [i___1]) <= 255)
-S-  Applied substitution rule skein_512_up_rules(59).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H21:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(60).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H22:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 65535
-S-  Applied substitution rule skein_512_up_rules(65).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H23:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(66).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H24:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 4294967295
-S-  Applied substitution rule skein_512_up_rules(71).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H9:  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(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H25:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(72).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H26:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          18446744073709551615
<S>  New H9:  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(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(82).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H12:  fld_hash_bit_len(fld_h(ctx)) >= 0
-S-  Applied substitution rule skein_512_up_rules(83).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H13:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
-S-  Applied substitution rule skein_512_up_rules(87).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__first by:
          1.
<S>  New H1:  fld_hash_bit_len(fld_h(ctx)) >= 1
-S-  Applied substitution rule skein_512_up_rules(88).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__last by:
          2147483640.
<S>  New H2:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
-S-  Applied substitution rule skein_512_up_rules(92).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H9:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(ctx), [i___1])
           and element(fld_x(ctx), [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(93).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H9:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(97).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__first by:
          0.
<S>  New H3:  fld_byte_count(fld_h(ctx)) >= 0
-S-  Applied substitution rule skein_512_up_rules(98).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__last by:
          64.
<S>  New H4:  fld_byte_count(fld_h(ctx)) <= 64
***  Proved C1:  fld_byte_count(fld_h(ctx)) <= 64
     using hypothesis H4.
***  Proved C2:  1 <= fld_byte_count(fld_h(ctx))
     using hypothesis H37.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_update_5.  @@@@@@@@@@
%%%  Simplified H8 on reading formula in, to give:
     %%%  H8:  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(ctx), [i___2]) and 
          element(fld_b(ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  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(ctx), [i___1]) and 
          element(fld_x(ctx), [i___1]) <= spark__unsigned__u64__last)
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(msg, [i___1]) and element(
          msg, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H29).
-S-  Applied substitution rule skein_512_up_rules(1).
     This was achieved by replacing all occurrences of skein_512_block_bytes_c 
          by:
          64.
<S>  New H7:  msg__index__subtype__1__last + 65 <= natural__last
<S>  New H36:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) > 
          64
<S>  New H38:  64 - fld_byte_count(fld_h(ctx)) >= 
          skein_512_block_bytes_index__first
<S>  New H39:  64 - fld_byte_count(fld_h(ctx)) <= 
          skein_512_block_bytes_index__last
<S>  New C1:  64 - fld_byte_count(fld_h(ctx)) < msg__index__subtype__1__last + 1
-S-  Applied substitution rule skein_512_up_rules(5).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H34:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) >= 
          - 2147483648
-S-  Applied substitution rule skein_512_up_rules(6).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H35:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) <= 
          2147483647
-S-  Applied substitution rule skein_512_up_rules(8).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H10:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H28:  msg__index__subtype__1__last >= - 1
<S>  New H30:  true
-S-  Applied substitution rule skein_512_up_rules(9).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H6:  msg__index__subtype__1__last < 2147483647
<S>  New H11:  fld_byte_count(fld_h(ctx)) <= 2147483647
<S>  New H29:  msg__index__subtype__1__last <= 2147483646
<S>  New H31:  true
<S>  New H7:  msg__index__subtype__1__last <= 2147483582
-S-  Applied substitution rule skein_512_up_rules(41).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H16:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(42).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H17:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 63
-S-  Applied substitution rule skein_512_up_rules(47).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H19:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(48).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H20:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 127
-S-  Applied substitution rule skein_512_up_rules(53).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H8:  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(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 0 <= element(msg, [i___1]
          ) and element(msg, [i___1]) <= spark__unsigned__byte__last)
-S-  Applied substitution rule skein_512_up_rules(54).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H8:  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(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 255)
<S>  New H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 0 <= element(msg, [i___1]
          ) and element(msg, [i___1]) <= 255)
-S-  Applied substitution rule skein_512_up_rules(59).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H21:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(60).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H22:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 65535
-S-  Applied substitution rule skein_512_up_rules(65).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H23:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(66).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H24:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 4294967295
-S-  Applied substitution rule skein_512_up_rules(71).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H9:  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(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H25:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(72).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H26:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          18446744073709551615
<S>  New H9:  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(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(82).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H12:  fld_hash_bit_len(fld_h(ctx)) >= 0
-S-  Applied substitution rule skein_512_up_rules(83).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H13:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
-S-  Applied substitution rule skein_512_up_rules(87).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__first by:
          1.
<S>  New H1:  fld_hash_bit_len(fld_h(ctx)) >= 1
-S-  Applied substitution rule skein_512_up_rules(88).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__last by:
          2147483640.
<S>  New H2:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
-S-  Applied substitution rule skein_512_up_rules(92).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H9:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(ctx), [i___1])
           and element(fld_x(ctx), [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(93).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H9:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(97).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__first by:
          0.
<S>  New H3:  fld_byte_count(fld_h(ctx)) >= 0
-S-  Applied substitution rule skein_512_up_rules(98).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__last by:
          64.
<S>  New H4:  fld_byte_count(fld_h(ctx)) <= 64
-S-  Applied substitution rule skein_512_up_rules(102).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H38:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New H8:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(ctx), [i___2])
           and element(fld_b(ctx), [i___2]) <= 255)
-S-  Applied substitution rule skein_512_up_rules(103).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H39:  1 <= fld_byte_count(fld_h(ctx))
<S>  New H8:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 255)
***  Proved C1:  64 - fld_byte_count(fld_h(ctx)) < msg__index__subtype__1__last 
          + 1
     via its standard form, which is:
     Std.Fm C1:  msg__index__subtype__1__last + fld_byte_count(fld_h(ctx)) > 63
     using hypothesis H36.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_update_6.  @@@@@@@@@@
%%%  Simplified H8 on reading formula in, to give:
     %%%  H8:  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(ctx), [i___2]) and 
          element(fld_b(ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  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(ctx), [i___1]) and 
          element(fld_x(ctx), [i___1]) <= spark__unsigned__u64__last)
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(msg, [i___1]) and element(
          msg, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H29).
***  Proved C1:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) <= 
          msg__index__subtype__1__last + 1
     using hypothesis H40.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_update_7.  @@@@@@@@@@
%%%  Simplified H8 on reading formula in, to give:
     %%%  H8:  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(ctx), [i___2]) and 
          element(fld_b(ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  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(ctx), [i___1]) and 
          element(fld_x(ctx), [i___1]) <= spark__unsigned__u64__last)
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(msg, [i___1]) and element(
          msg, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H42 has been replaced by "true".  (It is already present, as 
          H30).
---  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 
          H38).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H39).
%%%  Simplified C9 on reading formula in, to give:
     %%%  C9:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) - 1 <= 
          msg__index__subtype__1__last
***  Proved C2:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) <= 
          natural__last
     using hypotheses H29 & H41.
***  Proved C3:  0 >= natural__first
     using hypothesis H30.
***  Proved C4:  0 <= natural__last
     using hypothesis H31.
***  Proved C6:  msg__index__subtype__1__first = 0
     using hypothesis H5.
***  Proved C7:  0 >= msg__index__subtype__1__first
     using hypothesis H5.
-S-  Applied substitution rule skein_512_up_rules(8).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H10:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H28:  msg__index__subtype__1__last >= - 1
<S>  New H30:  true
<S>  New C1:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) >= 0
-S-  Applied substitution rule skein_512_up_rules(103).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H8:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> spark__unsigned__byte__first <= element(
          fld_b(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New H39:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) <= 63
<S>  New C10:  fld_byte_count(fld_h(ctx)) + (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx)) - 1) <= 63
-S-  Applied substitution rule skein_512_up_rules(1).
     This was achieved by replacing all occurrences of skein_512_block_bytes_c 
          by:
          64.
<S>  New H7:  msg__index__subtype__1__last + 65 <= natural__last
<S>  New H36:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) > 
          64
<S>  New H38:  64 - fld_byte_count(fld_h(ctx)) >= 
          skein_512_block_bytes_index__first
<S>  New H39:  1 <= fld_byte_count(fld_h(ctx))
<S>  New H40:  64 - fld_byte_count(fld_h(ctx)) < msg__index__subtype__1__last + 
          1
<S>  New H41:  64 - fld_byte_count(fld_h(ctx)) <= msg__index__subtype__1__last 
          + 1
<S>  New C9:  64 - fld_byte_count(fld_h(ctx)) - 1 <= 
          msg__index__subtype__1__last
<S>  New C1:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New C10:  fld_byte_count(fld_h(ctx)) + (64 - fld_byte_count(fld_h(ctx)) - 
          1) <= 63
-S-  Applied substitution rule skein_512_up_rules(5).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H34:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) >= 
          - 2147483648
-S-  Applied substitution rule skein_512_up_rules(6).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H35:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) <= 
          2147483647
-S-  Applied substitution rule skein_512_up_rules(9).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H6:  msg__index__subtype__1__last < 2147483647
<S>  New H11:  fld_byte_count(fld_h(ctx)) <= 2147483647
<S>  New H29:  msg__index__subtype__1__last <= 2147483646
<S>  New H31:  true
<S>  New H7:  msg__index__subtype__1__last <= 2147483582
-S-  Applied substitution rule skein_512_up_rules(41).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H16:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(42).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H17:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 63
-S-  Applied substitution rule skein_512_up_rules(47).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H19:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(48).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H20:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 127
-S-  Applied substitution rule skein_512_up_rules(53).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H8:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> 0 <= element(fld_b(ctx), [i___2]) and 
          element(fld_b(ctx), [i___2]) <= spark__unsigned__byte__last)
<S>  New H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 0 <= element(msg, [i___1]
          ) and element(msg, [i___1]) <= spark__unsigned__byte__last)
-S-  Applied substitution rule skein_512_up_rules(54).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H8:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> 0 <= element(fld_b(ctx), [i___2]) and 
          element(fld_b(ctx), [i___2]) <= 255)
<S>  New H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 0 <= element(msg, [i___1]
          ) and element(msg, [i___1]) <= 255)
-S-  Applied substitution rule skein_512_up_rules(59).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H21:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(60).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H22:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 65535
-S-  Applied substitution rule skein_512_up_rules(65).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H23:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(66).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H24:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 4294967295
-S-  Applied substitution rule skein_512_up_rules(71).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H9:  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(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H25:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(72).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H26:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          18446744073709551615
<S>  New H9:  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(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(82).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H12:  fld_hash_bit_len(fld_h(ctx)) >= 0
-S-  Applied substitution rule skein_512_up_rules(83).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H13:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
-S-  Applied substitution rule skein_512_up_rules(87).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__first by:
          1.
<S>  New H1:  fld_hash_bit_len(fld_h(ctx)) >= 1
-S-  Applied substitution rule skein_512_up_rules(88).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__last by:
          2147483640.
<S>  New H2:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
-S-  Applied substitution rule skein_512_up_rules(92).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H9:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(ctx), [i___1])
           and element(fld_x(ctx), [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(93).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H9:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(97).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__first by:
          0.
<S>  New H3:  fld_byte_count(fld_h(ctx)) >= 0
-S-  Applied substitution rule skein_512_up_rules(98).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__last by:
          64.
<S>  New H4:  fld_byte_count(fld_h(ctx)) <= 64
-S-  Applied substitution rule skein_512_up_rules(102).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H38:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New H8:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 255)
***  Proved C5:  fld_hash_bit_len(fld_h(ctx)) > 0
     using hypothesis H1.
***  Proved C9:  64 - fld_byte_count(fld_h(ctx)) - 1 <= 
          msg__index__subtype__1__last
     via its standard form, which is:
     Std.Fm C9:  msg__index__subtype__1__last + fld_byte_count(fld_h(ctx)) > 62
     using hypothesis H41.
***  Proved C1:  fld_byte_count(fld_h(ctx)) <= 64
     using hypothesis H4.
***  Proved C10:  fld_byte_count(fld_h(ctx)) + (64 - fld_byte_count(fld_h(ctx)) 
          - 1) <= 63
     via its standard form, which is:
     Std.Fm C10:  true
---  Eliminated hypothesis H14 (true-hypothesis).
---  Eliminated hypothesis H15 (true-hypothesis).
---  Eliminated hypothesis H18 (true-hypothesis).
---  Eliminated hypothesis H30 (true-hypothesis).
---  Eliminated hypothesis H32 (true-hypothesis).
---  Eliminated hypothesis H33 (true-hypothesis).
---  Eliminated hypothesis H42 (true-hypothesis).
---  Eliminated hypothesis H43 (true-hypothesis).
---  Eliminated hypothesis H44 (true-hypothesis).
---  Eliminated hypothesis H45 (true-hypothesis).
---  Eliminated hypothesis H31 (true-hypothesis).
---  Eliminated hypothesis H39 (duplicate of H37).
---  Eliminated hypothesis H13 (duplicate of H2).
---  Eliminated hypothesis H10 (duplicate of H3).
---  Eliminated hypothesis H38 (duplicate of H4).
---  Eliminated hypothesis H29 (duplicate of H6).
---  Eliminated hypothesis H40 (duplicate of H36).
---  Eliminated hypothesis H3 (redundant, given H37).
---  Eliminated hypothesis H6 (redundant, given H7).
---  Eliminated hypothesis H11 (redundant, given H4).
---  Eliminated hypothesis H12 (redundant, given H1).
---  Eliminated hypothesis H28 (redundant, given H4 & H36).
---  Eliminated hypothesis H34 (redundant, given H36).
---  Eliminated hypothesis H41 (redundant, given H36).
***  Proved C8:  0 <= msg__index__subtype__1__last
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_update_8.  @@@@@@@@@@
%%%  Simplified H8 on reading formula in, to give:
     %%%  H8:  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(ctx), [i___2]) and 
          element(fld_b(ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  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(ctx), [i___1]) and 
          element(fld_x(ctx), [i___1]) <= spark__unsigned__u64__last)
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(msg, [i___1]) and element(
          msg, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H42 has been replaced by "true".  (It is already present, as 
          H30).
---  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 
          H38).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H48 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H49 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H51 has been replaced by "true".  (It is already present, as H5)
          .
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) - 1 <= 
          msg__index__subtype__1__last
%%%  Simplified H61 on reading formula in, to give:
     %%%  H61:  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(ctx__1), [i___2]) and 
          element(fld_b(ctx__1), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H62 on reading formula in, to give:
     %%%  H62:  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(ctx__1), [i___1]) and 
          element(fld_x(ctx__1), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H80 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H81 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H82 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H83 has been replaced by "true".  (It is already present, as 
          H39).
-S-  Applied substitution rule skein_512_up_rules(8).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H10:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H28:  msg__index__subtype__1__last >= - 1
<S>  New H30:  true
<S>  New H46:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) >= 0
<S>  New H63:  fld_byte_count(fld_h(ctx__1)) >= 0
<S>  New C1:  msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(9).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H6:  msg__index__subtype__1__last < 2147483647
<S>  New H7:  msg__index__subtype__1__last + skein_512_block_bytes_c <= 
          2147483646
<S>  New H11:  fld_byte_count(fld_h(ctx)) <= 2147483647
<S>  New H29:  msg__index__subtype__1__last <= 2147483646
<S>  New H31:  true
<S>  New H47:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) <= 
          2147483647
<S>  New H64:  fld_byte_count(fld_h(ctx__1)) <= 2147483647
<S>  New C2:  msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) <= 2147483647
***  Proved C1:  msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) >= 0
     using hypothesis H41.
***  Proved C2:  msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) <= 2147483647
     using hypotheses H29 & H46.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_update_9.  @@@@@@@@@@
%%%  Simplified H8 on reading formula in, to give:
     %%%  H8:  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(ctx), [i___2]) and 
          element(fld_b(ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  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(ctx), [i___1]) and 
          element(fld_x(ctx), [i___1]) <= spark__unsigned__u64__last)
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(msg, [i___1]) and element(
          msg, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H42 has been replaced by "true".  (It is already present, as 
          H30).
---  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 
          H38).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H48 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H49 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H51 has been replaced by "true".  (It is already present, as H5)
          .
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) - 1 <= 
          msg__index__subtype__1__last
%%%  Simplified H61 on reading formula in, to give:
     %%%  H61:  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(ctx__1), [i___2]) and 
          element(fld_b(ctx__1), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H62 on reading formula in, to give:
     %%%  H62:  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(ctx__1), [i___1]) and 
          element(fld_x(ctx__1), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H80 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H81 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H82 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H83 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H86 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H87 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H88 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H89 has been replaced by "true".  (It is already present, as 
          H31).
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) >= 
          natural__first
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) <= 
          natural__last
***  Proved C1:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) >= 
          natural__first
     using hypothesis H46.
***  Proved C2:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) <= 
          natural__last
     using hypothesis H47.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_update_10.  @@@@@@@@@@
%%%  Simplified H8 on reading formula in, to give:
     %%%  H8:  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(ctx), [i___2]) and 
          element(fld_b(ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  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(ctx), [i___1]) and 
          element(fld_x(ctx), [i___1]) <= spark__unsigned__u64__last)
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(msg, [i___1]) and element(
          msg, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H42 has been replaced by "true".  (It is already present, as 
          H30).
---  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 
          H38).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H48 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H49 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H51 has been replaced by "true".  (It is already present, as H5)
          .
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) - 1 <= 
          msg__index__subtype__1__last
%%%  Simplified H61 on reading formula in, to give:
     %%%  H61:  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(ctx__1), [i___2]) and 
          element(fld_b(ctx__1), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H62 on reading formula in, to give:
     %%%  H62:  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(ctx__1), [i___1]) and 
          element(fld_x(ctx__1), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H80 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H81 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H82 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H83 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H86 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H87 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H88 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H89 has been replaced by "true".  (It is already present, as 
          H31).
%%%  Simplified H90 on reading formula in, to give:
     %%%  H90:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) >= 
          natural__first
%%%  Simplified H91 on reading formula in, to give:
     %%%  H91:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) <= 
          natural__last
-S-  Applied substitution rule skein_512_up_rules(1).
     This was achieved by replacing all occurrences of skein_512_block_bytes_c 
          by:
          64.
<S>  New H7:  msg__index__subtype__1__last + 65 <= natural__last
<S>  New H36:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) > 
          64
<S>  New H38:  64 - fld_byte_count(fld_h(ctx)) >= 
          skein_512_block_bytes_index__first
<S>  New H39:  64 - fld_byte_count(fld_h(ctx)) <= 
          skein_512_block_bytes_index__last
<S>  New H40:  64 - fld_byte_count(fld_h(ctx)) < msg__index__subtype__1__last + 
          1
<S>  New H41:  64 - fld_byte_count(fld_h(ctx)) <= msg__index__subtype__1__last 
          + 1
<S>  New H46:  64 - fld_byte_count(fld_h(ctx)) >= natural__first
<S>  New H47:  64 - fld_byte_count(fld_h(ctx)) <= natural__last
<S>  New H54:  64 - fld_byte_count(fld_h(ctx)) - 1 <= 
          msg__index__subtype__1__last
<S>  New H55:  fld_byte_count(fld_h(ctx)) + (64 - fld_byte_count(fld_h(ctx)) - 
          1) <= skein_512_block_bytes_index__last
<S>  New H58:  fld_byte_count(fld_h(ctx__1)) = fld_byte_count(fld_h(ctx)) + (64 
          - fld_byte_count(fld_h(ctx)))
<S>  New H84:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) >= natural__first
<S>  New H85:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) <= natural__last
<S>  New H90:  64 - fld_byte_count(fld_h(ctx)) >= natural__first
<S>  New H91:  64 - fld_byte_count(fld_h(ctx)) <= natural__last
<S>  New C1:  fld_byte_count(fld_h(ctx__1)) = 64
-S-  Applied substitution rule skein_512_up_rules(5).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H34:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) >= 
          - 2147483648
-S-  Applied substitution rule skein_512_up_rules(6).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H35:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) <= 
          2147483647
-S-  Applied substitution rule skein_512_up_rules(8).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H10:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H28:  msg__index__subtype__1__last >= - 1
<S>  New H30:  true
<S>  New H63:  fld_byte_count(fld_h(ctx__1)) >= 0
<S>  New H46:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New H84:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) >= 0
<S>  New H90:  fld_byte_count(fld_h(ctx)) <= 64
-S-  Applied substitution rule skein_512_up_rules(9).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H6:  msg__index__subtype__1__last < 2147483647
<S>  New H11:  fld_byte_count(fld_h(ctx)) <= 2147483647
<S>  New H29:  msg__index__subtype__1__last <= 2147483646
<S>  New H31:  true
<S>  New H64:  fld_byte_count(fld_h(ctx__1)) <= 2147483647
<S>  New H7:  msg__index__subtype__1__last <= 2147483582
<S>  New H47:  - 2147483583 <= fld_byte_count(fld_h(ctx))
<S>  New H85:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) <= 2147483647
<S>  New H91:  - 2147483583 <= fld_byte_count(fld_h(ctx))
-S-  Applied substitution rule skein_512_up_rules(41).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H16:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H69:  fld_field_type(fld_tweak_words(fld_h(ctx__1))) >= 0
-S-  Applied substitution rule skein_512_up_rules(42).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H17:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 63
<S>  New H70:  fld_field_type(fld_tweak_words(fld_h(ctx__1))) <= 63
-S-  Applied substitution rule skein_512_up_rules(47).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H19:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H72:  fld_tree_level(fld_tweak_words(fld_h(ctx__1))) >= 0
-S-  Applied substitution rule skein_512_up_rules(48).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H20:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 127
<S>  New H73:  fld_tree_level(fld_tweak_words(fld_h(ctx__1))) <= 127
-S-  Applied substitution rule skein_512_up_rules(53).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H8:  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(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 0 <= element(msg, [i___1]
          ) and element(msg, [i___1]) <= spark__unsigned__byte__last)
<S>  New H61:  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(ctx__1), [i___2]) and element(fld_b(ctx__1), [i___2]) <= 
          spark__unsigned__byte__last)
-S-  Applied substitution rule skein_512_up_rules(54).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H8:  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(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 255)
<S>  New H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 0 <= element(msg, [i___1]
          ) and element(msg, [i___1]) <= 255)
<S>  New H61:  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(ctx__1), [i___2]) and element(fld_b(ctx__1), [i___2]) <= 255)
-S-  Applied substitution rule skein_512_up_rules(59).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H21:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H74:  fld_reserved(fld_tweak_words(fld_h(ctx__1))) >= 0
-S-  Applied substitution rule skein_512_up_rules(60).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H22:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 65535
<S>  New H75:  fld_reserved(fld_tweak_words(fld_h(ctx__1))) <= 65535
-S-  Applied substitution rule skein_512_up_rules(65).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H23:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H76:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx__1))) >= 0
-S-  Applied substitution rule skein_512_up_rules(66).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H24:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 4294967295
<S>  New H77:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx__1))) <= 4294967295
-S-  Applied substitution rule skein_512_up_rules(71).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H9:  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(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H25:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H62:  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(ctx__1), [i___1]) and element(fld_x(ctx__1), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H78:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx__1))) >= 0
-S-  Applied substitution rule skein_512_up_rules(72).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H26:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          18446744073709551615
<S>  New H79:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx__1))) <= 
          18446744073709551615
<S>  New H9:  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(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          18446744073709551615)
<S>  New H62:  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(ctx__1), [i___1]) and element(fld_x(ctx__1), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(82).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H12:  fld_hash_bit_len(fld_h(ctx)) >= 0
<S>  New H65:  fld_hash_bit_len(fld_h(ctx__1)) >= 0
-S-  Applied substitution rule skein_512_up_rules(83).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H13:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H66:  fld_hash_bit_len(fld_h(ctx__1)) <= 2147483640
-S-  Applied substitution rule skein_512_up_rules(87).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__first by:
          1.
<S>  New H1:  fld_hash_bit_len(fld_h(ctx)) >= 1
-S-  Applied substitution rule skein_512_up_rules(88).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__last by:
          2147483640.
<S>  New H2:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
-S-  Applied substitution rule skein_512_up_rules(92).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H9:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(ctx), [i___1])
           and element(fld_x(ctx), [i___1]) <= 18446744073709551615)
<S>  New H62:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(ctx__1), [
          i___1]) and element(fld_x(ctx__1), [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(93).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H9:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          18446744073709551615)
<S>  New H62:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(ctx__1), [i___1]) and element(fld_x(ctx__1), [i___1]) 
          <= 18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(97).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__first by:
          0.
<S>  New H3:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H59:  fld_byte_count(fld_h(ctx__1)) >= 0
-S-  Applied substitution rule skein_512_up_rules(98).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__last by:
          64.
<S>  New H4:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New H60:  fld_byte_count(fld_h(ctx__1)) <= 64
-S-  Applied substitution rule skein_512_up_rules(102).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H38:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New H8:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(ctx), [i___2])
           and element(fld_b(ctx), [i___2]) <= 255)
<S>  New H61:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(ctx__1), [
          i___2]) and element(fld_b(ctx__1), [i___2]) <= 255)
-S-  Applied substitution rule skein_512_up_rules(103).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H39:  1 <= fld_byte_count(fld_h(ctx))
<S>  New H55:  fld_byte_count(fld_h(ctx)) + (64 - fld_byte_count(fld_h(ctx)) - 
          1) <= 63
<S>  New H8:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 255)
<S>  New H61:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(ctx__1), [i___2]) and element(fld_b(ctx__1), [i___2]) 
          <= 255)
***  Proved C1:  fld_byte_count(fld_h(ctx__1)) = 64
     using hypothesis H58.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_update_11.  @@@@@@@@@@
%%%  Simplified H8 on reading formula in, to give:
     %%%  H8:  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(ctx), [i___2]) and 
          element(fld_b(ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  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(ctx), [i___1]) and 
          element(fld_x(ctx), [i___1]) <= spark__unsigned__u64__last)
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(msg, [i___1]) and element(
          msg, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H42 has been replaced by "true".  (It is already present, as 
          H30).
---  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 
          H38).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H48 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H49 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H51 has been replaced by "true".  (It is already present, as H5)
          .
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) - 1 <= 
          msg__index__subtype__1__last
%%%  Simplified H61 on reading formula in, to give:
     %%%  H61:  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(ctx__1), [i___2]) and 
          element(fld_b(ctx__1), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H62 on reading formula in, to give:
     %%%  H62:  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(ctx__1), [i___1]) and 
          element(fld_x(ctx__1), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H80 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H81 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H82 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H83 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H86 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H87 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H88 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H89 has been replaced by "true".  (It is already present, as 
          H31).
%%%  Simplified H90 on reading formula in, to give:
     %%%  H90:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) >= 
          natural__first
%%%  Simplified H91 on reading formula in, to give:
     %%%  H91:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) <= 
          natural__last
%%%  Simplified H93 on reading formula in, to give:
     %%%  H93:  for_all(i___1 : integer, skein_512_block_bytes_index__first <= 
          i___1 and i___1 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(ctx__1), [i___1]) and 
          element(fld_b(ctx__1), [i___1]) <= spark__unsigned__byte__last)
%%%  Simplified C12 on reading formula in, to give:
     %%%  C12:  63 <= skein_512_block_bytes_index__last
%%%  Simplified C13 on reading formula in, to give:
     %%%  C13:  63 <= skein_512_block_bytes_index__last
%%%  Simplified C15 on reading formula in, to give:
     %%%  C15:  63 <= natural__last
***  Proved C1:  skein_512_block_bytes_c >= natural__first
     using hypotheses H37 & H46.
***  Proved C2:  skein_512_block_bytes_c <= natural__last
     using hypotheses H64 & H92.
***  Proved C5:  0 >= natural__first
     using hypothesis H30.
***  Proved C6:  0 <= natural__last
     using hypothesis H31.
***  Proved C7:  fld_hash_bit_len(fld_h(ctx__1)) >= 
          initialized_hash_bit_length__first
     using hypotheses H1 & H57.
***  Proved C8:  fld_hash_bit_len(fld_h(ctx__1)) <= 
          initialized_hash_bit_length__last
     using hypotheses H2 & H57.
***  Proved C9:  fld_byte_count(fld_h(ctx__1)) >= 
          skein_512_block_bytes_count__first
     using hypothesis H59.
***  Proved C10:  fld_byte_count(fld_h(ctx__1)) <= 
          skein_512_block_bytes_count__last
     using hypothesis H60.
-S-  Applied substitution rule skein_512_up_rules(107).
     This was achieved by replacing all occurrences of 
          positive_block_512_count_t__first by:
          1.
<S>  New C3:  true
-S-  Applied substitution rule skein_512_up_rules(108).
     This was achieved by replacing all occurrences of 
          positive_block_512_count_t__last by:
          33554431.
<S>  New C4:  true
-S-  Applied substitution rule skein_512_up_rules(103).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H8:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> spark__unsigned__byte__first <= element(
          fld_b(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New H39:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) <= 63
<S>  New H55:  fld_byte_count(fld_h(ctx)) + (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx)) - 1) <= 63
<S>  New H61:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> spark__unsigned__byte__first <= element(
          fld_b(ctx__1), [i___2]) and element(fld_b(ctx__1), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New H93:  for_all(i___1 : integer, skein_512_block_bytes_index__first <= 
          i___1 and i___1 <= 63 -> spark__unsigned__byte__first <= element(
          fld_b(ctx__1), [i___1]) and element(fld_b(ctx__1), [i___1]) <= 
          spark__unsigned__byte__last)
<S>  New C12:  true
<S>  New C13:  true
<S>  New C14:  63 <= natural__last
-S-  Applied substitution rule skein_512_up_rules(9).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H6:  msg__index__subtype__1__last < 2147483647
<S>  New H7:  msg__index__subtype__1__last + skein_512_block_bytes_c <= 
          2147483646
<S>  New H11:  fld_byte_count(fld_h(ctx)) <= 2147483647
<S>  New H29:  msg__index__subtype__1__last <= 2147483646
<S>  New H31:  true
<S>  New H47:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) <= 
          2147483647
<S>  New H64:  fld_byte_count(fld_h(ctx__1)) <= 2147483647
<S>  New H85:  msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) <= 2147483647
<S>  New H91:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) <= 
          2147483647
<S>  New C15:  true
<S>  New C14:  true
***  Proved C3:  true
***  Proved C4:  true
***  Proved C12:  true
***  Proved C13:  true
***  Proved C15:  true
***  Proved C14:  true
-S-  Applied substitution rule skein_512_up_rules(1).
     This was achieved by replacing all occurrences of skein_512_block_bytes_c 
          by:
          64.
<S>  New H7:  msg__index__subtype__1__last <= 2147483582
<S>  New H36:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) > 
          64
<S>  New H38:  64 - fld_byte_count(fld_h(ctx)) >= 
          skein_512_block_bytes_index__first
<S>  New H39:  1 <= fld_byte_count(fld_h(ctx))
<S>  New H40:  64 - fld_byte_count(fld_h(ctx)) < msg__index__subtype__1__last + 
          1
<S>  New H41:  64 - fld_byte_count(fld_h(ctx)) <= msg__index__subtype__1__last 
          + 1
<S>  New H46:  64 - fld_byte_count(fld_h(ctx)) >= natural__first
<S>  New H47:  - 2147483583 <= fld_byte_count(fld_h(ctx))
<S>  New H54:  64 - fld_byte_count(fld_h(ctx)) - 1 <= 
          msg__index__subtype__1__last
<S>  New H55:  fld_byte_count(fld_h(ctx)) + (64 - fld_byte_count(fld_h(ctx)) - 
          1) <= 63
<S>  New H58:  fld_byte_count(fld_h(ctx__1)) = fld_byte_count(fld_h(ctx)) + (64 
          - fld_byte_count(fld_h(ctx)))
<S>  New H84:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) >= natural__first
<S>  New H85:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) <= 2147483647
<S>  New H90:  64 - fld_byte_count(fld_h(ctx)) >= natural__first
<S>  New H91:  - 2147483583 <= fld_byte_count(fld_h(ctx))
<S>  New H92:  fld_byte_count(fld_h(ctx__1)) = 64
-S-  Applied substitution rule skein_512_up_rules(5).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H34:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) >= 
          - 2147483648
-S-  Applied substitution rule skein_512_up_rules(6).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H35:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) <= 
          2147483647
-S-  Applied substitution rule skein_512_up_rules(8).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H10:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H28:  msg__index__subtype__1__last >= - 1
<S>  New H30:  true
<S>  New H63:  fld_byte_count(fld_h(ctx__1)) >= 0
<S>  New H46:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New H84:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) >= 0
<S>  New H90:  fld_byte_count(fld_h(ctx)) <= 64
-S-  Applied substitution rule skein_512_up_rules(41).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H16:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H69:  fld_field_type(fld_tweak_words(fld_h(ctx__1))) >= 0
-S-  Applied substitution rule skein_512_up_rules(42).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H17:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 63
<S>  New H70:  fld_field_type(fld_tweak_words(fld_h(ctx__1))) <= 63
-S-  Applied substitution rule skein_512_up_rules(47).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H19:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H72:  fld_tree_level(fld_tweak_words(fld_h(ctx__1))) >= 0
-S-  Applied substitution rule skein_512_up_rules(48).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H20:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 127
<S>  New H73:  fld_tree_level(fld_tweak_words(fld_h(ctx__1))) <= 127
-S-  Applied substitution rule skein_512_up_rules(53).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H8:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> 0 <= element(fld_b(ctx), [i___2]) and 
          element(fld_b(ctx), [i___2]) <= spark__unsigned__byte__last)
<S>  New H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 0 <= element(msg, [i___1]
          ) and element(msg, [i___1]) <= spark__unsigned__byte__last)
<S>  New H61:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> 0 <= element(fld_b(ctx__1), [i___2]) and 
          element(fld_b(ctx__1), [i___2]) <= spark__unsigned__byte__last)
<S>  New H93:  for_all(i___1 : integer, skein_512_block_bytes_index__first <= 
          i___1 and i___1 <= 63 -> 0 <= element(fld_b(ctx__1), [i___1]) and 
          element(fld_b(ctx__1), [i___1]) <= spark__unsigned__byte__last)
-S-  Applied substitution rule skein_512_up_rules(54).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H8:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> 0 <= element(fld_b(ctx), [i___2]) and 
          element(fld_b(ctx), [i___2]) <= 255)
<S>  New H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 0 <= element(msg, [i___1]
          ) and element(msg, [i___1]) <= 255)
<S>  New H61:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> 0 <= element(fld_b(ctx__1), [i___2]) and 
          element(fld_b(ctx__1), [i___2]) <= 255)
<S>  New H93:  for_all(i___1 : integer, skein_512_block_bytes_index__first <= 
          i___1 and i___1 <= 63 -> 0 <= element(fld_b(ctx__1), [i___1]) and 
          element(fld_b(ctx__1), [i___1]) <= 255)
-S-  Applied substitution rule skein_512_up_rules(59).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H21:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H74:  fld_reserved(fld_tweak_words(fld_h(ctx__1))) >= 0
-S-  Applied substitution rule skein_512_up_rules(60).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H22:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 65535
<S>  New H75:  fld_reserved(fld_tweak_words(fld_h(ctx__1))) <= 65535
-S-  Applied substitution rule skein_512_up_rules(65).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H23:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H76:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx__1))) >= 0
-S-  Applied substitution rule skein_512_up_rules(66).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H24:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 4294967295
<S>  New H77:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx__1))) <= 4294967295
-S-  Applied substitution rule skein_512_up_rules(71).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H9:  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(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H25:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H62:  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(ctx__1), [i___1]) and element(fld_x(ctx__1), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H78:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx__1))) >= 0
-S-  Applied substitution rule skein_512_up_rules(72).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H26:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          18446744073709551615
<S>  New H79:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx__1))) <= 
          18446744073709551615
<S>  New H9:  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(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          18446744073709551615)
<S>  New H62:  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(ctx__1), [i___1]) and element(fld_x(ctx__1), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(82).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H12:  fld_hash_bit_len(fld_h(ctx)) >= 0
<S>  New H65:  fld_hash_bit_len(fld_h(ctx__1)) >= 0
-S-  Applied substitution rule skein_512_up_rules(83).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H13:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H66:  fld_hash_bit_len(fld_h(ctx__1)) <= 2147483640
-S-  Applied substitution rule skein_512_up_rules(87).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__first by:
          1.
<S>  New H1:  fld_hash_bit_len(fld_h(ctx)) >= 1
-S-  Applied substitution rule skein_512_up_rules(88).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__last by:
          2147483640.
<S>  New H2:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
-S-  Applied substitution rule skein_512_up_rules(92).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H9:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(ctx), [i___1])
           and element(fld_x(ctx), [i___1]) <= 18446744073709551615)
<S>  New H62:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(ctx__1), [
          i___1]) and element(fld_x(ctx__1), [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(93).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H9:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          18446744073709551615)
<S>  New H62:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(ctx__1), [i___1]) and element(fld_x(ctx__1), [i___1]) 
          <= 18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(97).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__first by:
          0.
<S>  New H3:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H59:  fld_byte_count(fld_h(ctx__1)) >= 0
-S-  Applied substitution rule skein_512_up_rules(98).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__last by:
          64.
<S>  New H4:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New H60:  fld_byte_count(fld_h(ctx__1)) <= 64
-S-  Applied substitution rule skein_512_up_rules(102).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H38:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New H8:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 255)
<S>  New H61:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(ctx__1), [i___2]) and element(fld_b(ctx__1), [i___2]) 
          <= 255)
<S>  New H93:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 63 -> 0 <= 
          element(fld_b(ctx__1), [i___1]) and element(fld_b(ctx__1), [i___1]) 
          <= 255)
<S>  New C11:  true
***  Proved C11:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_update_12.  @@@@@@@@@@
%%%  Simplified H8 on reading formula in, to give:
     %%%  H8:  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(ctx), [i___2]) and 
          element(fld_b(ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  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(ctx), [i___1]) and 
          element(fld_x(ctx), [i___1]) <= spark__unsigned__u64__last)
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(msg, [i___1]) and element(
          msg, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H42 has been replaced by "true".  (It is already present, as 
          H30).
---  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 
          H38).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H48 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H49 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H51 has been replaced by "true".  (It is already present, as H5)
          .
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) - 1 <= 
          msg__index__subtype__1__last
%%%  Simplified H61 on reading formula in, to give:
     %%%  H61:  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(ctx__1), [i___2]) and 
          element(fld_b(ctx__1), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H62 on reading formula in, to give:
     %%%  H62:  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(ctx__1), [i___1]) and 
          element(fld_x(ctx__1), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H80 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H81 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H82 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H83 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H86 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H87 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H88 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H89 has been replaced by "true".  (It is already present, as 
          H31).
%%%  Simplified H90 on reading formula in, to give:
     %%%  H90:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) >= 
          natural__first
%%%  Simplified H91 on reading formula in, to give:
     %%%  H91:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) <= 
          natural__last
%%%  Simplified H93 on reading formula in, to give:
     %%%  H93:  for_all(i___1 : integer, skein_512_block_bytes_index__first <= 
          i___1 and i___1 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(ctx__1), [i___1]) and 
          element(fld_b(ctx__1), [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H98 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H99 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H102 has been replaced by "true".  (It is already present, as 
          H59).
---  Hypothesis H103 has been replaced by "true".  (It is already present, as 
          H60).
%%%  Simplified H105 on reading formula in, to give:
     %%%  H105:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H106 on reading formula in, to give:
     %%%  H106:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H108 on reading formula in, to give:
     %%%  H108:  63 <= natural__last
%%%  Simplified H115 on reading formula in, to give:
     %%%  H115:  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(ctx__2), [i___2]) and 
          element(fld_b(ctx__2), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H116 on reading formula in, to give:
     %%%  H116:  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(ctx__2), [i___1]) and 
          element(fld_x(ctx__2), [i___1]) <= spark__unsigned__u64__last)
***  Proved C1:  0 >= natural__first
     using hypothesis H30.
***  Proved C2:  0 <= natural__last
     using hypothesis H31.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_update_13.  @@@@@@@@@@
%%%  Simplified H8 on reading formula in, to give:
     %%%  H8:  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(ctx), [i___2]) and 
          element(fld_b(ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  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(ctx), [i___1]) and 
          element(fld_x(ctx), [i___1]) <= spark__unsigned__u64__last)
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(msg, [i___1]) and element(
          msg, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H42 has been replaced by "true".  (It is already present, as 
          H30).
---  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 
          H38).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H48 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H49 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H51 has been replaced by "true".  (It is already present, as H5)
          .
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) - 1 <= 
          msg__index__subtype__1__last
%%%  Simplified H61 on reading formula in, to give:
     %%%  H61:  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(ctx__1), [i___2]) and 
          element(fld_b(ctx__1), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H62 on reading formula in, to give:
     %%%  H62:  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(ctx__1), [i___1]) and 
          element(fld_x(ctx__1), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H80 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H81 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H82 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H83 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H86 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H87 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H88 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H89 has been replaced by "true".  (It is already present, as 
          H31).
%%%  Simplified H90 on reading formula in, to give:
     %%%  H90:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) >= 
          natural__first
%%%  Simplified H91 on reading formula in, to give:
     %%%  H91:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) <= 
          natural__last
%%%  Simplified H93 on reading formula in, to give:
     %%%  H93:  for_all(i___1 : integer, skein_512_block_bytes_index__first <= 
          i___1 and i___1 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(ctx__1), [i___1]) and 
          element(fld_b(ctx__1), [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H98 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H99 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H102 has been replaced by "true".  (It is already present, as 
          H59).
---  Hypothesis H103 has been replaced by "true".  (It is already present, as 
          H60).
%%%  Simplified H105 on reading formula in, to give:
     %%%  H105:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H106 on reading formula in, to give:
     %%%  H106:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H108 on reading formula in, to give:
     %%%  H108:  63 <= natural__last
%%%  Simplified H115 on reading formula in, to give:
     %%%  H115:  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(ctx__2), [i___2]) and 
          element(fld_b(ctx__2), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H116 on reading formula in, to give:
     %%%  H116:  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(ctx__2), [i___1]) and 
          element(fld_x(ctx__2), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H134 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H135 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H136 has been replaced by "true".  (It is already present, as 
          H84).
---  Hypothesis H137 has been replaced by "true".  (It is already present, as 
          H85).
---  Hypothesis H139 has been replaced by "true".  (It is already present, as 
          H84).
---  Hypothesis H140 has been replaced by "true".  (It is already present, as 
          H85).
-S-  Applied substitution rule skein_512_up_rules(107).
     This was achieved by replacing all occurrences of 
          positive_block_512_count_t__first by:
          1.
<S>  New H96:  true
<S>  New C1:  (msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) - 1) div skein_512_block_bytes_c >= 1
-S-  Applied substitution rule skein_512_up_rules(108).
     This was achieved by replacing all occurrences of 
          positive_block_512_count_t__last by:
          33554431.
<S>  New H97:  true
<S>  New C2:  (msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) - 1) div skein_512_block_bytes_c <= 
          33554431
-S-  Applied substitution rule skein_512_up_rules(5).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H34:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) >= 
          - 2147483648
<S>  New C4:  msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) >= - 2147483647
-S-  Applied substitution rule skein_512_up_rules(6).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H35:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) <= 
          2147483647
<S>  New C5:  msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) <= 2147483648
***  Proved C4:  msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) >= - 2147483647
     using hypothesis H41.
-S-  Applied substitution rule skein_512_up_rules(1).
     This was achieved by replacing all occurrences of skein_512_block_bytes_c 
          by:
          64.
<S>  New H7:  msg__index__subtype__1__last + 65 <= natural__last
<S>  New H36:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) > 
          64
<S>  New H38:  64 - fld_byte_count(fld_h(ctx)) >= 
          skein_512_block_bytes_index__first
<S>  New H39:  64 - fld_byte_count(fld_h(ctx)) <= 
          skein_512_block_bytes_index__last
<S>  New H40:  64 - fld_byte_count(fld_h(ctx)) < msg__index__subtype__1__last + 
          1
<S>  New H41:  64 - fld_byte_count(fld_h(ctx)) <= msg__index__subtype__1__last 
          + 1
<S>  New H46:  64 - fld_byte_count(fld_h(ctx)) >= natural__first
<S>  New H47:  64 - fld_byte_count(fld_h(ctx)) <= natural__last
<S>  New H54:  64 - fld_byte_count(fld_h(ctx)) - 1 <= 
          msg__index__subtype__1__last
<S>  New H55:  fld_byte_count(fld_h(ctx)) + (64 - fld_byte_count(fld_h(ctx)) - 
          1) <= skein_512_block_bytes_index__last
<S>  New H58:  fld_byte_count(fld_h(ctx__1)) = fld_byte_count(fld_h(ctx)) + (64 
          - fld_byte_count(fld_h(ctx)))
<S>  New H84:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) >= natural__first
<S>  New H85:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) <= natural__last
<S>  New H90:  64 - fld_byte_count(fld_h(ctx)) >= natural__first
<S>  New H91:  64 - fld_byte_count(fld_h(ctx)) <= natural__last
<S>  New H92:  fld_byte_count(fld_h(ctx__1)) = 64
<S>  New H94:  64 >= natural__first
<S>  New H95:  64 <= natural__last
<S>  New H138:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) > 64
<S>  New C3:  true
<S>  New C1:  (msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - 1) div 64 >= 1
<S>  New C2:  (msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - 1) div 64 <= 33554431
<S>  New C5:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(ctx)
          )) <= 2147483648
-S-  Applied substitution rule skein_512_up_rules(8).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H10:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H28:  msg__index__subtype__1__last >= - 1
<S>  New H30:  true
<S>  New H63:  fld_byte_count(fld_h(ctx__1)) >= 0
<S>  New H117:  fld_byte_count(fld_h(ctx__2)) >= 0
<S>  New H46:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New H84:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) >= 0
<S>  New H90:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New H94:  true
-S-  Applied substitution rule skein_512_up_rules(9).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H6:  msg__index__subtype__1__last < 2147483647
<S>  New H11:  fld_byte_count(fld_h(ctx)) <= 2147483647
<S>  New H29:  msg__index__subtype__1__last <= 2147483646
<S>  New H31:  true
<S>  New H64:  fld_byte_count(fld_h(ctx__1)) <= 2147483647
<S>  New H107:  skein_512_block_bytes_index__last <= 2147483647
<S>  New H108:  true
<S>  New H118:  fld_byte_count(fld_h(ctx__2)) <= 2147483647
<S>  New H7:  msg__index__subtype__1__last <= 2147483582
<S>  New H47:  - 2147483583 <= fld_byte_count(fld_h(ctx))
<S>  New H85:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) <= 2147483647
<S>  New H91:  - 2147483583 <= fld_byte_count(fld_h(ctx))
<S>  New H95:  true
-S-  Applied substitution rule skein_512_up_rules(41).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H16:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H69:  fld_field_type(fld_tweak_words(fld_h(ctx__1))) >= 0
<S>  New H123:  fld_field_type(fld_tweak_words(fld_h(ctx__2))) >= 0
-S-  Applied substitution rule skein_512_up_rules(42).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H17:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 63
<S>  New H70:  fld_field_type(fld_tweak_words(fld_h(ctx__1))) <= 63
<S>  New H124:  fld_field_type(fld_tweak_words(fld_h(ctx__2))) <= 63
-S-  Applied substitution rule skein_512_up_rules(47).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H19:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H72:  fld_tree_level(fld_tweak_words(fld_h(ctx__1))) >= 0
<S>  New H126:  fld_tree_level(fld_tweak_words(fld_h(ctx__2))) >= 0
-S-  Applied substitution rule skein_512_up_rules(48).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H20:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 127
<S>  New H73:  fld_tree_level(fld_tweak_words(fld_h(ctx__1))) <= 127
<S>  New H127:  fld_tree_level(fld_tweak_words(fld_h(ctx__2))) <= 127
-S-  Applied substitution rule skein_512_up_rules(53).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H8:  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(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 0 <= element(msg, [i___1]
          ) and element(msg, [i___1]) <= spark__unsigned__byte__last)
<S>  New H61:  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(ctx__1), [i___2]) and element(fld_b(ctx__1), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New H93:  for_all(i___1 : integer, skein_512_block_bytes_index__first <= 
          i___1 and i___1 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(ctx__1), [i___1]) and element(fld_b(ctx__1), [i___1]) <= 
          spark__unsigned__byte__last)
<S>  New H115:  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(ctx__2), [i___2]) and element(fld_b(ctx__2), [i___2]) <= 
          spark__unsigned__byte__last)
-S-  Applied substitution rule skein_512_up_rules(54).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H8:  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(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 255)
<S>  New H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 0 <= element(msg, [i___1]
          ) and element(msg, [i___1]) <= 255)
<S>  New H61:  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(ctx__1), [i___2]) and element(fld_b(ctx__1), [i___2]) <= 255)
<S>  New H93:  for_all(i___1 : integer, skein_512_block_bytes_index__first <= 
          i___1 and i___1 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(ctx__1), [i___1]) and element(fld_b(ctx__1), [i___1]) <= 255)
<S>  New H115:  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(ctx__2), [i___2]) and element(fld_b(ctx__2), [i___2]) <= 255)
-S-  Applied substitution rule skein_512_up_rules(59).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H21:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H74:  fld_reserved(fld_tweak_words(fld_h(ctx__1))) >= 0
<S>  New H128:  fld_reserved(fld_tweak_words(fld_h(ctx__2))) >= 0
-S-  Applied substitution rule skein_512_up_rules(60).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H22:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 65535
<S>  New H75:  fld_reserved(fld_tweak_words(fld_h(ctx__1))) <= 65535
<S>  New H129:  fld_reserved(fld_tweak_words(fld_h(ctx__2))) <= 65535
-S-  Applied substitution rule skein_512_up_rules(65).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H23:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H76:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx__1))) >= 0
<S>  New H130:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx__2))) >= 0
-S-  Applied substitution rule skein_512_up_rules(66).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H24:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 4294967295
<S>  New H77:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx__1))) <= 4294967295
<S>  New H131:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx__2))) <= 4294967295
-S-  Applied substitution rule skein_512_up_rules(71).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H9:  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(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H25:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H62:  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(ctx__1), [i___1]) and element(fld_x(ctx__1), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H78:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx__1))) >= 0
<S>  New H116:  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(ctx__2), [i___1]) and element(fld_x(ctx__2), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H132:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx__2))) >= 0
-S-  Applied substitution rule skein_512_up_rules(72).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H26:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          18446744073709551615
<S>  New H79:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx__1))) <= 
          18446744073709551615
<S>  New H133:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx__2))) <= 
          18446744073709551615
<S>  New H9:  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(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          18446744073709551615)
<S>  New H62:  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(ctx__1), [i___1]) and element(fld_x(ctx__1), [i___1]) <= 
          18446744073709551615)
<S>  New H116:  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(ctx__2), [i___1]) and element(fld_x(ctx__2), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(82).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H12:  fld_hash_bit_len(fld_h(ctx)) >= 0
<S>  New H65:  fld_hash_bit_len(fld_h(ctx__1)) >= 0
<S>  New H119:  fld_hash_bit_len(fld_h(ctx__2)) >= 0
-S-  Applied substitution rule skein_512_up_rules(83).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H13:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H66:  fld_hash_bit_len(fld_h(ctx__1)) <= 2147483640
<S>  New H120:  fld_hash_bit_len(fld_h(ctx__2)) <= 2147483640
-S-  Applied substitution rule skein_512_up_rules(87).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__first by:
          1.
<S>  New H1:  fld_hash_bit_len(fld_h(ctx)) >= 1
<S>  New H100:  fld_hash_bit_len(fld_h(ctx__1)) >= 1
<S>  New H109:  fld_hash_bit_len(fld_h(ctx__2)) >= 1
-S-  Applied substitution rule skein_512_up_rules(88).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__last by:
          2147483640.
<S>  New H2:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H101:  fld_hash_bit_len(fld_h(ctx__1)) <= 2147483640
<S>  New H110:  fld_hash_bit_len(fld_h(ctx__2)) <= 2147483640
-S-  Applied substitution rule skein_512_up_rules(92).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H9:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(ctx), [i___1])
           and element(fld_x(ctx), [i___1]) <= 18446744073709551615)
<S>  New H62:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(ctx__1), [
          i___1]) and element(fld_x(ctx__1), [i___1]) <= 18446744073709551615)
<S>  New H116:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(ctx__2), [
          i___1]) and element(fld_x(ctx__2), [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(93).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H9:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          18446744073709551615)
<S>  New H62:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(ctx__1), [i___1]) and element(fld_x(ctx__1), [i___1]) 
          <= 18446744073709551615)
<S>  New H116:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(ctx__2), [i___1]) and element(fld_x(ctx__2), [i___1]) 
          <= 18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(97).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__first by:
          0.
<S>  New H3:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H59:  fld_byte_count(fld_h(ctx__1)) >= 0
<S>  New H112:  fld_byte_count(fld_h(ctx__2)) >= 0
-S-  Applied substitution rule skein_512_up_rules(98).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__last by:
          64.
<S>  New H4:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New H60:  fld_byte_count(fld_h(ctx__1)) <= 64
<S>  New H113:  fld_byte_count(fld_h(ctx__2)) <= 64
-S-  Applied substitution rule skein_512_up_rules(102).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H104:  true
<S>  New H38:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New H8:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(ctx), [i___2])
           and element(fld_b(ctx), [i___2]) <= 255)
<S>  New H61:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(ctx__1), [
          i___2]) and element(fld_b(ctx__1), [i___2]) <= 255)
<S>  New H93:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(ctx__1), [
          i___1]) and element(fld_b(ctx__1), [i___1]) <= 255)
<S>  New H115:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(ctx__2), [
          i___2]) and element(fld_b(ctx__2), [i___2]) <= 255)
-S-  Applied substitution rule skein_512_up_rules(103).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H105:  true
<S>  New H106:  true
<S>  New H39:  1 <= fld_byte_count(fld_h(ctx))
<S>  New H55:  fld_byte_count(fld_h(ctx)) + (64 - fld_byte_count(fld_h(ctx)) - 
          1) <= 63
<S>  New H107:  true
<S>  New H8:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 255)
<S>  New H61:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(ctx__1), [i___2]) and element(fld_b(ctx__1), [i___2]) 
          <= 255)
<S>  New H93:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 63 -> 0 <= 
          element(fld_b(ctx__1), [i___1]) and element(fld_b(ctx__1), [i___1]) 
          <= 255)
<S>  New H115:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(ctx__2), [i___2]) and element(fld_b(ctx__2), [i___2]) 
          <= 255)
***  Proved C3:  true
***  Proved C5:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) <= 2147483648
     using hypothesis H85.
---  Eliminated hypothesis H14 (true-hypothesis).
---  Eliminated hypothesis H15 (true-hypothesis).
---  Eliminated hypothesis H18 (true-hypothesis).
---  Eliminated hypothesis H32 (true-hypothesis).
---  Eliminated hypothesis H33 (true-hypothesis).
---  Eliminated hypothesis H42 (true-hypothesis).
---  Eliminated hypothesis H43 (true-hypothesis).
---  Eliminated hypothesis H44 (true-hypothesis).
---  Eliminated hypothesis H45 (true-hypothesis).
---  Eliminated hypothesis H48 (true-hypothesis).
---  Eliminated hypothesis H49 (true-hypothesis).
---  Eliminated hypothesis H51 (true-hypothesis).
---  Eliminated hypothesis H67 (true-hypothesis).
---  Eliminated hypothesis H68 (true-hypothesis).
---  Eliminated hypothesis H71 (true-hypothesis).
---  Eliminated hypothesis H80 (true-hypothesis).
---  Eliminated hypothesis H81 (true-hypothesis).
---  Eliminated hypothesis H82 (true-hypothesis).
---  Eliminated hypothesis H83 (true-hypothesis).
---  Eliminated hypothesis H86 (true-hypothesis).
---  Eliminated hypothesis H87 (true-hypothesis).
---  Eliminated hypothesis H88 (true-hypothesis).
---  Eliminated hypothesis H89 (true-hypothesis).
---  Eliminated hypothesis H96 (true-hypothesis).
---  Eliminated hypothesis H97 (true-hypothesis).
---  Eliminated hypothesis H98 (true-hypothesis).
---  Eliminated hypothesis H99 (true-hypothesis).
---  Eliminated hypothesis H102 (true-hypothesis).
---  Eliminated hypothesis H103 (true-hypothesis).
---  Eliminated hypothesis H121 (true-hypothesis).
---  Eliminated hypothesis H122 (true-hypothesis).
---  Eliminated hypothesis H125 (true-hypothesis).
---  Eliminated hypothesis H134 (true-hypothesis).
---  Eliminated hypothesis H135 (true-hypothesis).
---  Eliminated hypothesis H136 (true-hypothesis).
---  Eliminated hypothesis H137 (true-hypothesis).
---  Eliminated hypothesis H139 (true-hypothesis).
---  Eliminated hypothesis H140 (true-hypothesis).
---  Eliminated hypothesis H30 (true-hypothesis).
---  Eliminated hypothesis H94 (true-hypothesis).
---  Eliminated hypothesis H31 (true-hypothesis).
---  Eliminated hypothesis H108 (true-hypothesis).
---  Eliminated hypothesis H95 (true-hypothesis).
---  Eliminated hypothesis H104 (true-hypothesis).
---  Eliminated hypothesis H105 (true-hypothesis).
---  Eliminated hypothesis H106 (true-hypothesis).
---  Eliminated hypothesis H107 (true-hypothesis).
---  Eliminated hypothesis H55 (true-hypothesis).
---  Eliminated hypothesis H39 (duplicate of H37).
---  Eliminated hypothesis H100 (duplicate of H56).
---  Eliminated hypothesis H90 (duplicate of H46).
---  Eliminated hypothesis H91 (duplicate of H47).
---  Eliminated hypothesis H101 (duplicate of H66).
---  Eliminated hypothesis H13 (duplicate of H2).
---  Eliminated hypothesis H120 (duplicate of H110).
---  Eliminated hypothesis H10 (duplicate of H3).
---  Eliminated hypothesis H63 (duplicate of H59).
---  Eliminated hypothesis H117 (duplicate of H112).
---  Eliminated hypothesis H46 (duplicate of H4).
---  Eliminated hypothesis H38 (duplicate of H4).
---  Eliminated hypothesis H50 (duplicate of H1).
---  Eliminated hypothesis H29 (duplicate of H6).
---  Eliminated hypothesis H40 (duplicate of H36).
---  Eliminated hypothesis H54 (duplicate of H41).
---  Eliminated hypothesis H84 (duplicate of H41).
---  Eliminated hypothesis H92 (duplicate of H58).
---  Eliminated hypothesis H3 (redundant, given H37).
---  Eliminated hypothesis H6 (redundant, given H7).
---  Eliminated hypothesis H11 (redundant, given H4).
---  Eliminated hypothesis H12 (redundant, given H1).
---  Eliminated hypothesis H28 (redundant, given H53).
---  Eliminated hypothesis H34 (redundant, given H36).
---  Eliminated hypothesis H36 (redundant, given H138).
---  Eliminated hypothesis H41 (redundant, given H138).
---  Eliminated hypothesis H47 (redundant, given H37).
---  Eliminated hypothesis H52 (redundant, given H5).
---  Eliminated hypothesis H53 (redundant, given H4 & H138).
---  Eliminated hypothesis H59 (redundant, given H58).
---  Eliminated hypothesis H60 (redundant, given H58).
---  Eliminated hypothesis H64 (redundant, given H58).
---  Eliminated hypothesis H65 (redundant, given H56).
---  Eliminated hypothesis H85 (redundant, given H35).
---  Eliminated hypothesis H118 (redundant, given H113).
---  Eliminated hypothesis H119 (redundant, given H109).
-S-  Substituted hypothesis H57.
     This was achieved by replacing all occurrences of fld_hash_bit_len(fld_h(
          ctx__1)) by:
          fld_hash_bit_len(fld_h(ctx)).
-S-  Substituted hypothesis H114.
     This was achieved by replacing all occurrences of fld_byte_count(fld_h(
          ctx__2)) by:
          fld_byte_count(fld_h(ctx__1)).
-S-  Substituted hypothesis H111.
     This was achieved by replacing all occurrences of fld_hash_bit_len(fld_h(
          ctx__2)) by:
          fld_hash_bit_len(fld_h(ctx)).
***  Proved C1:  (msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - 1) div 64 >= 1
     using hypothesis H138.
***  Proved C2:  (msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - 1) div 64 <= 33554431
     using hypothesis H85.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_update_14.  @@@@@@@@@@
%%%  Simplified H8 on reading formula in, to give:
     %%%  H8:  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(ctx), [i___2]) and 
          element(fld_b(ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  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(ctx), [i___1]) and 
          element(fld_x(ctx), [i___1]) <= spark__unsigned__u64__last)
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(msg, [i___1]) and element(
          msg, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H38 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H39 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H41 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H42 has been replaced by "true".  (It is already present, as 
          H29).
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  msg__index__subtype__1__last div skein_512_block_bytes_c >= 
          positive_block_512_count_t__first
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  msg__index__subtype__1__last div skein_512_block_bytes_c <= 
          positive_block_512_count_t__last
%%%  Simplified C4 on reading formula in, to give:
     %%%  C4:  msg__index__subtype__1__last >= integer__base__first
%%%  Simplified C5 on reading formula in, to give:
     %%%  C5:  msg__index__subtype__1__last <= integer__base__last
-S-  Applied substitution rule skein_512_up_rules(107).
     This was achieved by replacing all occurrences of 
          positive_block_512_count_t__first by:
          1.
<S>  New C1:  msg__index__subtype__1__last div skein_512_block_bytes_c >= 1
-S-  Applied substitution rule skein_512_up_rules(108).
     This was achieved by replacing all occurrences of 
          positive_block_512_count_t__last by:
          33554431.
<S>  New C2:  msg__index__subtype__1__last div skein_512_block_bytes_c <= 
          33554431
-S-  Applied substitution rule skein_512_up_rules(5).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H34:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) >= 
          - 2147483648
<S>  New C4:  msg__index__subtype__1__last >= - 2147483648
-S-  Applied substitution rule skein_512_up_rules(6).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H35:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) <= 
          2147483647
<S>  New C5:  msg__index__subtype__1__last <= 2147483647
>>>  Restructured hypothesis H37 into:
     >>>  H37:  fld_byte_count(fld_h(ctx)) <= 0
-S-  Applied substitution rule skein_512_up_rules(1).
     This was achieved by replacing all occurrences of skein_512_block_bytes_c 
          by:
          64.
<S>  New H7:  msg__index__subtype__1__last + 65 <= natural__last
<S>  New H36:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) > 
          64
<S>  New H40:  msg__index__subtype__1__last > 63
<S>  New C3:  true
<S>  New C1:  msg__index__subtype__1__last div 64 >= 1
<S>  New C2:  msg__index__subtype__1__last div 64 <= 33554431
-S-  Applied substitution rule skein_512_up_rules(8).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H10:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H28:  msg__index__subtype__1__last >= - 1
<S>  New H30:  true
-S-  Applied substitution rule skein_512_up_rules(9).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H6:  msg__index__subtype__1__last < 2147483647
<S>  New H11:  fld_byte_count(fld_h(ctx)) <= 2147483647
<S>  New H29:  msg__index__subtype__1__last <= 2147483646
<S>  New H31:  true
<S>  New H7:  msg__index__subtype__1__last <= 2147483582
-S-  Applied substitution rule skein_512_up_rules(41).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H16:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(42).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H17:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 63
-S-  Applied substitution rule skein_512_up_rules(47).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H19:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(48).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H20:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 127
-S-  Applied substitution rule skein_512_up_rules(53).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H8:  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(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 0 <= element(msg, [i___1]
          ) and element(msg, [i___1]) <= spark__unsigned__byte__last)
-S-  Applied substitution rule skein_512_up_rules(54).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H8:  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(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 255)
<S>  New H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 0 <= element(msg, [i___1]
          ) and element(msg, [i___1]) <= 255)
-S-  Applied substitution rule skein_512_up_rules(59).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H21:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(60).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H22:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 65535
-S-  Applied substitution rule skein_512_up_rules(65).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H23:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(66).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H24:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 4294967295
-S-  Applied substitution rule skein_512_up_rules(71).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H9:  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(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H25:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(72).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H26:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          18446744073709551615
<S>  New H9:  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(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(82).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H12:  fld_hash_bit_len(fld_h(ctx)) >= 0
-S-  Applied substitution rule skein_512_up_rules(83).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H13:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
-S-  Applied substitution rule skein_512_up_rules(87).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__first by:
          1.
<S>  New H1:  fld_hash_bit_len(fld_h(ctx)) >= 1
-S-  Applied substitution rule skein_512_up_rules(88).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__last by:
          2147483640.
<S>  New H2:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
-S-  Applied substitution rule skein_512_up_rules(92).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H9:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(ctx), [i___1])
           and element(fld_x(ctx), [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(93).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H9:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(97).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__first by:
          0.
<S>  New H3:  fld_byte_count(fld_h(ctx)) >= 0
-S-  Applied substitution rule skein_512_up_rules(98).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__last by:
          64.
<S>  New H4:  fld_byte_count(fld_h(ctx)) <= 64
-S-  Applied substitution rule skein_512_up_rules(102).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H8:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(ctx), [i___2])
           and element(fld_b(ctx), [i___2]) <= 255)
-S-  Applied substitution rule skein_512_up_rules(103).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H8:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 255)
%%%  Hypotheses H37 & H10 together imply that
          fld_byte_count(fld_h(ctx)) = 0.
     H37 & H10 have therefore been deleted and a new H43 added to this effect.
***  Proved C4:  msg__index__subtype__1__last >= - 2147483648
     using hypothesis H40.
***  Proved C5:  msg__index__subtype__1__last <= 2147483647
     using hypothesis H6.
***  Proved C3:  true
---  Eliminated hypothesis H14 (true-hypothesis).
---  Eliminated hypothesis H15 (true-hypothesis).
---  Eliminated hypothesis H18 (true-hypothesis).
---  Eliminated hypothesis H32 (true-hypothesis).
---  Eliminated hypothesis H33 (true-hypothesis).
---  Eliminated hypothesis H38 (true-hypothesis).
---  Eliminated hypothesis H39 (true-hypothesis).
---  Eliminated hypothesis H41 (true-hypothesis).
---  Eliminated hypothesis H42 (true-hypothesis).
---  Eliminated hypothesis H30 (true-hypothesis).
---  Eliminated hypothesis H31 (true-hypothesis).
---  Eliminated hypothesis H13 (duplicate of H2).
---  Eliminated hypothesis H29 (duplicate of H6).
---  Eliminated hypothesis H3 (redundant, given H43).
---  Eliminated hypothesis H4 (redundant, given H43).
---  Eliminated hypothesis H6 (redundant, given H7).
---  Eliminated hypothesis H11 (redundant, given H43).
---  Eliminated hypothesis H12 (redundant, given H1).
---  Eliminated hypothesis H28 (redundant, given H40).
---  Eliminated hypothesis H34 (redundant, given H36).
***  Proved C1:  msg__index__subtype__1__last div 64 >= 1
     using hypothesis H40.
***  Proved C2:  msg__index__subtype__1__last div 64 <= 33554431
     using hypothesis H7.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_update_15.  @@@@@@@@@@
%%%  Simplified H8 on reading formula in, to give:
     %%%  H8:  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(ctx), [i___2]) and 
          element(fld_b(ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  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(ctx), [i___1]) and 
          element(fld_x(ctx), [i___1]) <= spark__unsigned__u64__last)
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(msg, [i___1]) and element(
          msg, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H42 has been replaced by "true".  (It is already present, as 
          H30).
---  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 
          H38).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H48 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H49 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H51 has been replaced by "true".  (It is already present, as H5)
          .
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) - 1 <= 
          msg__index__subtype__1__last
%%%  Simplified H61 on reading formula in, to give:
     %%%  H61:  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(ctx__1), [i___2]) and 
          element(fld_b(ctx__1), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H62 on reading formula in, to give:
     %%%  H62:  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(ctx__1), [i___1]) and 
          element(fld_x(ctx__1), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H80 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H81 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H82 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H83 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H86 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H87 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H88 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H89 has been replaced by "true".  (It is already present, as 
          H31).
%%%  Simplified H90 on reading formula in, to give:
     %%%  H90:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) >= 
          natural__first
%%%  Simplified H91 on reading formula in, to give:
     %%%  H91:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) <= 
          natural__last
%%%  Simplified H93 on reading formula in, to give:
     %%%  H93:  for_all(i___1 : integer, skein_512_block_bytes_index__first <= 
          i___1 and i___1 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(ctx__1), [i___1]) and 
          element(fld_b(ctx__1), [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H98 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H99 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H102 has been replaced by "true".  (It is already present, as 
          H59).
---  Hypothesis H103 has been replaced by "true".  (It is already present, as 
          H60).
%%%  Simplified H105 on reading formula in, to give:
     %%%  H105:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H106 on reading formula in, to give:
     %%%  H106:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H108 on reading formula in, to give:
     %%%  H108:  63 <= natural__last
%%%  Simplified H115 on reading formula in, to give:
     %%%  H115:  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(ctx__2), [i___2]) and 
          element(fld_b(ctx__2), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H116 on reading formula in, to give:
     %%%  H116:  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(ctx__2), [i___1]) and 
          element(fld_x(ctx__2), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H134 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H135 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H136 has been replaced by "true".  (It is already present, as 
          H84).
---  Hypothesis H137 has been replaced by "true".  (It is already present, as 
          H85).
---  Hypothesis H139 has been replaced by "true".  (It is already present, as 
          H84).
---  Hypothesis H140 has been replaced by "true".  (It is already present, as 
          H85).
---  Hypothesis H146 has been replaced by "true".  (It is already present, as 
          H90).
---  Hypothesis H147 has been replaced by "true".  (It is already present, as 
          H91).
---  Hypothesis H148 has been replaced by "true".  (It is already present, as 
          H141).
---  Hypothesis H149 has been replaced by "true".  (It is already present, as 
          H142).
%%%  Simplified C5 on reading formula in, to give:
     %%%  C5:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) >= 
          natural__first
%%%  Simplified C6 on reading formula in, to give:
     %%%  C6:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) <= 
          natural__last
%%%  Simplified C7 on reading formula in, to give:
     %%%  C7:  fld_hash_bit_len(fld_h(ctx__2)) >= 
          initialized_hash_bit_length__first
%%%  Simplified C8 on reading formula in, to give:
     %%%  C8:  fld_hash_bit_len(fld_h(ctx__2)) <= 
          initialized_hash_bit_length__last
%%%  Simplified C9 on reading formula in, to give:
     %%%  C9:  0 >= skein_512_block_bytes_count__first
%%%  Simplified C10 on reading formula in, to give:
     %%%  C10:  0 <= skein_512_block_bytes_count__last
%%%  Simplified C12 on reading formula in, to give:
     %%%  C12:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) + ((
          msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) - 1) div skein_512_block_bytes_c - 1) * 
          skein_512_block_bytes_c + 63 <= msg__index__subtype__1__last
%%%  Simplified C13 on reading formula in, to give:
     %%%  C13:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) + 63 <= 
          msg__index__subtype__1__last
%%%  Simplified C15 on reading formula in, to give:
     %%%  C15:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) <= 
          natural__last - 63
***  Proved C1:  skein_512_block_bytes_c >= natural__first
     using hypothesis H94.
***  Proved C2:  skein_512_block_bytes_c <= natural__last
     using hypothesis H95.
***  Proved C3:  (msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) - 1) div skein_512_block_bytes_c >= 
          positive_block_512_count_t__first
     using hypothesis H141.
***  Proved C4:  (msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) - 1) div skein_512_block_bytes_c <= 
          positive_block_512_count_t__last
     using hypothesis H142.
***  Proved C5:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) >= 
          natural__first
     using hypothesis H46.
***  Proved C6:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) <= 
          natural__last
     using hypothesis H47.
***  Proved C7:  fld_hash_bit_len(fld_h(ctx__2)) >= 
          initialized_hash_bit_length__first
     using hypothesis H109.
***  Proved C8:  fld_hash_bit_len(fld_h(ctx__2)) <= 
          initialized_hash_bit_length__last
     using hypothesis H110.
***  Proved C10:  0 <= skein_512_block_bytes_count__last
     using hypotheses H4 & H37.
***  Proved C11:  msg__index__subtype__1__first = 0
     using hypothesis H5.
***  Proved C14:  msg__index__subtype__1__last <= natural__last
     using hypothesis H6.
-S-  Applied substitution rule skein_512_up_rules(97).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__first by:
          0.
<S>  New H3:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H59:  fld_byte_count(fld_h(ctx__1)) >= 0
<S>  New H112:  fld_byte_count(fld_h(ctx__2)) >= 0
<S>  New C9:  true
***  Proved C9:  true
-S-  Applied substitution rule skein_512_up_rules(1).
     This was achieved by replacing all occurrences of skein_512_block_bytes_c 
          by:
          64.
<S>  New H7:  msg__index__subtype__1__last + 65 <= natural__last
<S>  New H36:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) > 
          64
<S>  New H38:  64 - fld_byte_count(fld_h(ctx)) >= 
          skein_512_block_bytes_index__first
<S>  New H39:  64 - fld_byte_count(fld_h(ctx)) <= 
          skein_512_block_bytes_index__last
<S>  New H40:  64 - fld_byte_count(fld_h(ctx)) < msg__index__subtype__1__last + 
          1
<S>  New H41:  64 - fld_byte_count(fld_h(ctx)) <= msg__index__subtype__1__last 
          + 1
<S>  New H46:  64 - fld_byte_count(fld_h(ctx)) >= natural__first
<S>  New H47:  64 - fld_byte_count(fld_h(ctx)) <= natural__last
<S>  New H54:  64 - fld_byte_count(fld_h(ctx)) - 1 <= 
          msg__index__subtype__1__last
<S>  New H55:  fld_byte_count(fld_h(ctx)) + (64 - fld_byte_count(fld_h(ctx)) - 
          1) <= skein_512_block_bytes_index__last
<S>  New H58:  fld_byte_count(fld_h(ctx__1)) = fld_byte_count(fld_h(ctx)) + (64 
          - fld_byte_count(fld_h(ctx)))
<S>  New H84:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) >= natural__first
<S>  New H85:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) <= natural__last
<S>  New H90:  64 - fld_byte_count(fld_h(ctx)) >= natural__first
<S>  New H91:  64 - fld_byte_count(fld_h(ctx)) <= natural__last
<S>  New H92:  fld_byte_count(fld_h(ctx__1)) = 64
<S>  New H94:  64 >= natural__first
<S>  New H95:  64 <= natural__last
<S>  New H138:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) > 64
<S>  New H141:  (msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - 1) div 64 >= positive_block_512_count_t__first
<S>  New H142:  (msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - 1) div 64 <= positive_block_512_count_t__last
<S>  New H143:  true
<S>  New H144:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - 1 >= integer__base__first
<S>  New H145:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - 1 <= integer__base__last
<S>  New C12:  64 - fld_byte_count(fld_h(ctx)) + ((msg__index__subtype__1__last 
          + 1 - (64 - fld_byte_count(fld_h(ctx))) - 1) div 64 - 1) * 64 + 63 <= 
          msg__index__subtype__1__last
<S>  New C13:  64 - fld_byte_count(fld_h(ctx)) + 63 <= 
          msg__index__subtype__1__last
<S>  New C15:  64 - fld_byte_count(fld_h(ctx)) <= natural__last - 63
-S-  Applied substitution rule skein_512_up_rules(5).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H34:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) >= 
          - 2147483648
<S>  New H144:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) >= - 2147483647
-S-  Applied substitution rule skein_512_up_rules(6).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H35:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) <= 
          2147483647
<S>  New H145:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) <= 2147483648
-S-  Applied substitution rule skein_512_up_rules(8).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H10:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H28:  msg__index__subtype__1__last >= - 1
<S>  New H30:  true
<S>  New H63:  fld_byte_count(fld_h(ctx__1)) >= 0
<S>  New H117:  fld_byte_count(fld_h(ctx__2)) >= 0
<S>  New H46:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New H84:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) >= 0
<S>  New H90:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New H94:  true
-S-  Applied substitution rule skein_512_up_rules(9).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H6:  msg__index__subtype__1__last < 2147483647
<S>  New H11:  fld_byte_count(fld_h(ctx)) <= 2147483647
<S>  New H29:  msg__index__subtype__1__last <= 2147483646
<S>  New H31:  true
<S>  New H64:  fld_byte_count(fld_h(ctx__1)) <= 2147483647
<S>  New H107:  skein_512_block_bytes_index__last <= 2147483647
<S>  New H108:  true
<S>  New H118:  fld_byte_count(fld_h(ctx__2)) <= 2147483647
<S>  New H7:  msg__index__subtype__1__last <= 2147483582
<S>  New H47:  - 2147483583 <= fld_byte_count(fld_h(ctx))
<S>  New H85:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) <= 2147483647
<S>  New H91:  - 2147483583 <= fld_byte_count(fld_h(ctx))
<S>  New H95:  true
<S>  New C15:  - 2147483520 <= fld_byte_count(fld_h(ctx))
-S-  Applied substitution rule skein_512_up_rules(41).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H16:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H69:  fld_field_type(fld_tweak_words(fld_h(ctx__1))) >= 0
<S>  New H123:  fld_field_type(fld_tweak_words(fld_h(ctx__2))) >= 0
-S-  Applied substitution rule skein_512_up_rules(42).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H17:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 63
<S>  New H70:  fld_field_type(fld_tweak_words(fld_h(ctx__1))) <= 63
<S>  New H124:  fld_field_type(fld_tweak_words(fld_h(ctx__2))) <= 63
-S-  Applied substitution rule skein_512_up_rules(47).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H19:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H72:  fld_tree_level(fld_tweak_words(fld_h(ctx__1))) >= 0
<S>  New H126:  fld_tree_level(fld_tweak_words(fld_h(ctx__2))) >= 0
-S-  Applied substitution rule skein_512_up_rules(48).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H20:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 127
<S>  New H73:  fld_tree_level(fld_tweak_words(fld_h(ctx__1))) <= 127
<S>  New H127:  fld_tree_level(fld_tweak_words(fld_h(ctx__2))) <= 127
-S-  Applied substitution rule skein_512_up_rules(53).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H8:  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(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 0 <= element(msg, [i___1]
          ) and element(msg, [i___1]) <= spark__unsigned__byte__last)
<S>  New H61:  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(ctx__1), [i___2]) and element(fld_b(ctx__1), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New H93:  for_all(i___1 : integer, skein_512_block_bytes_index__first <= 
          i___1 and i___1 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(ctx__1), [i___1]) and element(fld_b(ctx__1), [i___1]) <= 
          spark__unsigned__byte__last)
<S>  New H115:  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(ctx__2), [i___2]) and element(fld_b(ctx__2), [i___2]) <= 
          spark__unsigned__byte__last)
-S-  Applied substitution rule skein_512_up_rules(54).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H8:  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(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 255)
<S>  New H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 0 <= element(msg, [i___1]
          ) and element(msg, [i___1]) <= 255)
<S>  New H61:  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(ctx__1), [i___2]) and element(fld_b(ctx__1), [i___2]) <= 255)
<S>  New H93:  for_all(i___1 : integer, skein_512_block_bytes_index__first <= 
          i___1 and i___1 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(ctx__1), [i___1]) and element(fld_b(ctx__1), [i___1]) <= 255)
<S>  New H115:  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(ctx__2), [i___2]) and element(fld_b(ctx__2), [i___2]) <= 255)
-S-  Applied substitution rule skein_512_up_rules(59).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H21:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H74:  fld_reserved(fld_tweak_words(fld_h(ctx__1))) >= 0
<S>  New H128:  fld_reserved(fld_tweak_words(fld_h(ctx__2))) >= 0
-S-  Applied substitution rule skein_512_up_rules(60).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H22:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 65535
<S>  New H75:  fld_reserved(fld_tweak_words(fld_h(ctx__1))) <= 65535
<S>  New H129:  fld_reserved(fld_tweak_words(fld_h(ctx__2))) <= 65535
-S-  Applied substitution rule skein_512_up_rules(65).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H23:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H76:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx__1))) >= 0
<S>  New H130:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx__2))) >= 0
-S-  Applied substitution rule skein_512_up_rules(66).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H24:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 4294967295
<S>  New H77:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx__1))) <= 4294967295
<S>  New H131:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx__2))) <= 4294967295
-S-  Applied substitution rule skein_512_up_rules(71).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H9:  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(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H25:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H62:  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(ctx__1), [i___1]) and element(fld_x(ctx__1), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H78:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx__1))) >= 0
<S>  New H116:  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(ctx__2), [i___1]) and element(fld_x(ctx__2), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H132:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx__2))) >= 0
-S-  Applied substitution rule skein_512_up_rules(72).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H26:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          18446744073709551615
<S>  New H79:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx__1))) <= 
          18446744073709551615
<S>  New H133:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx__2))) <= 
          18446744073709551615
<S>  New H9:  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(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          18446744073709551615)
<S>  New H62:  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(ctx__1), [i___1]) and element(fld_x(ctx__1), [i___1]) <= 
          18446744073709551615)
<S>  New H116:  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(ctx__2), [i___1]) and element(fld_x(ctx__2), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(82).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H12:  fld_hash_bit_len(fld_h(ctx)) >= 0
<S>  New H65:  fld_hash_bit_len(fld_h(ctx__1)) >= 0
<S>  New H119:  fld_hash_bit_len(fld_h(ctx__2)) >= 0
-S-  Applied substitution rule skein_512_up_rules(83).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H13:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H66:  fld_hash_bit_len(fld_h(ctx__1)) <= 2147483640
<S>  New H120:  fld_hash_bit_len(fld_h(ctx__2)) <= 2147483640
-S-  Applied substitution rule skein_512_up_rules(87).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__first by:
          1.
<S>  New H1:  fld_hash_bit_len(fld_h(ctx)) >= 1
<S>  New H100:  fld_hash_bit_len(fld_h(ctx__1)) >= 1
<S>  New H109:  fld_hash_bit_len(fld_h(ctx__2)) >= 1
-S-  Applied substitution rule skein_512_up_rules(88).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__last by:
          2147483640.
<S>  New H2:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H101:  fld_hash_bit_len(fld_h(ctx__1)) <= 2147483640
<S>  New H110:  fld_hash_bit_len(fld_h(ctx__2)) <= 2147483640
-S-  Applied substitution rule skein_512_up_rules(92).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H9:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(ctx), [i___1])
           and element(fld_x(ctx), [i___1]) <= 18446744073709551615)
<S>  New H62:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(ctx__1), [
          i___1]) and element(fld_x(ctx__1), [i___1]) <= 18446744073709551615)
<S>  New H116:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(ctx__2), [
          i___1]) and element(fld_x(ctx__2), [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(93).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H9:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          18446744073709551615)
<S>  New H62:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(ctx__1), [i___1]) and element(fld_x(ctx__1), [i___1]) 
          <= 18446744073709551615)
<S>  New H116:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(ctx__2), [i___1]) and element(fld_x(ctx__2), [i___1]) 
          <= 18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(98).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__last by:
          64.
<S>  New H4:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New H60:  fld_byte_count(fld_h(ctx__1)) <= 64
<S>  New H113:  fld_byte_count(fld_h(ctx__2)) <= 64
-S-  Applied substitution rule skein_512_up_rules(102).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H104:  true
<S>  New H38:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New H8:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(ctx), [i___2])
           and element(fld_b(ctx), [i___2]) <= 255)
<S>  New H61:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(ctx__1), [
          i___2]) and element(fld_b(ctx__1), [i___2]) <= 255)
<S>  New H93:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(ctx__1), [
          i___1]) and element(fld_b(ctx__1), [i___1]) <= 255)
<S>  New H115:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(ctx__2), [
          i___2]) and element(fld_b(ctx__2), [i___2]) <= 255)
-S-  Applied substitution rule skein_512_up_rules(103).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H105:  true
<S>  New H106:  true
<S>  New H39:  1 <= fld_byte_count(fld_h(ctx))
<S>  New H55:  fld_byte_count(fld_h(ctx)) + (64 - fld_byte_count(fld_h(ctx)) - 
          1) <= 63
<S>  New H107:  true
<S>  New H8:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 255)
<S>  New H61:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(ctx__1), [i___2]) and element(fld_b(ctx__1), [i___2]) 
          <= 255)
<S>  New H93:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 63 -> 0 <= 
          element(fld_b(ctx__1), [i___1]) and element(fld_b(ctx__1), [i___1]) 
          <= 255)
<S>  New H115:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(ctx__2), [i___2]) and element(fld_b(ctx__2), [i___2]) 
          <= 255)
-S-  Applied substitution rule skein_512_up_rules(107).
     This was achieved by replacing all occurrences of 
          positive_block_512_count_t__first by:
          1.
<S>  New H96:  true
<S>  New H141:  (msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - 1) div 64 >= 1
-S-  Applied substitution rule skein_512_up_rules(108).
     This was achieved by replacing all occurrences of 
          positive_block_512_count_t__last by:
          33554431.
<S>  New H97:  true
<S>  New H142:  (msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - 1) div 64 <= 33554431
***  Proved C15:  - 2147483520 <= fld_byte_count(fld_h(ctx))
     using hypothesis H37.
---  Eliminated hypothesis H14 (true-hypothesis).
---  Eliminated hypothesis H15 (true-hypothesis).
---  Eliminated hypothesis H18 (true-hypothesis).
---  Eliminated hypothesis H32 (true-hypothesis).
---  Eliminated hypothesis H33 (true-hypothesis).
---  Eliminated hypothesis H42 (true-hypothesis).
---  Eliminated hypothesis H43 (true-hypothesis).
---  Eliminated hypothesis H44 (true-hypothesis).
---  Eliminated hypothesis H45 (true-hypothesis).
---  Eliminated hypothesis H48 (true-hypothesis).
---  Eliminated hypothesis H49 (true-hypothesis).
---  Eliminated hypothesis H51 (true-hypothesis).
---  Eliminated hypothesis H67 (true-hypothesis).
---  Eliminated hypothesis H68 (true-hypothesis).
---  Eliminated hypothesis H71 (true-hypothesis).
---  Eliminated hypothesis H80 (true-hypothesis).
---  Eliminated hypothesis H81 (true-hypothesis).
---  Eliminated hypothesis H82 (true-hypothesis).
---  Eliminated hypothesis H83 (true-hypothesis).
---  Eliminated hypothesis H86 (true-hypothesis).
---  Eliminated hypothesis H87 (true-hypothesis).
---  Eliminated hypothesis H88 (true-hypothesis).
---  Eliminated hypothesis H89 (true-hypothesis).
---  Eliminated hypothesis H98 (true-hypothesis).
---  Eliminated hypothesis H99 (true-hypothesis).
---  Eliminated hypothesis H102 (true-hypothesis).
---  Eliminated hypothesis H103 (true-hypothesis).
---  Eliminated hypothesis H121 (true-hypothesis).
---  Eliminated hypothesis H122 (true-hypothesis).
---  Eliminated hypothesis H125 (true-hypothesis).
---  Eliminated hypothesis H134 (true-hypothesis).
---  Eliminated hypothesis H135 (true-hypothesis).
---  Eliminated hypothesis H136 (true-hypothesis).
---  Eliminated hypothesis H137 (true-hypothesis).
---  Eliminated hypothesis H139 (true-hypothesis).
---  Eliminated hypothesis H140 (true-hypothesis).
---  Eliminated hypothesis H146 (true-hypothesis).
---  Eliminated hypothesis H147 (true-hypothesis).
---  Eliminated hypothesis H148 (true-hypothesis).
---  Eliminated hypothesis H149 (true-hypothesis).
---  Eliminated hypothesis H143 (true-hypothesis).
---  Eliminated hypothesis H30 (true-hypothesis).
---  Eliminated hypothesis H94 (true-hypothesis).
---  Eliminated hypothesis H31 (true-hypothesis).
---  Eliminated hypothesis H108 (true-hypothesis).
---  Eliminated hypothesis H95 (true-hypothesis).
---  Eliminated hypothesis H104 (true-hypothesis).
---  Eliminated hypothesis H105 (true-hypothesis).
---  Eliminated hypothesis H106 (true-hypothesis).
---  Eliminated hypothesis H107 (true-hypothesis).
---  Eliminated hypothesis H96 (true-hypothesis).
---  Eliminated hypothesis H97 (true-hypothesis).
---  Eliminated hypothesis H55 (true-hypothesis).
---  Eliminated hypothesis H10 (duplicate of H3).
---  Eliminated hypothesis H39 (duplicate of H37).
---  Eliminated hypothesis H100 (duplicate of H56).
---  Eliminated hypothesis H63 (duplicate of H59).
---  Eliminated hypothesis H117 (duplicate of H112).
---  Eliminated hypothesis H90 (duplicate of H46).
---  Eliminated hypothesis H91 (duplicate of H47).
---  Eliminated hypothesis H101 (duplicate of H66).
---  Eliminated hypothesis H13 (duplicate of H2).
---  Eliminated hypothesis H120 (duplicate of H110).
---  Eliminated hypothesis H46 (duplicate of H4).
---  Eliminated hypothesis H38 (duplicate of H4).
---  Eliminated hypothesis H50 (duplicate of H1).
---  Eliminated hypothesis H29 (duplicate of H6).
---  Eliminated hypothesis H40 (duplicate of H36).
---  Eliminated hypothesis H54 (duplicate of H41).
---  Eliminated hypothesis H84 (duplicate of H41).
---  Eliminated hypothesis H92 (duplicate of H58).
---  Eliminated hypothesis H3 (redundant, given H37).
---  Eliminated hypothesis H6 (redundant, given H7).
---  Eliminated hypothesis H11 (redundant, given H4).
---  Eliminated hypothesis H12 (redundant, given H1).
---  Eliminated hypothesis H28 (redundant, given H53).
---  Eliminated hypothesis H34 (redundant, given H36).
---  Eliminated hypothesis H36 (redundant, given H138).
---  Eliminated hypothesis H41 (redundant, given H138).
---  Eliminated hypothesis H47 (redundant, given H37).
---  Eliminated hypothesis H52 (redundant, given H5).
---  Eliminated hypothesis H53 (redundant, given H4 & H138).
---  Eliminated hypothesis H59 (redundant, given H58).
---  Eliminated hypothesis H60 (redundant, given H58).
---  Eliminated hypothesis H64 (redundant, given H58).
---  Eliminated hypothesis H65 (redundant, given H56).
---  Eliminated hypothesis H85 (redundant, given H35).
---  Eliminated hypothesis H118 (redundant, given H113).
---  Eliminated hypothesis H119 (redundant, given H109).
---  Eliminated hypothesis H144 (redundant, given H138).
---  Eliminated hypothesis H145 (redundant, given H35).
-S-  Substituted hypothesis H57.
     This was achieved by replacing all occurrences of fld_hash_bit_len(fld_h(
          ctx__1)) by:
          fld_hash_bit_len(fld_h(ctx)).
-S-  Substituted hypothesis H114.
     This was achieved by replacing all occurrences of fld_byte_count(fld_h(
          ctx__2)) by:
          fld_byte_count(fld_h(ctx__1)).
-S-  Substituted hypothesis H111.
     This was achieved by replacing all occurrences of fld_hash_bit_len(fld_h(
          ctx__2)) by:
          fld_hash_bit_len(fld_h(ctx)).
     +++  New H150:  integer__size >= 0
     +++  New H151:  natural__size >= 0
     +++  New H152:  spark__unsigned__u6__size >= 0
     +++  New H153:  spark__unsigned__u7__size >= 0
     +++  New H154:  spark__unsigned__byte__size >= 0
     +++  New H155:  spark__unsigned__u16__size >= 0
     +++  New H156:  spark__unsigned__u32__size >= 0
     +++  New H157:  spark__unsigned__u64__size >= 0
     +++  New H158:  spark__crypto__word_count_t__size >= 0
     +++  New H159:  hash_bit_length__size >= 0
     +++  New H160:  initialized_hash_bit_length__size >= 0
     +++  New H161:  skein_512_state_words_index__size >= 0
     +++  New H162:  skein_512_block_bytes_count__size >= 0
     +++  New H163:  skein_512_block_bytes_index__size >= 0
     +++  New H164:  positive_block_512_count_t__size >= 0
     +++  New H165:  skein_512_context__size >= 0
     +++  New H166:  msg__index__subtype__1__first <= 
          msg__index__subtype__1__last
     +++  New H167:  context_header__size >= 0
     +++  New H168:  msg__index__subtype__1__first >= 0
     +++  New H169:  msg__index__subtype__1__last >= 0
     +++  New H170:  msg__index__subtype__1__last <= 2147483647
     +++  New H171:  msg__index__subtype__1__first <= 2147483647


@@@@@@@@@@  VC: procedure_skein_512_update_16.  @@@@@@@@@@
%%%  Simplified H8 on reading formula in, to give:
     %%%  H8:  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(ctx), [i___2]) and 
          element(fld_b(ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  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(ctx), [i___1]) and 
          element(fld_x(ctx), [i___1]) <= spark__unsigned__u64__last)
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(msg, [i___1]) and element(
          msg, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H38 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H39 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H41 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H42 has been replaced by "true".  (It is already present, as 
          H29).
%%%  Simplified H43 on reading formula in, to give:
     %%%  H43:  msg__index__subtype__1__last div skein_512_block_bytes_c >= 
          positive_block_512_count_t__first
%%%  Simplified H44 on reading formula in, to give:
     %%%  H44:  msg__index__subtype__1__last div skein_512_block_bytes_c <= 
          positive_block_512_count_t__last
%%%  Simplified H46 on reading formula in, to give:
     %%%  H46:  msg__index__subtype__1__last >= integer__base__first
%%%  Simplified H47 on reading formula in, to give:
     %%%  H47:  msg__index__subtype__1__last <= integer__base__last
---  Hypothesis H48 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H49 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H50 has been replaced by "true".  (It is already present, as 
          H43).
---  Hypothesis H51 has been replaced by "true".  (It is already present, as 
          H44).
%%%  Simplified C3 on reading formula in, to give:
     %%%  C3:  msg__index__subtype__1__last div skein_512_block_bytes_c >= 
          positive_block_512_count_t__first
%%%  Simplified C4 on reading formula in, to give:
     %%%  C4:  msg__index__subtype__1__last div skein_512_block_bytes_c <= 
          positive_block_512_count_t__last
%%%  Simplified C12 on reading formula in, to give:
     %%%  C12:  (msg__index__subtype__1__last div skein_512_block_bytes_c - 1) 
          * skein_512_block_bytes_c + 63 <= msg__index__subtype__1__last
%%%  Simplified C13 on reading formula in, to give:
     %%%  C13:  63 <= msg__index__subtype__1__last
%%%  Simplified C15 on reading formula in, to give:
     %%%  C15:  63 <= natural__last
***  Proved C2:  skein_512_block_bytes_c <= natural__last
     using hypotheses H29, H36 & H37.
***  Proved C3:  msg__index__subtype__1__last div skein_512_block_bytes_c >= 
          positive_block_512_count_t__first
     using hypothesis H43.
***  Proved C4:  msg__index__subtype__1__last div skein_512_block_bytes_c <= 
          positive_block_512_count_t__last
     using hypothesis H44.
***  Proved C5:  0 >= natural__first
     using hypothesis H30.
***  Proved C6:  0 <= natural__last
     using hypothesis H31.
***  Proved C7:  fld_hash_bit_len(fld_h(ctx)) >= 
          initialized_hash_bit_length__first
     using hypothesis H1.
***  Proved C8:  fld_hash_bit_len(fld_h(ctx)) <= 
          initialized_hash_bit_length__last
     using hypothesis H2.
***  Proved C9:  fld_byte_count(fld_h(ctx)) >= 
          skein_512_block_bytes_count__first
     using hypothesis H3.
***  Proved C10:  fld_byte_count(fld_h(ctx)) <= 
          skein_512_block_bytes_count__last
     using hypothesis H4.
***  Proved C11:  msg__index__subtype__1__first = 0
     using hypothesis H5.
***  Proved C14:  msg__index__subtype__1__last <= natural__last
     using hypothesis H6.
-S-  Applied substitution rule skein_512_up_rules(1).
     This was achieved by replacing all occurrences of skein_512_block_bytes_c 
          by:
          64.
<S>  New H7:  msg__index__subtype__1__last + 65 <= natural__last
<S>  New H36:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) > 
          64
<S>  New H40:  msg__index__subtype__1__last > 63
<S>  New H43:  msg__index__subtype__1__last div 64 >= 
          positive_block_512_count_t__first
<S>  New H44:  msg__index__subtype__1__last div 64 <= 
          positive_block_512_count_t__last
<S>  New H45:  true
<S>  New C1:  64 >= natural__first
<S>  New C12:  (msg__index__subtype__1__last div 64 - 1) * 64 + 63 <= 
          msg__index__subtype__1__last
-S-  Applied substitution rule skein_512_up_rules(8).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H10:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H28:  msg__index__subtype__1__last >= - 1
<S>  New H30:  true
<S>  New C1:  true
-S-  Applied substitution rule skein_512_up_rules(9).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H6:  msg__index__subtype__1__last < 2147483647
<S>  New H11:  fld_byte_count(fld_h(ctx)) <= 2147483647
<S>  New H29:  msg__index__subtype__1__last <= 2147483646
<S>  New H31:  true
<S>  New H7:  msg__index__subtype__1__last <= 2147483582
<S>  New C15:  true
***  Proved C13:  63 <= msg__index__subtype__1__last
     using hypothesis H40.
***  Proved C1:  true
***  Proved C15:  true
>>>  Restructured hypothesis H37 into:
     >>>  H37:  fld_byte_count(fld_h(ctx)) <= 0
-S-  Applied substitution rule skein_512_up_rules(5).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H34:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) >= 
          - 2147483648
<S>  New H46:  msg__index__subtype__1__last >= - 2147483648
-S-  Applied substitution rule skein_512_up_rules(6).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H35:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) <= 
          2147483647
<S>  New H47:  msg__index__subtype__1__last <= 2147483647
-S-  Applied substitution rule skein_512_up_rules(41).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H16:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(42).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H17:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 63
-S-  Applied substitution rule skein_512_up_rules(47).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H19:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(48).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H20:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 127
-S-  Applied substitution rule skein_512_up_rules(53).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H8:  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(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 0 <= element(msg, [i___1]
          ) and element(msg, [i___1]) <= spark__unsigned__byte__last)
-S-  Applied substitution rule skein_512_up_rules(54).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H8:  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(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 255)
<S>  New H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 0 <= element(msg, [i___1]
          ) and element(msg, [i___1]) <= 255)
-S-  Applied substitution rule skein_512_up_rules(59).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H21:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(60).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H22:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 65535
-S-  Applied substitution rule skein_512_up_rules(65).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H23:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(66).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H24:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 4294967295
-S-  Applied substitution rule skein_512_up_rules(71).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H9:  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(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H25:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(72).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H26:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          18446744073709551615
<S>  New H9:  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(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(82).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H12:  fld_hash_bit_len(fld_h(ctx)) >= 0
-S-  Applied substitution rule skein_512_up_rules(83).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H13:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
-S-  Applied substitution rule skein_512_up_rules(87).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__first by:
          1.
<S>  New H1:  fld_hash_bit_len(fld_h(ctx)) >= 1
-S-  Applied substitution rule skein_512_up_rules(88).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__last by:
          2147483640.
<S>  New H2:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
-S-  Applied substitution rule skein_512_up_rules(92).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H9:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(ctx), [i___1])
           and element(fld_x(ctx), [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(93).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H9:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(97).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__first by:
          0.
<S>  New H3:  fld_byte_count(fld_h(ctx)) >= 0
-S-  Applied substitution rule skein_512_up_rules(98).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__last by:
          64.
<S>  New H4:  fld_byte_count(fld_h(ctx)) <= 64
-S-  Applied substitution rule skein_512_up_rules(102).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H8:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(ctx), [i___2])
           and element(fld_b(ctx), [i___2]) <= 255)
-S-  Applied substitution rule skein_512_up_rules(103).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H8:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 255)
-S-  Applied substitution rule skein_512_up_rules(107).
     This was achieved by replacing all occurrences of 
          positive_block_512_count_t__first by:
          1.
<S>  New H43:  msg__index__subtype__1__last div 64 >= 1
-S-  Applied substitution rule skein_512_up_rules(108).
     This was achieved by replacing all occurrences of 
          positive_block_512_count_t__last by:
          33554431.
<S>  New H44:  msg__index__subtype__1__last div 64 <= 33554431
%%%  Hypotheses H37 & H10 together imply that
          fld_byte_count(fld_h(ctx)) = 0.
     H37 & H10 have therefore been deleted and a new H52 added to this effect.
---  Eliminated hypothesis H14 (true-hypothesis).
---  Eliminated hypothesis H15 (true-hypothesis).
---  Eliminated hypothesis H18 (true-hypothesis).
---  Eliminated hypothesis H30 (true-hypothesis).
---  Eliminated hypothesis H31 (true-hypothesis).
---  Eliminated hypothesis H32 (true-hypothesis).
---  Eliminated hypothesis H33 (true-hypothesis).
---  Eliminated hypothesis H38 (true-hypothesis).
---  Eliminated hypothesis H39 (true-hypothesis).
---  Eliminated hypothesis H41 (true-hypothesis).
---  Eliminated hypothesis H42 (true-hypothesis).
---  Eliminated hypothesis H45 (true-hypothesis).
---  Eliminated hypothesis H48 (true-hypothesis).
---  Eliminated hypothesis H49 (true-hypothesis).
---  Eliminated hypothesis H50 (true-hypothesis).
---  Eliminated hypothesis H51 (true-hypothesis).
---  Eliminated hypothesis H13 (duplicate of H2).
---  Eliminated hypothesis H29 (duplicate of H6).
---  Eliminated hypothesis H3 (redundant, given H52).
---  Eliminated hypothesis H4 (redundant, given H52).
---  Eliminated hypothesis H6 (redundant, given H7).
---  Eliminated hypothesis H11 (redundant, given H52).
---  Eliminated hypothesis H12 (redundant, given H1).
---  Eliminated hypothesis H28 (redundant, given H40).
---  Eliminated hypothesis H34 (redundant, given H36).
---  Eliminated hypothesis H46 (redundant, given H40).
---  Eliminated hypothesis H47 (redundant, given H7).
***  Proved C12:  (msg__index__subtype__1__last div 64 - 1) * 64 + 63 <= 
          msg__index__subtype__1__last
     via its standard form, which is:
     Std.Fm C12:  msg__index__subtype__1__last - 64 * (
          msg__index__subtype__1__last div 64) > - 2
     using hypothesis H40.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_update_17.  @@@@@@@@@@
%%%  Simplified H8 on reading formula in, to give:
     %%%  H8:  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(ctx), [i___2]) and 
          element(fld_b(ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  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(ctx), [i___1]) and 
          element(fld_x(ctx), [i___1]) <= spark__unsigned__u64__last)
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(msg, [i___1]) and element(
          msg, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H42 has been replaced by "true".  (It is already present, as 
          H30).
---  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 
          H38).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H48 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H49 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H51 has been replaced by "true".  (It is already present, as H5)
          .
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) - 1 <= 
          msg__index__subtype__1__last
%%%  Simplified H61 on reading formula in, to give:
     %%%  H61:  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(ctx__1), [i___2]) and 
          element(fld_b(ctx__1), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H62 on reading formula in, to give:
     %%%  H62:  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(ctx__1), [i___1]) and 
          element(fld_x(ctx__1), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H80 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H81 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H82 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H83 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H86 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H87 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H88 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H89 has been replaced by "true".  (It is already present, as 
          H31).
%%%  Simplified H90 on reading formula in, to give:
     %%%  H90:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) >= 
          natural__first
%%%  Simplified H91 on reading formula in, to give:
     %%%  H91:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) <= 
          natural__last
%%%  Simplified H93 on reading formula in, to give:
     %%%  H93:  for_all(i___1 : integer, skein_512_block_bytes_index__first <= 
          i___1 and i___1 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(ctx__1), [i___1]) and 
          element(fld_b(ctx__1), [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H98 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H99 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H102 has been replaced by "true".  (It is already present, as 
          H59).
---  Hypothesis H103 has been replaced by "true".  (It is already present, as 
          H60).
%%%  Simplified H105 on reading formula in, to give:
     %%%  H105:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H106 on reading formula in, to give:
     %%%  H106:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H108 on reading formula in, to give:
     %%%  H108:  63 <= natural__last
%%%  Simplified H115 on reading formula in, to give:
     %%%  H115:  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(ctx__2), [i___2]) and 
          element(fld_b(ctx__2), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H116 on reading formula in, to give:
     %%%  H116:  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(ctx__2), [i___1]) and 
          element(fld_x(ctx__2), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H134 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H135 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H136 has been replaced by "true".  (It is already present, as 
          H84).
---  Hypothesis H137 has been replaced by "true".  (It is already present, as 
          H85).
---  Hypothesis H139 has been replaced by "true".  (It is already present, as 
          H84).
---  Hypothesis H140 has been replaced by "true".  (It is already present, as 
          H85).
---  Hypothesis H146 has been replaced by "true".  (It is already present, as 
          H90).
---  Hypothesis H147 has been replaced by "true".  (It is already present, as 
          H91).
---  Hypothesis H148 has been replaced by "true".  (It is already present, as 
          H141).
---  Hypothesis H149 has been replaced by "true".  (It is already present, as 
          H142).
---  Hypothesis H150 has been replaced by "true".  (It is already present, as 
          H94).
---  Hypothesis H151 has been replaced by "true".  (It is already present, as 
          H95).
---  Hypothesis H152 has been replaced by "true".  (It is already present, as 
          H141).
---  Hypothesis H153 has been replaced by "true".  (It is already present, as 
          H142).
---  Hypothesis H154 has been replaced by "true".  (It is already present, as 
          H90).
---  Hypothesis H155 has been replaced by "true".  (It is already present, as 
          H91).
%%%  Simplified H156 on reading formula in, to give:
     %%%  H156:  fld_hash_bit_len(fld_h(ctx__2)) >= 
          initialized_hash_bit_length__first
%%%  Simplified H157 on reading formula in, to give:
     %%%  H157:  fld_hash_bit_len(fld_h(ctx__2)) <= 
          initialized_hash_bit_length__last
%%%  Simplified H158 on reading formula in, to give:
     %%%  H158:  0 >= skein_512_block_bytes_count__first
%%%  Simplified H159 on reading formula in, to give:
     %%%  H159:  0 <= skein_512_block_bytes_count__last
---  Hypothesis H160 has been replaced by "true".  (It is already present, as 
          H5).
%%%  Simplified H161 on reading formula in, to give:
     %%%  H161:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) + ((
          msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) - 1) div skein_512_block_bytes_c - 1) * 
          skein_512_block_bytes_c + 63 <= msg__index__subtype__1__last
%%%  Simplified H162 on reading formula in, to give:
     %%%  H162:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) + 63 <= 
          msg__index__subtype__1__last
%%%  Simplified H164 on reading formula in, to give:
     %%%  H164:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) <= 
          natural__last - 63
%%%  Simplified H167 on reading formula in, to give:
     %%%  H167:  fld_hash_bit_len(fld_h(ctx__3)) = fld_hash_bit_len(fld_h(
          ctx__2))
%%%  Simplified H170 on reading formula in, to give:
     %%%  H170:  fld_byte_count(fld_h(ctx__3)) = 0
%%%  Simplified H171 on reading formula in, to give:
     %%%  H171:  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(ctx__3), [i___2]) and 
          element(fld_b(ctx__3), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H172 on reading formula in, to give:
     %%%  H172:  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(ctx__3), [i___1]) and 
          element(fld_x(ctx__3), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H190 has been replaced by "true".  (It is already present, as 
          H141).
---  Hypothesis H191 has been replaced by "true".  (It is already present, as 
          H142).
-S-  Applied substitution rule skein_512_up_rules(8).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H10:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H28:  msg__index__subtype__1__last >= - 1
<S>  New H30:  true
<S>  New H46:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) >= 0
<S>  New H63:  fld_byte_count(fld_h(ctx__1)) >= 0
<S>  New H84:  msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) >= 0
<S>  New H90:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) >= 0
<S>  New H94:  skein_512_block_bytes_c >= 0
<S>  New H117:  fld_byte_count(fld_h(ctx__2)) >= 0
<S>  New H173:  fld_byte_count(fld_h(ctx__3)) >= 0
<S>  New C1:  (msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) - 1) div skein_512_block_bytes_c * 
          skein_512_block_bytes_c >= 0
-S-  Applied substitution rule skein_512_up_rules(9).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H6:  msg__index__subtype__1__last < 2147483647
<S>  New H7:  msg__index__subtype__1__last + skein_512_block_bytes_c <= 
          2147483646
<S>  New H11:  fld_byte_count(fld_h(ctx)) <= 2147483647
<S>  New H29:  msg__index__subtype__1__last <= 2147483646
<S>  New H31:  true
<S>  New H47:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) <= 
          2147483647
<S>  New H64:  fld_byte_count(fld_h(ctx__1)) <= 2147483647
<S>  New H85:  msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) <= 2147483647
<S>  New H91:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) <= 
          2147483647
<S>  New H95:  skein_512_block_bytes_c <= 2147483647
<S>  New H107:  skein_512_block_bytes_index__last <= 2147483647
<S>  New H108:  true
<S>  New H118:  fld_byte_count(fld_h(ctx__2)) <= 2147483647
<S>  New H163:  msg__index__subtype__1__last <= 2147483647
<S>  New H164:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) <= 
          2147483584
<S>  New H174:  fld_byte_count(fld_h(ctx__3)) <= 2147483647
<S>  New C2:  (msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) - 1) div skein_512_block_bytes_c * 
          skein_512_block_bytes_c <= 2147483647
-S-  Applied substitution rule skein_512_up_rules(1).
     This was achieved by replacing all occurrences of skein_512_block_bytes_c 
          by:
          64.
<S>  New H7:  msg__index__subtype__1__last <= 2147483582
<S>  New H36:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) > 
          64
<S>  New H38:  64 - fld_byte_count(fld_h(ctx)) >= 
          skein_512_block_bytes_index__first
<S>  New H39:  64 - fld_byte_count(fld_h(ctx)) <= 
          skein_512_block_bytes_index__last
<S>  New H40:  64 - fld_byte_count(fld_h(ctx)) < msg__index__subtype__1__last + 
          1
<S>  New H41:  64 - fld_byte_count(fld_h(ctx)) <= msg__index__subtype__1__last 
          + 1
<S>  New H46:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New H47:  - 2147483583 <= fld_byte_count(fld_h(ctx))
<S>  New H54:  64 - fld_byte_count(fld_h(ctx)) - 1 <= 
          msg__index__subtype__1__last
<S>  New H55:  fld_byte_count(fld_h(ctx)) + (64 - fld_byte_count(fld_h(ctx)) - 
          1) <= skein_512_block_bytes_index__last
<S>  New H58:  fld_byte_count(fld_h(ctx__1)) = fld_byte_count(fld_h(ctx)) + (64 
          - fld_byte_count(fld_h(ctx)))
<S>  New H84:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) >= 0
<S>  New H85:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) <= 2147483647
<S>  New H90:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New H91:  - 2147483583 <= fld_byte_count(fld_h(ctx))
<S>  New H92:  fld_byte_count(fld_h(ctx__1)) = 64
<S>  New H94:  true
<S>  New H95:  true
<S>  New H138:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) > 64
<S>  New H141:  (msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - 1) div 64 >= positive_block_512_count_t__first
<S>  New H142:  (msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - 1) div 64 <= positive_block_512_count_t__last
<S>  New H143:  true
<S>  New H144:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - 1 >= integer__base__first
<S>  New H145:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - 1 <= integer__base__last
<S>  New H161:  64 - fld_byte_count(fld_h(ctx)) + ((
          msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(ctx))) 
          - 1) div 64 - 1) * 64 + 63 <= msg__index__subtype__1__last
<S>  New H162:  64 - fld_byte_count(fld_h(ctx)) + 63 <= 
          msg__index__subtype__1__last
<S>  New H164:  - 2147483520 <= fld_byte_count(fld_h(ctx))
<S>  New C1:  (msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - 1) div 64 * 64 >= 0
<S>  New C2:  (msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - 1) div 64 * 64 <= 2147483647
-S-  Applied substitution rule skein_512_up_rules(5).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H34:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) >= 
          - 2147483648
<S>  New H144:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) >= - 2147483647
-S-  Applied substitution rule skein_512_up_rules(6).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H35:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) <= 
          2147483647
<S>  New H145:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) <= 2147483648
-S-  Applied substitution rule skein_512_up_rules(41).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H16:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H69:  fld_field_type(fld_tweak_words(fld_h(ctx__1))) >= 0
<S>  New H123:  fld_field_type(fld_tweak_words(fld_h(ctx__2))) >= 0
<S>  New H179:  fld_field_type(fld_tweak_words(fld_h(ctx__3))) >= 0
-S-  Applied substitution rule skein_512_up_rules(42).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H17:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 63
<S>  New H70:  fld_field_type(fld_tweak_words(fld_h(ctx__1))) <= 63
<S>  New H124:  fld_field_type(fld_tweak_words(fld_h(ctx__2))) <= 63
<S>  New H180:  fld_field_type(fld_tweak_words(fld_h(ctx__3))) <= 63
-S-  Applied substitution rule skein_512_up_rules(47).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H19:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H72:  fld_tree_level(fld_tweak_words(fld_h(ctx__1))) >= 0
<S>  New H126:  fld_tree_level(fld_tweak_words(fld_h(ctx__2))) >= 0
<S>  New H182:  fld_tree_level(fld_tweak_words(fld_h(ctx__3))) >= 0
-S-  Applied substitution rule skein_512_up_rules(48).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H20:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 127
<S>  New H73:  fld_tree_level(fld_tweak_words(fld_h(ctx__1))) <= 127
<S>  New H127:  fld_tree_level(fld_tweak_words(fld_h(ctx__2))) <= 127
<S>  New H183:  fld_tree_level(fld_tweak_words(fld_h(ctx__3))) <= 127
-S-  Applied substitution rule skein_512_up_rules(53).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H8:  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(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 0 <= element(msg, [i___1]
          ) and element(msg, [i___1]) <= spark__unsigned__byte__last)
<S>  New H61:  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(ctx__1), [i___2]) and element(fld_b(ctx__1), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New H93:  for_all(i___1 : integer, skein_512_block_bytes_index__first <= 
          i___1 and i___1 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(ctx__1), [i___1]) and element(fld_b(ctx__1), [i___1]) <= 
          spark__unsigned__byte__last)
<S>  New H115:  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(ctx__2), [i___2]) and element(fld_b(ctx__2), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New H171:  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(ctx__3), [i___2]) and element(fld_b(ctx__3), [i___2]) <= 
          spark__unsigned__byte__last)
-S-  Applied substitution rule skein_512_up_rules(54).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H8:  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(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 255)
<S>  New H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 0 <= element(msg, [i___1]
          ) and element(msg, [i___1]) <= 255)
<S>  New H61:  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(ctx__1), [i___2]) and element(fld_b(ctx__1), [i___2]) <= 255)
<S>  New H93:  for_all(i___1 : integer, skein_512_block_bytes_index__first <= 
          i___1 and i___1 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(ctx__1), [i___1]) and element(fld_b(ctx__1), [i___1]) <= 255)
<S>  New H115:  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(ctx__2), [i___2]) and element(fld_b(ctx__2), [i___2]) <= 255)
<S>  New H171:  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(ctx__3), [i___2]) and element(fld_b(ctx__3), [i___2]) <= 255)
-S-  Applied substitution rule skein_512_up_rules(59).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H21:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H74:  fld_reserved(fld_tweak_words(fld_h(ctx__1))) >= 0
<S>  New H128:  fld_reserved(fld_tweak_words(fld_h(ctx__2))) >= 0
<S>  New H184:  fld_reserved(fld_tweak_words(fld_h(ctx__3))) >= 0
-S-  Applied substitution rule skein_512_up_rules(60).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H22:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 65535
<S>  New H75:  fld_reserved(fld_tweak_words(fld_h(ctx__1))) <= 65535
<S>  New H129:  fld_reserved(fld_tweak_words(fld_h(ctx__2))) <= 65535
<S>  New H185:  fld_reserved(fld_tweak_words(fld_h(ctx__3))) <= 65535
-S-  Applied substitution rule skein_512_up_rules(65).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H23:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H76:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx__1))) >= 0
<S>  New H130:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx__2))) >= 0
<S>  New H186:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx__3))) >= 0
-S-  Applied substitution rule skein_512_up_rules(66).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H24:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 4294967295
<S>  New H77:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx__1))) <= 4294967295
<S>  New H131:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx__2))) <= 4294967295
<S>  New H187:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx__3))) <= 4294967295
-S-  Applied substitution rule skein_512_up_rules(71).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H9:  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(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H25:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H62:  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(ctx__1), [i___1]) and element(fld_x(ctx__1), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H78:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx__1))) >= 0
<S>  New H116:  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(ctx__2), [i___1]) and element(fld_x(ctx__2), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H132:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx__2))) >= 0
<S>  New H172:  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(ctx__3), [i___1]) and element(fld_x(ctx__3), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H188:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx__3))) >= 0
-S-  Applied substitution rule skein_512_up_rules(72).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H26:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          18446744073709551615
<S>  New H79:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx__1))) <= 
          18446744073709551615
<S>  New H133:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx__2))) <= 
          18446744073709551615
<S>  New H189:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx__3))) <= 
          18446744073709551615
<S>  New H9:  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(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          18446744073709551615)
<S>  New H62:  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(ctx__1), [i___1]) and element(fld_x(ctx__1), [i___1]) <= 
          18446744073709551615)
<S>  New H116:  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(ctx__2), [i___1]) and element(fld_x(ctx__2), [i___1]) <= 
          18446744073709551615)
<S>  New H172:  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(ctx__3), [i___1]) and element(fld_x(ctx__3), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(82).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H12:  fld_hash_bit_len(fld_h(ctx)) >= 0
<S>  New H65:  fld_hash_bit_len(fld_h(ctx__1)) >= 0
<S>  New H119:  fld_hash_bit_len(fld_h(ctx__2)) >= 0
<S>  New H175:  fld_hash_bit_len(fld_h(ctx__3)) >= 0
-S-  Applied substitution rule skein_512_up_rules(83).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H13:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H66:  fld_hash_bit_len(fld_h(ctx__1)) <= 2147483640
<S>  New H120:  fld_hash_bit_len(fld_h(ctx__2)) <= 2147483640
<S>  New H176:  fld_hash_bit_len(fld_h(ctx__3)) <= 2147483640
-S-  Applied substitution rule skein_512_up_rules(87).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__first by:
          1.
<S>  New H1:  fld_hash_bit_len(fld_h(ctx)) >= 1
<S>  New H100:  fld_hash_bit_len(fld_h(ctx__1)) >= 1
<S>  New H109:  fld_hash_bit_len(fld_h(ctx__2)) >= 1
<S>  New H156:  fld_hash_bit_len(fld_h(ctx__2)) >= 1
<S>  New H165:  fld_hash_bit_len(fld_h(ctx__3)) >= 1
-S-  Applied substitution rule skein_512_up_rules(88).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__last by:
          2147483640.
<S>  New H2:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H101:  fld_hash_bit_len(fld_h(ctx__1)) <= 2147483640
<S>  New H110:  fld_hash_bit_len(fld_h(ctx__2)) <= 2147483640
<S>  New H157:  fld_hash_bit_len(fld_h(ctx__2)) <= 2147483640
<S>  New H166:  fld_hash_bit_len(fld_h(ctx__3)) <= 2147483640
-S-  Applied substitution rule skein_512_up_rules(92).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H9:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(ctx), [i___1])
           and element(fld_x(ctx), [i___1]) <= 18446744073709551615)
<S>  New H62:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(ctx__1), [
          i___1]) and element(fld_x(ctx__1), [i___1]) <= 18446744073709551615)
<S>  New H116:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(ctx__2), [
          i___1]) and element(fld_x(ctx__2), [i___1]) <= 18446744073709551615)
<S>  New H172:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(ctx__3), [
          i___1]) and element(fld_x(ctx__3), [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(93).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H9:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          18446744073709551615)
<S>  New H62:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(ctx__1), [i___1]) and element(fld_x(ctx__1), [i___1]) 
          <= 18446744073709551615)
<S>  New H116:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(ctx__2), [i___1]) and element(fld_x(ctx__2), [i___1]) 
          <= 18446744073709551615)
<S>  New H172:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(ctx__3), [i___1]) and element(fld_x(ctx__3), [i___1]) 
          <= 18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(97).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__first by:
          0.
<S>  New H3:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H59:  fld_byte_count(fld_h(ctx__1)) >= 0
<S>  New H112:  fld_byte_count(fld_h(ctx__2)) >= 0
<S>  New H158:  true
<S>  New H168:  fld_byte_count(fld_h(ctx__3)) >= 0
-S-  Applied substitution rule skein_512_up_rules(98).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__last by:
          64.
<S>  New H4:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New H60:  fld_byte_count(fld_h(ctx__1)) <= 64
<S>  New H113:  fld_byte_count(fld_h(ctx__2)) <= 64
<S>  New H159:  true
<S>  New H169:  fld_byte_count(fld_h(ctx__3)) <= 64
-S-  Applied substitution rule skein_512_up_rules(102).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H104:  true
<S>  New H38:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New H8:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(ctx), [i___2])
           and element(fld_b(ctx), [i___2]) <= 255)
<S>  New H61:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(ctx__1), [
          i___2]) and element(fld_b(ctx__1), [i___2]) <= 255)
<S>  New H93:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(ctx__1), [
          i___1]) and element(fld_b(ctx__1), [i___1]) <= 255)
<S>  New H115:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(ctx__2), [
          i___2]) and element(fld_b(ctx__2), [i___2]) <= 255)
<S>  New H171:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(ctx__3), [
          i___2]) and element(fld_b(ctx__3), [i___2]) <= 255)
-S-  Applied substitution rule skein_512_up_rules(103).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H105:  true
<S>  New H106:  true
<S>  New H107:  true
<S>  New H39:  1 <= fld_byte_count(fld_h(ctx))
<S>  New H55:  fld_byte_count(fld_h(ctx)) + (64 - fld_byte_count(fld_h(ctx)) - 
          1) <= 63
<S>  New H8:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 255)
<S>  New H61:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(ctx__1), [i___2]) and element(fld_b(ctx__1), [i___2]) 
          <= 255)
<S>  New H93:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 63 -> 0 <= 
          element(fld_b(ctx__1), [i___1]) and element(fld_b(ctx__1), [i___1]) 
          <= 255)
<S>  New H115:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(ctx__2), [i___2]) and element(fld_b(ctx__2), [i___2]) 
          <= 255)
<S>  New H171:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(ctx__3), [i___2]) and element(fld_b(ctx__3), [i___2]) 
          <= 255)
-S-  Applied substitution rule skein_512_up_rules(107).
     This was achieved by replacing all occurrences of 
          positive_block_512_count_t__first by:
          1.
<S>  New H96:  true
<S>  New H141:  (msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - 1) div 64 >= 1
-S-  Applied substitution rule skein_512_up_rules(108).
     This was achieved by replacing all occurrences of 
          positive_block_512_count_t__last by:
          33554431.
<S>  New H97:  true
<S>  New H142:  (msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - 1) div 64 <= 33554431
***  Proved C1:  (msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - 1) div 64 * 64 >= 0
     using hypothesis H141.
***  Proved C2:  (msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - 1) div 64 * 64 <= 2147483647
     using hypothesis H142.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_update_18.  @@@@@@@@@@
%%%  Simplified H8 on reading formula in, to give:
     %%%  H8:  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(ctx), [i___2]) and 
          element(fld_b(ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  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(ctx), [i___1]) and 
          element(fld_x(ctx), [i___1]) <= spark__unsigned__u64__last)
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(msg, [i___1]) and element(
          msg, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H38 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H39 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H41 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H42 has been replaced by "true".  (It is already present, as 
          H29).
%%%  Simplified H43 on reading formula in, to give:
     %%%  H43:  msg__index__subtype__1__last div skein_512_block_bytes_c >= 
          positive_block_512_count_t__first
%%%  Simplified H44 on reading formula in, to give:
     %%%  H44:  msg__index__subtype__1__last div skein_512_block_bytes_c <= 
          positive_block_512_count_t__last
%%%  Simplified H46 on reading formula in, to give:
     %%%  H46:  msg__index__subtype__1__last >= integer__base__first
%%%  Simplified H47 on reading formula in, to give:
     %%%  H47:  msg__index__subtype__1__last <= integer__base__last
---  Hypothesis H48 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H49 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H50 has been replaced by "true".  (It is already present, as 
          H43).
---  Hypothesis H51 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H54 has been replaced by "true".  (It is already present, as 
          H43).
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H58 has been replaced by "true".  (It is already present, as H1)
          .
---  Hypothesis H59 has been replaced by "true".  (It is already present, as H2)
          .
---  Hypothesis H60 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H61 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H62 has been replaced by "true".  (It is already present, as H5)
          .
%%%  Simplified H63 on reading formula in, to give:
     %%%  H63:  (msg__index__subtype__1__last div skein_512_block_bytes_c - 1) 
          * skein_512_block_bytes_c + 63 <= msg__index__subtype__1__last
%%%  Simplified H64 on reading formula in, to give:
     %%%  H64:  63 <= msg__index__subtype__1__last
%%%  Simplified H66 on reading formula in, to give:
     %%%  H66:  63 <= natural__last
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  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(ctx__3), [i___2]) and 
          element(fld_b(ctx__3), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  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(ctx__3), [i___1]) and 
          element(fld_x(ctx__3), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H92 has been replaced by "true".  (It is already present, as 
          H43).
---  Hypothesis H93 has been replaced by "true".  (It is already present, as 
          H44).
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c >= natural__first
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c <= natural__last
-S-  Applied substitution rule skein_512_up_rules(8).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H10:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H28:  msg__index__subtype__1__last >= - 1
<S>  New H30:  true
<S>  New H52:  skein_512_block_bytes_c >= 0
<S>  New H75:  fld_byte_count(fld_h(ctx__3)) >= 0
<S>  New C1:  msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c >= 0
-S-  Applied substitution rule skein_512_up_rules(9).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H6:  msg__index__subtype__1__last < 2147483647
<S>  New H7:  msg__index__subtype__1__last + skein_512_block_bytes_c <= 
          2147483646
<S>  New H11:  fld_byte_count(fld_h(ctx)) <= 2147483647
<S>  New H29:  msg__index__subtype__1__last <= 2147483646
<S>  New H31:  true
<S>  New H53:  skein_512_block_bytes_c <= 2147483647
<S>  New H65:  msg__index__subtype__1__last <= 2147483647
<S>  New H66:  true
<S>  New H76:  fld_byte_count(fld_h(ctx__3)) <= 2147483647
<S>  New C2:  msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c <= 2147483647
>>>  Restructured hypothesis H37 into:
     >>>  H37:  fld_byte_count(fld_h(ctx)) <= 0
-S-  Applied substitution rule skein_512_up_rules(1).
     This was achieved by replacing all occurrences of skein_512_block_bytes_c 
          by:
          64.
<S>  New H7:  msg__index__subtype__1__last <= 2147483582
<S>  New H36:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) > 
          64
<S>  New H40:  msg__index__subtype__1__last > 63
<S>  New H43:  msg__index__subtype__1__last div 64 >= 
          positive_block_512_count_t__first
<S>  New H44:  msg__index__subtype__1__last div 64 <= 
          positive_block_512_count_t__last
<S>  New H45:  true
<S>  New H52:  true
<S>  New H53:  true
<S>  New H63:  (msg__index__subtype__1__last div 64 - 1) * 64 + 63 <= 
          msg__index__subtype__1__last
<S>  New C1:  msg__index__subtype__1__last div 64 * 64 >= 0
<S>  New C2:  msg__index__subtype__1__last div 64 * 64 <= 2147483647
-S-  Applied substitution rule skein_512_up_rules(5).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H34:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) >= 
          - 2147483648
<S>  New H46:  msg__index__subtype__1__last >= - 2147483648
-S-  Applied substitution rule skein_512_up_rules(6).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H35:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) <= 
          2147483647
<S>  New H47:  msg__index__subtype__1__last <= 2147483647
-S-  Applied substitution rule skein_512_up_rules(41).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H16:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H81:  fld_field_type(fld_tweak_words(fld_h(ctx__3))) >= 0
-S-  Applied substitution rule skein_512_up_rules(42).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H17:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 63
<S>  New H82:  fld_field_type(fld_tweak_words(fld_h(ctx__3))) <= 63
-S-  Applied substitution rule skein_512_up_rules(47).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H19:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H84:  fld_tree_level(fld_tweak_words(fld_h(ctx__3))) >= 0
-S-  Applied substitution rule skein_512_up_rules(48).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H20:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 127
<S>  New H85:  fld_tree_level(fld_tweak_words(fld_h(ctx__3))) <= 127
-S-  Applied substitution rule skein_512_up_rules(53).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H8:  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(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 0 <= element(msg, [i___1]
          ) and element(msg, [i___1]) <= spark__unsigned__byte__last)
<S>  New H73:  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(ctx__3), [i___2]) and element(fld_b(ctx__3), [i___2]) <= 
          spark__unsigned__byte__last)
-S-  Applied substitution rule skein_512_up_rules(54).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H8:  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(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 255)
<S>  New H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 0 <= element(msg, [i___1]
          ) and element(msg, [i___1]) <= 255)
<S>  New H73:  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(ctx__3), [i___2]) and element(fld_b(ctx__3), [i___2]) <= 255)
-S-  Applied substitution rule skein_512_up_rules(59).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H21:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H86:  fld_reserved(fld_tweak_words(fld_h(ctx__3))) >= 0
-S-  Applied substitution rule skein_512_up_rules(60).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H22:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 65535
<S>  New H87:  fld_reserved(fld_tweak_words(fld_h(ctx__3))) <= 65535
-S-  Applied substitution rule skein_512_up_rules(65).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H23:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H88:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx__3))) >= 0
-S-  Applied substitution rule skein_512_up_rules(66).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H24:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 4294967295
<S>  New H89:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx__3))) <= 4294967295
-S-  Applied substitution rule skein_512_up_rules(71).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H9:  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(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H25:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H74:  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(ctx__3), [i___1]) and element(fld_x(ctx__3), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H90:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx__3))) >= 0
-S-  Applied substitution rule skein_512_up_rules(72).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H26:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          18446744073709551615
<S>  New H91:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx__3))) <= 
          18446744073709551615
<S>  New H9:  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(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          18446744073709551615)
<S>  New H74:  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(ctx__3), [i___1]) and element(fld_x(ctx__3), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(82).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H12:  fld_hash_bit_len(fld_h(ctx)) >= 0
<S>  New H77:  fld_hash_bit_len(fld_h(ctx__3)) >= 0
-S-  Applied substitution rule skein_512_up_rules(83).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H13:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H78:  fld_hash_bit_len(fld_h(ctx__3)) <= 2147483640
-S-  Applied substitution rule skein_512_up_rules(87).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__first by:
          1.
<S>  New H1:  fld_hash_bit_len(fld_h(ctx)) >= 1
<S>  New H67:  fld_hash_bit_len(fld_h(ctx__3)) >= 1
-S-  Applied substitution rule skein_512_up_rules(88).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__last by:
          2147483640.
<S>  New H2:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H68:  fld_hash_bit_len(fld_h(ctx__3)) <= 2147483640
-S-  Applied substitution rule skein_512_up_rules(92).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H9:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(ctx), [i___1])
           and element(fld_x(ctx), [i___1]) <= 18446744073709551615)
<S>  New H74:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(ctx__3), [
          i___1]) and element(fld_x(ctx__3), [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(93).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H9:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          18446744073709551615)
<S>  New H74:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(ctx__3), [i___1]) and element(fld_x(ctx__3), [i___1]) 
          <= 18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(97).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__first by:
          0.
<S>  New H3:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H70:  fld_byte_count(fld_h(ctx__3)) >= 0
-S-  Applied substitution rule skein_512_up_rules(98).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__last by:
          64.
<S>  New H4:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New H71:  fld_byte_count(fld_h(ctx__3)) <= 64
-S-  Applied substitution rule skein_512_up_rules(102).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H8:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(ctx), [i___2])
           and element(fld_b(ctx), [i___2]) <= 255)
<S>  New H73:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(ctx__3), [
          i___2]) and element(fld_b(ctx__3), [i___2]) <= 255)
-S-  Applied substitution rule skein_512_up_rules(103).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H8:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 255)
<S>  New H73:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(ctx__3), [i___2]) and element(fld_b(ctx__3), [i___2]) 
          <= 255)
-S-  Applied substitution rule skein_512_up_rules(107).
     This was achieved by replacing all occurrences of 
          positive_block_512_count_t__first by:
          1.
<S>  New H43:  msg__index__subtype__1__last div 64 >= 1
-S-  Applied substitution rule skein_512_up_rules(108).
     This was achieved by replacing all occurrences of 
          positive_block_512_count_t__last by:
          33554431.
<S>  New H44:  msg__index__subtype__1__last div 64 <= 33554431
%%%  Hypotheses H37 & H10 together imply that
          fld_byte_count(fld_h(ctx)) = 0.
     H37 & H10 have therefore been deleted and a new H94 added to this effect.
***  Proved C1:  msg__index__subtype__1__last div 64 * 64 >= 0
     using hypothesis H43.
***  Proved C2:  msg__index__subtype__1__last div 64 * 64 <= 2147483647
     using hypothesis H44.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_update_19.  @@@@@@@@@@
%%%  Simplified H8 on reading formula in, to give:
     %%%  H8:  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(ctx), [i___2]) and 
          element(fld_b(ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  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(ctx), [i___1]) and 
          element(fld_x(ctx), [i___1]) <= spark__unsigned__u64__last)
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(msg, [i___1]) and element(
          msg, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H42 has been replaced by "true".  (It is already present, as 
          H30).
---  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 
          H38).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H48 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H49 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H51 has been replaced by "true".  (It is already present, as H5)
          .
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) - 1 <= 
          msg__index__subtype__1__last
%%%  Simplified H61 on reading formula in, to give:
     %%%  H61:  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(ctx__1), [i___2]) and 
          element(fld_b(ctx__1), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H62 on reading formula in, to give:
     %%%  H62:  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(ctx__1), [i___1]) and 
          element(fld_x(ctx__1), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H80 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H81 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H82 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H83 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H86 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H87 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H88 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H89 has been replaced by "true".  (It is already present, as 
          H31).
%%%  Simplified H90 on reading formula in, to give:
     %%%  H90:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) >= 
          natural__first
%%%  Simplified H91 on reading formula in, to give:
     %%%  H91:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) <= 
          natural__last
%%%  Simplified H93 on reading formula in, to give:
     %%%  H93:  for_all(i___1 : integer, skein_512_block_bytes_index__first <= 
          i___1 and i___1 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(ctx__1), [i___1]) and 
          element(fld_b(ctx__1), [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H98 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H99 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H102 has been replaced by "true".  (It is already present, as 
          H59).
---  Hypothesis H103 has been replaced by "true".  (It is already present, as 
          H60).
%%%  Simplified H105 on reading formula in, to give:
     %%%  H105:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H106 on reading formula in, to give:
     %%%  H106:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H108 on reading formula in, to give:
     %%%  H108:  63 <= natural__last
%%%  Simplified H115 on reading formula in, to give:
     %%%  H115:  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(ctx__2), [i___2]) and 
          element(fld_b(ctx__2), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H116 on reading formula in, to give:
     %%%  H116:  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(ctx__2), [i___1]) and 
          element(fld_x(ctx__2), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H134 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H135 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H136 has been replaced by "true".  (It is already present, as 
          H84).
---  Hypothesis H137 has been replaced by "true".  (It is already present, as 
          H85).
---  Hypothesis H139 has been replaced by "true".  (It is already present, as 
          H84).
---  Hypothesis H140 has been replaced by "true".  (It is already present, as 
          H85).
---  Hypothesis H146 has been replaced by "true".  (It is already present, as 
          H90).
---  Hypothesis H147 has been replaced by "true".  (It is already present, as 
          H91).
---  Hypothesis H148 has been replaced by "true".  (It is already present, as 
          H141).
---  Hypothesis H149 has been replaced by "true".  (It is already present, as 
          H142).
---  Hypothesis H150 has been replaced by "true".  (It is already present, as 
          H94).
---  Hypothesis H151 has been replaced by "true".  (It is already present, as 
          H95).
---  Hypothesis H152 has been replaced by "true".  (It is already present, as 
          H141).
---  Hypothesis H153 has been replaced by "true".  (It is already present, as 
          H142).
---  Hypothesis H154 has been replaced by "true".  (It is already present, as 
          H90).
---  Hypothesis H155 has been replaced by "true".  (It is already present, as 
          H91).
%%%  Simplified H156 on reading formula in, to give:
     %%%  H156:  fld_hash_bit_len(fld_h(ctx__2)) >= 
          initialized_hash_bit_length__first
%%%  Simplified H157 on reading formula in, to give:
     %%%  H157:  fld_hash_bit_len(fld_h(ctx__2)) <= 
          initialized_hash_bit_length__last
%%%  Simplified H158 on reading formula in, to give:
     %%%  H158:  0 >= skein_512_block_bytes_count__first
%%%  Simplified H159 on reading formula in, to give:
     %%%  H159:  0 <= skein_512_block_bytes_count__last
---  Hypothesis H160 has been replaced by "true".  (It is already present, as 
          H5).
%%%  Simplified H161 on reading formula in, to give:
     %%%  H161:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) + ((
          msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) - 1) div skein_512_block_bytes_c - 1) * 
          skein_512_block_bytes_c + 63 <= msg__index__subtype__1__last
%%%  Simplified H162 on reading formula in, to give:
     %%%  H162:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) + 63 <= 
          msg__index__subtype__1__last
%%%  Simplified H164 on reading formula in, to give:
     %%%  H164:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) <= 
          natural__last - 63
%%%  Simplified H167 on reading formula in, to give:
     %%%  H167:  fld_hash_bit_len(fld_h(ctx__3)) = fld_hash_bit_len(fld_h(
          ctx__2))
%%%  Simplified H170 on reading formula in, to give:
     %%%  H170:  fld_byte_count(fld_h(ctx__3)) = 0
%%%  Simplified H171 on reading formula in, to give:
     %%%  H171:  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(ctx__3), [i___2]) and 
          element(fld_b(ctx__3), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H172 on reading formula in, to give:
     %%%  H172:  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(ctx__3), [i___1]) and 
          element(fld_x(ctx__3), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H190 has been replaced by "true".  (It is already present, as 
          H141).
---  Hypothesis H191 has been replaced by "true".  (It is already present, as 
          H142).
-S-  Applied substitution rule skein_512_up_rules(1).
     This was achieved by replacing all occurrences of skein_512_block_bytes_c 
          by:
          64.
<S>  New H7:  msg__index__subtype__1__last + 65 <= natural__last
<S>  New H36:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) > 
          64
<S>  New H38:  64 - fld_byte_count(fld_h(ctx)) >= 
          skein_512_block_bytes_index__first
<S>  New H39:  64 - fld_byte_count(fld_h(ctx)) <= 
          skein_512_block_bytes_index__last
<S>  New H40:  64 - fld_byte_count(fld_h(ctx)) < msg__index__subtype__1__last + 
          1
<S>  New H41:  64 - fld_byte_count(fld_h(ctx)) <= msg__index__subtype__1__last 
          + 1
<S>  New H46:  64 - fld_byte_count(fld_h(ctx)) >= natural__first
<S>  New H47:  64 - fld_byte_count(fld_h(ctx)) <= natural__last
<S>  New H54:  64 - fld_byte_count(fld_h(ctx)) - 1 <= 
          msg__index__subtype__1__last
<S>  New H55:  fld_byte_count(fld_h(ctx)) + (64 - fld_byte_count(fld_h(ctx)) - 
          1) <= skein_512_block_bytes_index__last
<S>  New H58:  fld_byte_count(fld_h(ctx__1)) = fld_byte_count(fld_h(ctx)) + (64 
          - fld_byte_count(fld_h(ctx)))
<S>  New H84:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) >= natural__first
<S>  New H85:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) <= natural__last
<S>  New H90:  64 - fld_byte_count(fld_h(ctx)) >= natural__first
<S>  New H91:  64 - fld_byte_count(fld_h(ctx)) <= natural__last
<S>  New H92:  fld_byte_count(fld_h(ctx__1)) = 64
<S>  New H94:  64 >= natural__first
<S>  New H95:  64 <= natural__last
<S>  New H138:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) > 64
<S>  New H141:  (msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - 1) div 64 >= positive_block_512_count_t__first
<S>  New H142:  (msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - 1) div 64 <= positive_block_512_count_t__last
<S>  New H143:  true
<S>  New H144:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - 1 >= integer__base__first
<S>  New H145:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - 1 <= integer__base__last
<S>  New H161:  64 - fld_byte_count(fld_h(ctx)) + ((
          msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(ctx))) 
          - 1) div 64 - 1) * 64 + 63 <= msg__index__subtype__1__last
<S>  New H162:  64 - fld_byte_count(fld_h(ctx)) + 63 <= 
          msg__index__subtype__1__last
<S>  New H164:  64 - fld_byte_count(fld_h(ctx)) <= natural__last - 63
<S>  New H192:  (msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - 1) div 64 * 64 >= natural__first
<S>  New H193:  (msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - 1) div 64 * 64 <= natural__last
<S>  New C1:  (msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - 1) div 64 * 64 < msg__index__subtype__1__last + 1 - (64 - 
          fld_byte_count(fld_h(ctx)))
-S-  Applied substitution rule skein_512_up_rules(5).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H34:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) >= 
          - 2147483648
<S>  New H144:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) >= - 2147483647
-S-  Applied substitution rule skein_512_up_rules(6).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H35:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) <= 
          2147483647
<S>  New H145:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) <= 2147483648
-S-  Applied substitution rule skein_512_up_rules(8).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H10:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H28:  msg__index__subtype__1__last >= - 1
<S>  New H30:  true
<S>  New H63:  fld_byte_count(fld_h(ctx__1)) >= 0
<S>  New H117:  fld_byte_count(fld_h(ctx__2)) >= 0
<S>  New H173:  fld_byte_count(fld_h(ctx__3)) >= 0
<S>  New H46:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New H84:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) >= 0
<S>  New H90:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New H94:  true
<S>  New H192:  (msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - 1) div 64 * 64 >= 0
-S-  Applied substitution rule skein_512_up_rules(9).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H6:  msg__index__subtype__1__last < 2147483647
<S>  New H11:  fld_byte_count(fld_h(ctx)) <= 2147483647
<S>  New H29:  msg__index__subtype__1__last <= 2147483646
<S>  New H31:  true
<S>  New H64:  fld_byte_count(fld_h(ctx__1)) <= 2147483647
<S>  New H107:  skein_512_block_bytes_index__last <= 2147483647
<S>  New H108:  true
<S>  New H118:  fld_byte_count(fld_h(ctx__2)) <= 2147483647
<S>  New H163:  msg__index__subtype__1__last <= 2147483647
<S>  New H174:  fld_byte_count(fld_h(ctx__3)) <= 2147483647
<S>  New H7:  msg__index__subtype__1__last <= 2147483582
<S>  New H47:  - 2147483583 <= fld_byte_count(fld_h(ctx))
<S>  New H85:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) <= 2147483647
<S>  New H91:  - 2147483583 <= fld_byte_count(fld_h(ctx))
<S>  New H95:  true
<S>  New H164:  - 2147483520 <= fld_byte_count(fld_h(ctx))
<S>  New H193:  (msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - 1) div 64 * 64 <= 2147483647
-S-  Applied substitution rule skein_512_up_rules(41).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H16:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H69:  fld_field_type(fld_tweak_words(fld_h(ctx__1))) >= 0
<S>  New H123:  fld_field_type(fld_tweak_words(fld_h(ctx__2))) >= 0
<S>  New H179:  fld_field_type(fld_tweak_words(fld_h(ctx__3))) >= 0
-S-  Applied substitution rule skein_512_up_rules(42).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H17:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 63
<S>  New H70:  fld_field_type(fld_tweak_words(fld_h(ctx__1))) <= 63
<S>  New H124:  fld_field_type(fld_tweak_words(fld_h(ctx__2))) <= 63
<S>  New H180:  fld_field_type(fld_tweak_words(fld_h(ctx__3))) <= 63
-S-  Applied substitution rule skein_512_up_rules(47).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H19:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H72:  fld_tree_level(fld_tweak_words(fld_h(ctx__1))) >= 0
<S>  New H126:  fld_tree_level(fld_tweak_words(fld_h(ctx__2))) >= 0
<S>  New H182:  fld_tree_level(fld_tweak_words(fld_h(ctx__3))) >= 0
-S-  Applied substitution rule skein_512_up_rules(48).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H20:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 127
<S>  New H73:  fld_tree_level(fld_tweak_words(fld_h(ctx__1))) <= 127
<S>  New H127:  fld_tree_level(fld_tweak_words(fld_h(ctx__2))) <= 127
<S>  New H183:  fld_tree_level(fld_tweak_words(fld_h(ctx__3))) <= 127
-S-  Applied substitution rule skein_512_up_rules(53).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H8:  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(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 0 <= element(msg, [i___1]
          ) and element(msg, [i___1]) <= spark__unsigned__byte__last)
<S>  New H61:  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(ctx__1), [i___2]) and element(fld_b(ctx__1), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New H93:  for_all(i___1 : integer, skein_512_block_bytes_index__first <= 
          i___1 and i___1 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(ctx__1), [i___1]) and element(fld_b(ctx__1), [i___1]) <= 
          spark__unsigned__byte__last)
<S>  New H115:  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(ctx__2), [i___2]) and element(fld_b(ctx__2), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New H171:  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(ctx__3), [i___2]) and element(fld_b(ctx__3), [i___2]) <= 
          spark__unsigned__byte__last)
-S-  Applied substitution rule skein_512_up_rules(54).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H8:  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(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 255)
<S>  New H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 0 <= element(msg, [i___1]
          ) and element(msg, [i___1]) <= 255)
<S>  New H61:  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(ctx__1), [i___2]) and element(fld_b(ctx__1), [i___2]) <= 255)
<S>  New H93:  for_all(i___1 : integer, skein_512_block_bytes_index__first <= 
          i___1 and i___1 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(ctx__1), [i___1]) and element(fld_b(ctx__1), [i___1]) <= 255)
<S>  New H115:  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(ctx__2), [i___2]) and element(fld_b(ctx__2), [i___2]) <= 255)
<S>  New H171:  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(ctx__3), [i___2]) and element(fld_b(ctx__3), [i___2]) <= 255)
-S-  Applied substitution rule skein_512_up_rules(59).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H21:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H74:  fld_reserved(fld_tweak_words(fld_h(ctx__1))) >= 0
<S>  New H128:  fld_reserved(fld_tweak_words(fld_h(ctx__2))) >= 0
<S>  New H184:  fld_reserved(fld_tweak_words(fld_h(ctx__3))) >= 0
-S-  Applied substitution rule skein_512_up_rules(60).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H22:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 65535
<S>  New H75:  fld_reserved(fld_tweak_words(fld_h(ctx__1))) <= 65535
<S>  New H129:  fld_reserved(fld_tweak_words(fld_h(ctx__2))) <= 65535
<S>  New H185:  fld_reserved(fld_tweak_words(fld_h(ctx__3))) <= 65535
-S-  Applied substitution rule skein_512_up_rules(65).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H23:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H76:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx__1))) >= 0
<S>  New H130:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx__2))) >= 0
<S>  New H186:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx__3))) >= 0
-S-  Applied substitution rule skein_512_up_rules(66).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H24:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 4294967295
<S>  New H77:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx__1))) <= 4294967295
<S>  New H131:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx__2))) <= 4294967295
<S>  New H187:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx__3))) <= 4294967295
-S-  Applied substitution rule skein_512_up_rules(71).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H9:  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(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H25:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H62:  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(ctx__1), [i___1]) and element(fld_x(ctx__1), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H78:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx__1))) >= 0
<S>  New H116:  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(ctx__2), [i___1]) and element(fld_x(ctx__2), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H132:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx__2))) >= 0
<S>  New H172:  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(ctx__3), [i___1]) and element(fld_x(ctx__3), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H188:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx__3))) >= 0
-S-  Applied substitution rule skein_512_up_rules(72).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H26:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          18446744073709551615
<S>  New H79:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx__1))) <= 
          18446744073709551615
<S>  New H133:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx__2))) <= 
          18446744073709551615
<S>  New H189:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx__3))) <= 
          18446744073709551615
<S>  New H9:  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(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          18446744073709551615)
<S>  New H62:  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(ctx__1), [i___1]) and element(fld_x(ctx__1), [i___1]) <= 
          18446744073709551615)
<S>  New H116:  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(ctx__2), [i___1]) and element(fld_x(ctx__2), [i___1]) <= 
          18446744073709551615)
<S>  New H172:  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(ctx__3), [i___1]) and element(fld_x(ctx__3), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(82).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H12:  fld_hash_bit_len(fld_h(ctx)) >= 0
<S>  New H65:  fld_hash_bit_len(fld_h(ctx__1)) >= 0
<S>  New H119:  fld_hash_bit_len(fld_h(ctx__2)) >= 0
<S>  New H175:  fld_hash_bit_len(fld_h(ctx__3)) >= 0
-S-  Applied substitution rule skein_512_up_rules(83).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H13:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H66:  fld_hash_bit_len(fld_h(ctx__1)) <= 2147483640
<S>  New H120:  fld_hash_bit_len(fld_h(ctx__2)) <= 2147483640
<S>  New H176:  fld_hash_bit_len(fld_h(ctx__3)) <= 2147483640
-S-  Applied substitution rule skein_512_up_rules(87).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__first by:
          1.
<S>  New H1:  fld_hash_bit_len(fld_h(ctx)) >= 1
<S>  New H100:  fld_hash_bit_len(fld_h(ctx__1)) >= 1
<S>  New H109:  fld_hash_bit_len(fld_h(ctx__2)) >= 1
<S>  New H156:  fld_hash_bit_len(fld_h(ctx__2)) >= 1
<S>  New H165:  fld_hash_bit_len(fld_h(ctx__3)) >= 1
-S-  Applied substitution rule skein_512_up_rules(88).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__last by:
          2147483640.
<S>  New H2:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H101:  fld_hash_bit_len(fld_h(ctx__1)) <= 2147483640
<S>  New H110:  fld_hash_bit_len(fld_h(ctx__2)) <= 2147483640
<S>  New H157:  fld_hash_bit_len(fld_h(ctx__2)) <= 2147483640
<S>  New H166:  fld_hash_bit_len(fld_h(ctx__3)) <= 2147483640
-S-  Applied substitution rule skein_512_up_rules(92).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H9:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(ctx), [i___1])
           and element(fld_x(ctx), [i___1]) <= 18446744073709551615)
<S>  New H62:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(ctx__1), [
          i___1]) and element(fld_x(ctx__1), [i___1]) <= 18446744073709551615)
<S>  New H116:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(ctx__2), [
          i___1]) and element(fld_x(ctx__2), [i___1]) <= 18446744073709551615)
<S>  New H172:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(ctx__3), [
          i___1]) and element(fld_x(ctx__3), [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(93).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H9:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          18446744073709551615)
<S>  New H62:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(ctx__1), [i___1]) and element(fld_x(ctx__1), [i___1]) 
          <= 18446744073709551615)
<S>  New H116:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(ctx__2), [i___1]) and element(fld_x(ctx__2), [i___1]) 
          <= 18446744073709551615)
<S>  New H172:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(ctx__3), [i___1]) and element(fld_x(ctx__3), [i___1]) 
          <= 18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(97).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__first by:
          0.
<S>  New H3:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H59:  fld_byte_count(fld_h(ctx__1)) >= 0
<S>  New H112:  fld_byte_count(fld_h(ctx__2)) >= 0
<S>  New H158:  true
<S>  New H168:  fld_byte_count(fld_h(ctx__3)) >= 0
-S-  Applied substitution rule skein_512_up_rules(98).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__last by:
          64.
<S>  New H4:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New H60:  fld_byte_count(fld_h(ctx__1)) <= 64
<S>  New H113:  fld_byte_count(fld_h(ctx__2)) <= 64
<S>  New H159:  true
<S>  New H169:  fld_byte_count(fld_h(ctx__3)) <= 64
-S-  Applied substitution rule skein_512_up_rules(102).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H104:  true
<S>  New H38:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New H8:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(ctx), [i___2])
           and element(fld_b(ctx), [i___2]) <= 255)
<S>  New H61:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(ctx__1), [
          i___2]) and element(fld_b(ctx__1), [i___2]) <= 255)
<S>  New H93:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(ctx__1), [
          i___1]) and element(fld_b(ctx__1), [i___1]) <= 255)
<S>  New H115:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(ctx__2), [
          i___2]) and element(fld_b(ctx__2), [i___2]) <= 255)
<S>  New H171:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(ctx__3), [
          i___2]) and element(fld_b(ctx__3), [i___2]) <= 255)
-S-  Applied substitution rule skein_512_up_rules(103).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H105:  true
<S>  New H106:  true
<S>  New H39:  1 <= fld_byte_count(fld_h(ctx))
<S>  New H55:  fld_byte_count(fld_h(ctx)) + (64 - fld_byte_count(fld_h(ctx)) - 
          1) <= 63
<S>  New H107:  true
<S>  New H8:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 255)
<S>  New H61:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(ctx__1), [i___2]) and element(fld_b(ctx__1), [i___2]) 
          <= 255)
<S>  New H93:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 63 -> 0 <= 
          element(fld_b(ctx__1), [i___1]) and element(fld_b(ctx__1), [i___1]) 
          <= 255)
<S>  New H115:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(ctx__2), [i___2]) and element(fld_b(ctx__2), [i___2]) 
          <= 255)
<S>  New H171:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(ctx__3), [i___2]) and element(fld_b(ctx__3), [i___2]) 
          <= 255)
-S-  Applied substitution rule skein_512_up_rules(107).
     This was achieved by replacing all occurrences of 
          positive_block_512_count_t__first by:
          1.
<S>  New H96:  true
<S>  New H141:  (msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - 1) div 64 >= 1
-S-  Applied substitution rule skein_512_up_rules(108).
     This was achieved by replacing all occurrences of 
          positive_block_512_count_t__last by:
          33554431.
<S>  New H97:  true
<S>  New H142:  (msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - 1) div 64 <= 33554431
---  Eliminated hypothesis H14 (true-hypothesis).
---  Eliminated hypothesis H15 (true-hypothesis).
---  Eliminated hypothesis H18 (true-hypothesis).
---  Eliminated hypothesis H32 (true-hypothesis).
---  Eliminated hypothesis H33 (true-hypothesis).
---  Eliminated hypothesis H42 (true-hypothesis).
---  Eliminated hypothesis H43 (true-hypothesis).
---  Eliminated hypothesis H44 (true-hypothesis).
---  Eliminated hypothesis H45 (true-hypothesis).
---  Eliminated hypothesis H48 (true-hypothesis).
---  Eliminated hypothesis H49 (true-hypothesis).
---  Eliminated hypothesis H51 (true-hypothesis).
---  Eliminated hypothesis H67 (true-hypothesis).
---  Eliminated hypothesis H68 (true-hypothesis).
---  Eliminated hypothesis H71 (true-hypothesis).
---  Eliminated hypothesis H80 (true-hypothesis).
---  Eliminated hypothesis H81 (true-hypothesis).
---  Eliminated hypothesis H82 (true-hypothesis).
---  Eliminated hypothesis H83 (true-hypothesis).
---  Eliminated hypothesis H86 (true-hypothesis).
---  Eliminated hypothesis H87 (true-hypothesis).
---  Eliminated hypothesis H88 (true-hypothesis).
---  Eliminated hypothesis H89 (true-hypothesis).
---  Eliminated hypothesis H98 (true-hypothesis).
---  Eliminated hypothesis H99 (true-hypothesis).
---  Eliminated hypothesis H102 (true-hypothesis).
---  Eliminated hypothesis H103 (true-hypothesis).
---  Eliminated hypothesis H121 (true-hypothesis).
---  Eliminated hypothesis H122 (true-hypothesis).
---  Eliminated hypothesis H125 (true-hypothesis).
---  Eliminated hypothesis H134 (true-hypothesis).
---  Eliminated hypothesis H135 (true-hypothesis).
---  Eliminated hypothesis H136 (true-hypothesis).
---  Eliminated hypothesis H137 (true-hypothesis).
---  Eliminated hypothesis H139 (true-hypothesis).
---  Eliminated hypothesis H140 (true-hypothesis).
---  Eliminated hypothesis H146 (true-hypothesis).
---  Eliminated hypothesis H147 (true-hypothesis).
---  Eliminated hypothesis H148 (true-hypothesis).
---  Eliminated hypothesis H149 (true-hypothesis).
---  Eliminated hypothesis H150 (true-hypothesis).
---  Eliminated hypothesis H151 (true-hypothesis).
---  Eliminated hypothesis H152 (true-hypothesis).
---  Eliminated hypothesis H153 (true-hypothesis).
---  Eliminated hypothesis H154 (true-hypothesis).
---  Eliminated hypothesis H155 (true-hypothesis).
---  Eliminated hypothesis H160 (true-hypothesis).
---  Eliminated hypothesis H177 (true-hypothesis).
---  Eliminated hypothesis H178 (true-hypothesis).
---  Eliminated hypothesis H181 (true-hypothesis).
---  Eliminated hypothesis H190 (true-hypothesis).
---  Eliminated hypothesis H191 (true-hypothesis).
---  Eliminated hypothesis H143 (true-hypothesis).
---  Eliminated hypothesis H30 (true-hypothesis).
---  Eliminated hypothesis H94 (true-hypothesis).
---  Eliminated hypothesis H31 (true-hypothesis).
---  Eliminated hypothesis H108 (true-hypothesis).
---  Eliminated hypothesis H95 (true-hypothesis).
---  Eliminated hypothesis H158 (true-hypothesis).
---  Eliminated hypothesis H159 (true-hypothesis).
---  Eliminated hypothesis H104 (true-hypothesis).
---  Eliminated hypothesis H105 (true-hypothesis).
---  Eliminated hypothesis H106 (true-hypothesis).
---  Eliminated hypothesis H107 (true-hypothesis).
---  Eliminated hypothesis H96 (true-hypothesis).
---  Eliminated hypothesis H97 (true-hypothesis).
---  Eliminated hypothesis H55 (true-hypothesis).
---  Eliminated hypothesis H39 (duplicate of H37).
---  Eliminated hypothesis H100 (duplicate of H56).
---  Eliminated hypothesis H90 (duplicate of H46).
---  Eliminated hypothesis H91 (duplicate of H47).
---  Eliminated hypothesis H101 (duplicate of H66).
---  Eliminated hypothesis H157 (duplicate of H120).
---  Eliminated hypothesis H156 (duplicate of H109).
---  Eliminated hypothesis H13 (duplicate of H2).
---  Eliminated hypothesis H120 (duplicate of H110).
---  Eliminated hypothesis H176 (duplicate of H166).
---  Eliminated hypothesis H10 (duplicate of H3).
---  Eliminated hypothesis H63 (duplicate of H59).
---  Eliminated hypothesis H117 (duplicate of H112).
---  Eliminated hypothesis H173 (duplicate of H168).
---  Eliminated hypothesis H46 (duplicate of H4).
---  Eliminated hypothesis H38 (duplicate of H4).
---  Eliminated hypothesis H50 (duplicate of H1).
---  Eliminated hypothesis H29 (duplicate of H6).
---  Eliminated hypothesis H40 (duplicate of H36).
---  Eliminated hypothesis H54 (duplicate of H41).
---  Eliminated hypothesis H84 (duplicate of H41).
---  Eliminated hypothesis H92 (duplicate of H58).
---  Eliminated hypothesis H3 (redundant, given H37).
---  Eliminated hypothesis H6 (redundant, given H7).
---  Eliminated hypothesis H11 (redundant, given H4).
---  Eliminated hypothesis H12 (redundant, given H1).
---  Eliminated hypothesis H28 (redundant, given H53).
---  Eliminated hypothesis H34 (redundant, given H36).
---  Eliminated hypothesis H36 (redundant, given H138).
---  Eliminated hypothesis H41 (redundant, given H138).
---  Eliminated hypothesis H47 (redundant, given H37).
---  Eliminated hypothesis H52 (redundant, given H5).
---  Eliminated hypothesis H53 (redundant, given H4 & H138).
---  Eliminated hypothesis H59 (redundant, given H58).
---  Eliminated hypothesis H60 (redundant, given H58).
---  Eliminated hypothesis H64 (redundant, given H58).
---  Eliminated hypothesis H65 (redundant, given H56).
---  Eliminated hypothesis H85 (redundant, given H35).
---  Eliminated hypothesis H118 (redundant, given H113).
---  Eliminated hypothesis H119 (redundant, given H109).
---  Eliminated hypothesis H144 (redundant, given H138).
---  Eliminated hypothesis H145 (redundant, given H35).
---  Eliminated hypothesis H162 (redundant, given H138).
---  Eliminated hypothesis H163 (redundant, given H7).
---  Eliminated hypothesis H164 (redundant, given H37).
---  Eliminated hypothesis H168 (redundant, given H170).
---  Eliminated hypothesis H169 (redundant, given H170).
---  Eliminated hypothesis H174 (redundant, given H170).
---  Eliminated hypothesis H175 (redundant, given H165).
-S-  Substituted hypothesis H57.
     This was achieved by replacing all occurrences of fld_hash_bit_len(fld_h(
          ctx__1)) by:
          fld_hash_bit_len(fld_h(ctx)).
-S-  Substituted hypothesis H114.
     This was achieved by replacing all occurrences of fld_byte_count(fld_h(
          ctx__2)) by:
          fld_byte_count(fld_h(ctx__1)).
-S-  Substituted hypothesis H167.
     This was achieved by replacing all occurrences of fld_hash_bit_len(fld_h(
          ctx__3)) by:
          fld_hash_bit_len(fld_h(ctx__2)).
-S-  Substituted hypothesis H111.
     This was achieved by replacing all occurrences of fld_hash_bit_len(fld_h(
          ctx__2)) by:
          fld_hash_bit_len(fld_h(ctx)).
     +++  New H194:  integer__size >= 0
     +++  New H195:  natural__size >= 0
     +++  New H196:  spark__unsigned__u6__size >= 0
     +++  New H197:  spark__unsigned__u7__size >= 0
     +++  New H198:  spark__unsigned__byte__size >= 0
     +++  New H199:  spark__unsigned__u16__size >= 0
     +++  New H200:  spark__unsigned__u32__size >= 0
     +++  New H201:  spark__unsigned__u64__size >= 0
     +++  New H202:  spark__crypto__word_count_t__size >= 0
     +++  New H203:  hash_bit_length__size >= 0
     +++  New H204:  initialized_hash_bit_length__size >= 0
     +++  New H205:  skein_512_state_words_index__size >= 0
     +++  New H206:  skein_512_block_bytes_count__size >= 0
     +++  New H207:  skein_512_block_bytes_index__size >= 0
     +++  New H208:  positive_block_512_count_t__size >= 0
     +++  New H209:  skein_512_context__size >= 0
     +++  New H210:  msg__index__subtype__1__first <= 
          msg__index__subtype__1__last
     +++  New H211:  context_header__size >= 0
     +++  New H212:  msg__index__subtype__1__first >= 0
     +++  New H213:  msg__index__subtype__1__last >= 0
---  Attempted addition of new hypothesis:
          msg__index__subtype__1__last <= 2147483647
     eliminated: this already exists (as H163).
     +++  New H163:  msg__index__subtype__1__last <= 2147483647
     +++  New H214:  msg__index__subtype__1__first <= 2147483647


@@@@@@@@@@  VC: procedure_skein_512_update_20.  @@@@@@@@@@
%%%  Simplified H8 on reading formula in, to give:
     %%%  H8:  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(ctx), [i___2]) and 
          element(fld_b(ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  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(ctx), [i___1]) and 
          element(fld_x(ctx), [i___1]) <= spark__unsigned__u64__last)
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(msg, [i___1]) and element(
          msg, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H38 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H39 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H41 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H42 has been replaced by "true".  (It is already present, as 
          H29).
%%%  Simplified H43 on reading formula in, to give:
     %%%  H43:  msg__index__subtype__1__last div skein_512_block_bytes_c >= 
          positive_block_512_count_t__first
%%%  Simplified H44 on reading formula in, to give:
     %%%  H44:  msg__index__subtype__1__last div skein_512_block_bytes_c <= 
          positive_block_512_count_t__last
%%%  Simplified H46 on reading formula in, to give:
     %%%  H46:  msg__index__subtype__1__last >= integer__base__first
%%%  Simplified H47 on reading formula in, to give:
     %%%  H47:  msg__index__subtype__1__last <= integer__base__last
---  Hypothesis H48 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H49 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H50 has been replaced by "true".  (It is already present, as 
          H43).
---  Hypothesis H51 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H54 has been replaced by "true".  (It is already present, as 
          H43).
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H58 has been replaced by "true".  (It is already present, as H1)
          .
---  Hypothesis H59 has been replaced by "true".  (It is already present, as H2)
          .
---  Hypothesis H60 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H61 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H62 has been replaced by "true".  (It is already present, as H5)
          .
%%%  Simplified H63 on reading formula in, to give:
     %%%  H63:  (msg__index__subtype__1__last div skein_512_block_bytes_c - 1) 
          * skein_512_block_bytes_c + 63 <= msg__index__subtype__1__last
%%%  Simplified H64 on reading formula in, to give:
     %%%  H64:  63 <= msg__index__subtype__1__last
%%%  Simplified H66 on reading formula in, to give:
     %%%  H66:  63 <= natural__last
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  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(ctx__3), [i___2]) and 
          element(fld_b(ctx__3), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  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(ctx__3), [i___1]) and 
          element(fld_x(ctx__3), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H92 has been replaced by "true".  (It is already present, as 
          H43).
---  Hypothesis H93 has been replaced by "true".  (It is already present, as 
          H44).
%%%  Simplified H94 on reading formula in, to give:
     %%%  H94:  msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c >= natural__first
%%%  Simplified H95 on reading formula in, to give:
     %%%  H95:  msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c <= natural__last
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c < msg__index__subtype__1__last + 1
>>>  Restructured hypothesis H37 into:
     >>>  H37:  fld_byte_count(fld_h(ctx)) <= 0
-S-  Applied substitution rule skein_512_up_rules(1).
     This was achieved by replacing all occurrences of skein_512_block_bytes_c 
          by:
          64.
<S>  New H7:  msg__index__subtype__1__last + 65 <= natural__last
<S>  New H36:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) > 
          64
<S>  New H40:  msg__index__subtype__1__last > 63
<S>  New H43:  msg__index__subtype__1__last div 64 >= 
          positive_block_512_count_t__first
<S>  New H44:  msg__index__subtype__1__last div 64 <= 
          positive_block_512_count_t__last
<S>  New H45:  true
<S>  New H52:  64 >= natural__first
<S>  New H53:  64 <= natural__last
<S>  New H63:  (msg__index__subtype__1__last div 64 - 1) * 64 + 63 <= 
          msg__index__subtype__1__last
<S>  New H94:  msg__index__subtype__1__last div 64 * 64 >= natural__first
<S>  New H95:  msg__index__subtype__1__last div 64 * 64 <= natural__last
<S>  New C1:  msg__index__subtype__1__last div 64 * 64 < 
          msg__index__subtype__1__last + 1
-S-  Applied substitution rule skein_512_up_rules(5).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H34:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) >= 
          - 2147483648
<S>  New H46:  msg__index__subtype__1__last >= - 2147483648
-S-  Applied substitution rule skein_512_up_rules(6).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H35:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) <= 
          2147483647
<S>  New H47:  msg__index__subtype__1__last <= 2147483647
-S-  Applied substitution rule skein_512_up_rules(8).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H10:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H28:  msg__index__subtype__1__last >= - 1
<S>  New H30:  true
<S>  New H75:  fld_byte_count(fld_h(ctx__3)) >= 0
<S>  New H52:  true
<S>  New H94:  msg__index__subtype__1__last div 64 * 64 >= 0
-S-  Applied substitution rule skein_512_up_rules(9).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H6:  msg__index__subtype__1__last < 2147483647
<S>  New H11:  fld_byte_count(fld_h(ctx)) <= 2147483647
<S>  New H29:  msg__index__subtype__1__last <= 2147483646
<S>  New H31:  true
<S>  New H65:  msg__index__subtype__1__last <= 2147483647
<S>  New H66:  true
<S>  New H76:  fld_byte_count(fld_h(ctx__3)) <= 2147483647
<S>  New H7:  msg__index__subtype__1__last <= 2147483582
<S>  New H53:  true
<S>  New H95:  msg__index__subtype__1__last div 64 * 64 <= 2147483647
-S-  Applied substitution rule skein_512_up_rules(41).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H16:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H81:  fld_field_type(fld_tweak_words(fld_h(ctx__3))) >= 0
-S-  Applied substitution rule skein_512_up_rules(42).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H17:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 63
<S>  New H82:  fld_field_type(fld_tweak_words(fld_h(ctx__3))) <= 63
-S-  Applied substitution rule skein_512_up_rules(47).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H19:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H84:  fld_tree_level(fld_tweak_words(fld_h(ctx__3))) >= 0
-S-  Applied substitution rule skein_512_up_rules(48).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H20:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 127
<S>  New H85:  fld_tree_level(fld_tweak_words(fld_h(ctx__3))) <= 127
-S-  Applied substitution rule skein_512_up_rules(53).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H8:  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(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 0 <= element(msg, [i___1]
          ) and element(msg, [i___1]) <= spark__unsigned__byte__last)
<S>  New H73:  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(ctx__3), [i___2]) and element(fld_b(ctx__3), [i___2]) <= 
          spark__unsigned__byte__last)
-S-  Applied substitution rule skein_512_up_rules(54).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H8:  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(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 255)
<S>  New H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 0 <= element(msg, [i___1]
          ) and element(msg, [i___1]) <= 255)
<S>  New H73:  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(ctx__3), [i___2]) and element(fld_b(ctx__3), [i___2]) <= 255)
-S-  Applied substitution rule skein_512_up_rules(59).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H21:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H86:  fld_reserved(fld_tweak_words(fld_h(ctx__3))) >= 0
-S-  Applied substitution rule skein_512_up_rules(60).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H22:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 65535
<S>  New H87:  fld_reserved(fld_tweak_words(fld_h(ctx__3))) <= 65535
-S-  Applied substitution rule skein_512_up_rules(65).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H23:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H88:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx__3))) >= 0
-S-  Applied substitution rule skein_512_up_rules(66).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H24:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 4294967295
<S>  New H89:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx__3))) <= 4294967295
-S-  Applied substitution rule skein_512_up_rules(71).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H9:  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(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H25:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H74:  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(ctx__3), [i___1]) and element(fld_x(ctx__3), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H90:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx__3))) >= 0
-S-  Applied substitution rule skein_512_up_rules(72).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H26:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          18446744073709551615
<S>  New H91:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx__3))) <= 
          18446744073709551615
<S>  New H9:  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(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          18446744073709551615)
<S>  New H74:  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(ctx__3), [i___1]) and element(fld_x(ctx__3), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(82).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H12:  fld_hash_bit_len(fld_h(ctx)) >= 0
<S>  New H77:  fld_hash_bit_len(fld_h(ctx__3)) >= 0
-S-  Applied substitution rule skein_512_up_rules(83).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H13:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H78:  fld_hash_bit_len(fld_h(ctx__3)) <= 2147483640
-S-  Applied substitution rule skein_512_up_rules(87).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__first by:
          1.
<S>  New H1:  fld_hash_bit_len(fld_h(ctx)) >= 1
<S>  New H67:  fld_hash_bit_len(fld_h(ctx__3)) >= 1
-S-  Applied substitution rule skein_512_up_rules(88).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__last by:
          2147483640.
<S>  New H2:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H68:  fld_hash_bit_len(fld_h(ctx__3)) <= 2147483640
-S-  Applied substitution rule skein_512_up_rules(92).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H9:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(ctx), [i___1])
           and element(fld_x(ctx), [i___1]) <= 18446744073709551615)
<S>  New H74:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(ctx__3), [
          i___1]) and element(fld_x(ctx__3), [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(93).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H9:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          18446744073709551615)
<S>  New H74:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(ctx__3), [i___1]) and element(fld_x(ctx__3), [i___1]) 
          <= 18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(97).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__first by:
          0.
<S>  New H3:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H70:  fld_byte_count(fld_h(ctx__3)) >= 0
-S-  Applied substitution rule skein_512_up_rules(98).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__last by:
          64.
<S>  New H4:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New H71:  fld_byte_count(fld_h(ctx__3)) <= 64
-S-  Applied substitution rule skein_512_up_rules(102).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H8:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(ctx), [i___2])
           and element(fld_b(ctx), [i___2]) <= 255)
<S>  New H73:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(ctx__3), [
          i___2]) and element(fld_b(ctx__3), [i___2]) <= 255)
-S-  Applied substitution rule skein_512_up_rules(103).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H8:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 255)
<S>  New H73:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(ctx__3), [i___2]) and element(fld_b(ctx__3), [i___2]) 
          <= 255)
-S-  Applied substitution rule skein_512_up_rules(107).
     This was achieved by replacing all occurrences of 
          positive_block_512_count_t__first by:
          1.
<S>  New H43:  msg__index__subtype__1__last div 64 >= 1
-S-  Applied substitution rule skein_512_up_rules(108).
     This was achieved by replacing all occurrences of 
          positive_block_512_count_t__last by:
          33554431.
<S>  New H44:  msg__index__subtype__1__last div 64 <= 33554431
%%%  Hypotheses H37 & H10 together imply that
          fld_byte_count(fld_h(ctx)) = 0.
     H37 & H10 have therefore been deleted and a new H96 added to this effect.
---  Eliminated hypothesis H14 (true-hypothesis).
---  Eliminated hypothesis H15 (true-hypothesis).
---  Eliminated hypothesis H18 (true-hypothesis).
---  Eliminated hypothesis H32 (true-hypothesis).
---  Eliminated hypothesis H33 (true-hypothesis).
---  Eliminated hypothesis H38 (true-hypothesis).
---  Eliminated hypothesis H39 (true-hypothesis).
---  Eliminated hypothesis H41 (true-hypothesis).
---  Eliminated hypothesis H42 (true-hypothesis).
---  Eliminated hypothesis H48 (true-hypothesis).
---  Eliminated hypothesis H49 (true-hypothesis).
---  Eliminated hypothesis H50 (true-hypothesis).
---  Eliminated hypothesis H51 (true-hypothesis).
---  Eliminated hypothesis H54 (true-hypothesis).
---  Eliminated hypothesis H55 (true-hypothesis).
---  Eliminated hypothesis H56 (true-hypothesis).
---  Eliminated hypothesis H57 (true-hypothesis).
---  Eliminated hypothesis H58 (true-hypothesis).
---  Eliminated hypothesis H59 (true-hypothesis).
---  Eliminated hypothesis H60 (true-hypothesis).
---  Eliminated hypothesis H61 (true-hypothesis).
---  Eliminated hypothesis H62 (true-hypothesis).
---  Eliminated hypothesis H79 (true-hypothesis).
---  Eliminated hypothesis H80 (true-hypothesis).
---  Eliminated hypothesis H83 (true-hypothesis).
---  Eliminated hypothesis H92 (true-hypothesis).
---  Eliminated hypothesis H93 (true-hypothesis).
---  Eliminated hypothesis H45 (true-hypothesis).
---  Eliminated hypothesis H30 (true-hypothesis).
---  Eliminated hypothesis H52 (true-hypothesis).
---  Eliminated hypothesis H31 (true-hypothesis).
---  Eliminated hypothesis H66 (true-hypothesis).
---  Eliminated hypothesis H53 (true-hypothesis).
---  Eliminated hypothesis H65 (duplicate of H47).
---  Eliminated hypothesis H13 (duplicate of H2).
---  Eliminated hypothesis H78 (duplicate of H68).
---  Eliminated hypothesis H75 (duplicate of H70).
---  Eliminated hypothesis H29 (duplicate of H6).
---  Eliminated hypothesis H3 (redundant, given H96).
---  Eliminated hypothesis H4 (redundant, given H96).
---  Eliminated hypothesis H6 (redundant, given H7).
---  Eliminated hypothesis H11 (redundant, given H96).
---  Eliminated hypothesis H12 (redundant, given H1).
---  Eliminated hypothesis H28 (redundant, given H40).
---  Eliminated hypothesis H34 (redundant, given H36).
---  Eliminated hypothesis H44 (redundant, given H95).
---  Eliminated hypothesis H46 (redundant, given H40).
---  Eliminated hypothesis H47 (redundant, given H7).
---  Eliminated hypothesis H64 (redundant, given H40).
---  Eliminated hypothesis H76 (redundant, given H71).
---  Eliminated hypothesis H77 (redundant, given H67).
---  Eliminated hypothesis H94 (redundant, given H43).
---  Eliminated hypothesis H95 (redundant, given H7 & H63).
-S-  Substituted hypothesis H69.
     This was achieved by replacing all occurrences of fld_hash_bit_len(fld_h(
          ctx__3)) by:
          fld_hash_bit_len(fld_h(ctx)).
-S-  Substituted hypothesis H72.
     This was achieved by replacing all occurrences of fld_byte_count(fld_h(
          ctx__3)) by:
          fld_byte_count(fld_h(ctx)).
***  Proved C1:  msg__index__subtype__1__last div 64 * 64 < 
          msg__index__subtype__1__last + 1
     via its standard form, which is:
     Std.Fm C1:  msg__index__subtype__1__last - 64 * (
          msg__index__subtype__1__last div 64) > - 1
     using hypothesis H40.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_update_21.  @@@@@@@@@@
%%%  Simplified H8 on reading formula in, to give:
     %%%  H8:  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(ctx), [i___2]) and 
          element(fld_b(ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  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(ctx), [i___1]) and 
          element(fld_x(ctx), [i___1]) <= spark__unsigned__u64__last)
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(msg, [i___1]) and element(
          msg, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H42 has been replaced by "true".  (It is already present, as 
          H30).
---  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 
          H38).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H48 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H49 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H51 has been replaced by "true".  (It is already present, as H5)
          .
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) - 1 <= 
          msg__index__subtype__1__last
%%%  Simplified H61 on reading formula in, to give:
     %%%  H61:  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(ctx__1), [i___2]) and 
          element(fld_b(ctx__1), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H62 on reading formula in, to give:
     %%%  H62:  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(ctx__1), [i___1]) and 
          element(fld_x(ctx__1), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H80 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H81 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H82 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H83 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H86 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H87 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H88 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H89 has been replaced by "true".  (It is already present, as 
          H31).
%%%  Simplified H90 on reading formula in, to give:
     %%%  H90:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) >= 
          natural__first
%%%  Simplified H91 on reading formula in, to give:
     %%%  H91:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) <= 
          natural__last
%%%  Simplified H93 on reading formula in, to give:
     %%%  H93:  for_all(i___1 : integer, skein_512_block_bytes_index__first <= 
          i___1 and i___1 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(ctx__1), [i___1]) and 
          element(fld_b(ctx__1), [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H98 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H99 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H102 has been replaced by "true".  (It is already present, as 
          H59).
---  Hypothesis H103 has been replaced by "true".  (It is already present, as 
          H60).
%%%  Simplified H105 on reading formula in, to give:
     %%%  H105:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H106 on reading formula in, to give:
     %%%  H106:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H108 on reading formula in, to give:
     %%%  H108:  63 <= natural__last
%%%  Simplified H115 on reading formula in, to give:
     %%%  H115:  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(ctx__2), [i___2]) and 
          element(fld_b(ctx__2), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H116 on reading formula in, to give:
     %%%  H116:  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(ctx__2), [i___1]) and 
          element(fld_x(ctx__2), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H134 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H135 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H136 has been replaced by "true".  (It is already present, as 
          H84).
---  Hypothesis H137 has been replaced by "true".  (It is already present, as 
          H85).
---  Hypothesis H139 has been replaced by "true".  (It is already present, as 
          H84).
---  Hypothesis H140 has been replaced by "true".  (It is already present, as 
          H85).
---  Hypothesis H146 has been replaced by "true".  (It is already present, as 
          H90).
---  Hypothesis H147 has been replaced by "true".  (It is already present, as 
          H91).
---  Hypothesis H148 has been replaced by "true".  (It is already present, as 
          H141).
---  Hypothesis H149 has been replaced by "true".  (It is already present, as 
          H142).
---  Hypothesis H150 has been replaced by "true".  (It is already present, as 
          H94).
---  Hypothesis H151 has been replaced by "true".  (It is already present, as 
          H95).
---  Hypothesis H152 has been replaced by "true".  (It is already present, as 
          H141).
---  Hypothesis H153 has been replaced by "true".  (It is already present, as 
          H142).
---  Hypothesis H154 has been replaced by "true".  (It is already present, as 
          H90).
---  Hypothesis H155 has been replaced by "true".  (It is already present, as 
          H91).
%%%  Simplified H156 on reading formula in, to give:
     %%%  H156:  fld_hash_bit_len(fld_h(ctx__2)) >= 
          initialized_hash_bit_length__first
%%%  Simplified H157 on reading formula in, to give:
     %%%  H157:  fld_hash_bit_len(fld_h(ctx__2)) <= 
          initialized_hash_bit_length__last
%%%  Simplified H158 on reading formula in, to give:
     %%%  H158:  0 >= skein_512_block_bytes_count__first
%%%  Simplified H159 on reading formula in, to give:
     %%%  H159:  0 <= skein_512_block_bytes_count__last
---  Hypothesis H160 has been replaced by "true".  (It is already present, as 
          H5).
%%%  Simplified H161 on reading formula in, to give:
     %%%  H161:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) + ((
          msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) - 1) div skein_512_block_bytes_c - 1) * 
          skein_512_block_bytes_c + 63 <= msg__index__subtype__1__last
%%%  Simplified H162 on reading formula in, to give:
     %%%  H162:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) + 63 <= 
          msg__index__subtype__1__last
%%%  Simplified H164 on reading formula in, to give:
     %%%  H164:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) <= 
          natural__last - 63
%%%  Simplified H167 on reading formula in, to give:
     %%%  H167:  fld_hash_bit_len(fld_h(ctx__3)) = fld_hash_bit_len(fld_h(
          ctx__2))
%%%  Simplified H170 on reading formula in, to give:
     %%%  H170:  fld_byte_count(fld_h(ctx__3)) = 0
%%%  Simplified H171 on reading formula in, to give:
     %%%  H171:  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(ctx__3), [i___2]) and 
          element(fld_b(ctx__3), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H172 on reading formula in, to give:
     %%%  H172:  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(ctx__3), [i___1]) and 
          element(fld_x(ctx__3), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H190 has been replaced by "true".  (It is already present, as 
          H141).
---  Hypothesis H191 has been replaced by "true".  (It is already present, as 
          H142).
---  Hypothesis H195 has been replaced by "true".  (It is already present, as 
          H84).
---  Hypothesis H196 has been replaced by "true".  (It is already present, as 
          H85).
---  Hypothesis H197 has been replaced by "true".  (It is already present, as 
          H192).
---  Hypothesis H198 has been replaced by "true".  (It is already present, as 
          H193).
-S-  Applied substitution rule skein_512_up_rules(8).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H10:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H28:  msg__index__subtype__1__last >= - 1
<S>  New H30:  true
<S>  New H46:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) >= 0
<S>  New H63:  fld_byte_count(fld_h(ctx__1)) >= 0
<S>  New H84:  msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) >= 0
<S>  New H90:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) >= 0
<S>  New H94:  skein_512_block_bytes_c >= 0
<S>  New H117:  fld_byte_count(fld_h(ctx__2)) >= 0
<S>  New H173:  fld_byte_count(fld_h(ctx__3)) >= 0
<S>  New H192:  (msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) - 1) div skein_512_block_bytes_c * 
          skein_512_block_bytes_c >= 0
<S>  New C1:  msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) - (msg__index__subtype__1__last + 1 - (
          skein_512_block_bytes_c - fld_byte_count(fld_h(ctx))) - 1) div 
          skein_512_block_bytes_c * skein_512_block_bytes_c >= 0
-S-  Applied substitution rule skein_512_up_rules(9).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H6:  msg__index__subtype__1__last < 2147483647
<S>  New H7:  msg__index__subtype__1__last + skein_512_block_bytes_c <= 
          2147483646
<S>  New H11:  fld_byte_count(fld_h(ctx)) <= 2147483647
<S>  New H29:  msg__index__subtype__1__last <= 2147483646
<S>  New H31:  true
<S>  New H47:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) <= 
          2147483647
<S>  New H64:  fld_byte_count(fld_h(ctx__1)) <= 2147483647
<S>  New H85:  msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) <= 2147483647
<S>  New H91:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) <= 
          2147483647
<S>  New H95:  skein_512_block_bytes_c <= 2147483647
<S>  New H107:  skein_512_block_bytes_index__last <= 2147483647
<S>  New H108:  true
<S>  New H118:  fld_byte_count(fld_h(ctx__2)) <= 2147483647
<S>  New H163:  msg__index__subtype__1__last <= 2147483647
<S>  New H164:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) <= 
          2147483584
<S>  New H174:  fld_byte_count(fld_h(ctx__3)) <= 2147483647
<S>  New H193:  (msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) - 1) div skein_512_block_bytes_c * 
          skein_512_block_bytes_c <= 2147483647
<S>  New C2:  msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) - (msg__index__subtype__1__last + 1 - (
          skein_512_block_bytes_c - fld_byte_count(fld_h(ctx))) - 1) div 
          skein_512_block_bytes_c * skein_512_block_bytes_c <= 2147483647
***  Proved C1:  msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) - (msg__index__subtype__1__last + 1 - (
          skein_512_block_bytes_c - fld_byte_count(fld_h(ctx))) - 1) div 
          skein_512_block_bytes_c * skein_512_block_bytes_c >= 0
     using hypothesis H194.
***  Proved C2:  msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) - (msg__index__subtype__1__last + 1 - (
          skein_512_block_bytes_c - fld_byte_count(fld_h(ctx))) - 1) div 
          skein_512_block_bytes_c * skein_512_block_bytes_c <= 2147483647
     using hypotheses H85 & H192.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_update_22.  @@@@@@@@@@
%%%  Simplified H8 on reading formula in, to give:
     %%%  H8:  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(ctx), [i___2]) and 
          element(fld_b(ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  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(ctx), [i___1]) and 
          element(fld_x(ctx), [i___1]) <= spark__unsigned__u64__last)
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(msg, [i___1]) and element(
          msg, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H38 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H39 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H41 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H42 has been replaced by "true".  (It is already present, as 
          H29).
%%%  Simplified H43 on reading formula in, to give:
     %%%  H43:  msg__index__subtype__1__last div skein_512_block_bytes_c >= 
          positive_block_512_count_t__first
%%%  Simplified H44 on reading formula in, to give:
     %%%  H44:  msg__index__subtype__1__last div skein_512_block_bytes_c <= 
          positive_block_512_count_t__last
%%%  Simplified H46 on reading formula in, to give:
     %%%  H46:  msg__index__subtype__1__last >= integer__base__first
%%%  Simplified H47 on reading formula in, to give:
     %%%  H47:  msg__index__subtype__1__last <= integer__base__last
---  Hypothesis H48 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H49 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H50 has been replaced by "true".  (It is already present, as 
          H43).
---  Hypothesis H51 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H54 has been replaced by "true".  (It is already present, as 
          H43).
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H58 has been replaced by "true".  (It is already present, as H1)
          .
---  Hypothesis H59 has been replaced by "true".  (It is already present, as H2)
          .
---  Hypothesis H60 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H61 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H62 has been replaced by "true".  (It is already present, as H5)
          .
%%%  Simplified H63 on reading formula in, to give:
     %%%  H63:  (msg__index__subtype__1__last div skein_512_block_bytes_c - 1) 
          * skein_512_block_bytes_c + 63 <= msg__index__subtype__1__last
%%%  Simplified H64 on reading formula in, to give:
     %%%  H64:  63 <= msg__index__subtype__1__last
%%%  Simplified H66 on reading formula in, to give:
     %%%  H66:  63 <= natural__last
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  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(ctx__3), [i___2]) and 
          element(fld_b(ctx__3), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  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(ctx__3), [i___1]) and 
          element(fld_x(ctx__3), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H92 has been replaced by "true".  (It is already present, as 
          H43).
---  Hypothesis H93 has been replaced by "true".  (It is already present, as 
          H44).
%%%  Simplified H94 on reading formula in, to give:
     %%%  H94:  msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c >= natural__first
%%%  Simplified H95 on reading formula in, to give:
     %%%  H95:  msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c <= natural__last
%%%  Simplified H96 on reading formula in, to give:
     %%%  H96:  msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c < msg__index__subtype__1__last + 1
---  Hypothesis H97 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H98 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H99 has been replaced by "true".  (It is already present, as 
          H94).
---  Hypothesis H100 has been replaced by "true".  (It is already present, as 
          H95).
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  msg__index__subtype__1__last + 1 - msg__index__subtype__1__last 
          div skein_512_block_bytes_c * skein_512_block_bytes_c >= 
          natural__first
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  msg__index__subtype__1__last + 1 - msg__index__subtype__1__last 
          div skein_512_block_bytes_c * skein_512_block_bytes_c <= natural__last
-S-  Applied substitution rule skein_512_up_rules(8).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H10:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H28:  msg__index__subtype__1__last >= - 1
<S>  New H30:  true
<S>  New H52:  skein_512_block_bytes_c >= 0
<S>  New H75:  fld_byte_count(fld_h(ctx__3)) >= 0
<S>  New H94:  msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c >= 0
<S>  New C1:  msg__index__subtype__1__last + 1 - msg__index__subtype__1__last 
          div skein_512_block_bytes_c * skein_512_block_bytes_c >= 0
-S-  Applied substitution rule skein_512_up_rules(9).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H6:  msg__index__subtype__1__last < 2147483647
<S>  New H7:  msg__index__subtype__1__last + skein_512_block_bytes_c <= 
          2147483646
<S>  New H11:  fld_byte_count(fld_h(ctx)) <= 2147483647
<S>  New H29:  msg__index__subtype__1__last <= 2147483646
<S>  New H31:  true
<S>  New H53:  skein_512_block_bytes_c <= 2147483647
<S>  New H65:  msg__index__subtype__1__last <= 2147483647
<S>  New H66:  true
<S>  New H76:  fld_byte_count(fld_h(ctx__3)) <= 2147483647
<S>  New H95:  msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c <= 2147483647
<S>  New C2:  msg__index__subtype__1__last + 1 - msg__index__subtype__1__last 
          div skein_512_block_bytes_c * skein_512_block_bytes_c <= 2147483647
***  Proved C1:  msg__index__subtype__1__last + 1 - 
          msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c >= 0
     using hypothesis H96.
***  Proved C2:  msg__index__subtype__1__last + 1 - 
          msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c <= 2147483647
     using hypotheses H29 & H94.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_update_23.  @@@@@@@@@@
%%%  Simplified H8 on reading formula in, to give:
     %%%  H8:  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(ctx), [i___2]) and 
          element(fld_b(ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  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(ctx), [i___1]) and 
          element(fld_x(ctx), [i___1]) <= spark__unsigned__u64__last)
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(msg, [i___1]) and element(
          msg, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H42 has been replaced by "true".  (It is already present, as 
          H30).
---  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 
          H38).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H48 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H49 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H51 has been replaced by "true".  (It is already present, as H5)
          .
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) - 1 <= 
          msg__index__subtype__1__last
%%%  Simplified H61 on reading formula in, to give:
     %%%  H61:  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(ctx__1), [i___2]) and 
          element(fld_b(ctx__1), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H62 on reading formula in, to give:
     %%%  H62:  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(ctx__1), [i___1]) and 
          element(fld_x(ctx__1), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H80 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H81 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H82 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H83 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H86 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H87 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H88 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H89 has been replaced by "true".  (It is already present, as 
          H31).
%%%  Simplified H90 on reading formula in, to give:
     %%%  H90:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) >= 
          natural__first
%%%  Simplified H91 on reading formula in, to give:
     %%%  H91:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) <= 
          natural__last
%%%  Simplified H93 on reading formula in, to give:
     %%%  H93:  for_all(i___1 : integer, skein_512_block_bytes_index__first <= 
          i___1 and i___1 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(ctx__1), [i___1]) and 
          element(fld_b(ctx__1), [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H98 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H99 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H102 has been replaced by "true".  (It is already present, as 
          H59).
---  Hypothesis H103 has been replaced by "true".  (It is already present, as 
          H60).
%%%  Simplified H105 on reading formula in, to give:
     %%%  H105:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H106 on reading formula in, to give:
     %%%  H106:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H108 on reading formula in, to give:
     %%%  H108:  63 <= natural__last
%%%  Simplified H115 on reading formula in, to give:
     %%%  H115:  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(ctx__2), [i___2]) and 
          element(fld_b(ctx__2), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H116 on reading formula in, to give:
     %%%  H116:  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(ctx__2), [i___1]) and 
          element(fld_x(ctx__2), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H134 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H135 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H136 has been replaced by "true".  (It is already present, as 
          H84).
---  Hypothesis H137 has been replaced by "true".  (It is already present, as 
          H85).
---  Hypothesis H139 has been replaced by "true".  (It is already present, as 
          H84).
---  Hypothesis H140 has been replaced by "true".  (It is already present, as 
          H85).
---  Hypothesis H146 has been replaced by "true".  (It is already present, as 
          H90).
---  Hypothesis H147 has been replaced by "true".  (It is already present, as 
          H91).
---  Hypothesis H148 has been replaced by "true".  (It is already present, as 
          H141).
---  Hypothesis H149 has been replaced by "true".  (It is already present, as 
          H142).
---  Hypothesis H150 has been replaced by "true".  (It is already present, as 
          H94).
---  Hypothesis H151 has been replaced by "true".  (It is already present, as 
          H95).
---  Hypothesis H152 has been replaced by "true".  (It is already present, as 
          H141).
---  Hypothesis H153 has been replaced by "true".  (It is already present, as 
          H142).
---  Hypothesis H154 has been replaced by "true".  (It is already present, as 
          H90).
---  Hypothesis H155 has been replaced by "true".  (It is already present, as 
          H91).
%%%  Simplified H156 on reading formula in, to give:
     %%%  H156:  fld_hash_bit_len(fld_h(ctx__2)) >= 
          initialized_hash_bit_length__first
%%%  Simplified H157 on reading formula in, to give:
     %%%  H157:  fld_hash_bit_len(fld_h(ctx__2)) <= 
          initialized_hash_bit_length__last
%%%  Simplified H158 on reading formula in, to give:
     %%%  H158:  0 >= skein_512_block_bytes_count__first
%%%  Simplified H159 on reading formula in, to give:
     %%%  H159:  0 <= skein_512_block_bytes_count__last
---  Hypothesis H160 has been replaced by "true".  (It is already present, as 
          H5).
%%%  Simplified H161 on reading formula in, to give:
     %%%  H161:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) + ((
          msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) - 1) div skein_512_block_bytes_c - 1) * 
          skein_512_block_bytes_c + 63 <= msg__index__subtype__1__last
%%%  Simplified H162 on reading formula in, to give:
     %%%  H162:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) + 63 <= 
          msg__index__subtype__1__last
%%%  Simplified H164 on reading formula in, to give:
     %%%  H164:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) <= 
          natural__last - 63
%%%  Simplified H167 on reading formula in, to give:
     %%%  H167:  fld_hash_bit_len(fld_h(ctx__3)) = fld_hash_bit_len(fld_h(
          ctx__2))
%%%  Simplified H170 on reading formula in, to give:
     %%%  H170:  fld_byte_count(fld_h(ctx__3)) = 0
%%%  Simplified H171 on reading formula in, to give:
     %%%  H171:  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(ctx__3), [i___2]) and 
          element(fld_b(ctx__3), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H172 on reading formula in, to give:
     %%%  H172:  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(ctx__3), [i___1]) and 
          element(fld_x(ctx__3), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H190 has been replaced by "true".  (It is already present, as 
          H141).
---  Hypothesis H191 has been replaced by "true".  (It is already present, as 
          H142).
---  Hypothesis H195 has been replaced by "true".  (It is already present, as 
          H84).
---  Hypothesis H196 has been replaced by "true".  (It is already present, as 
          H85).
---  Hypothesis H197 has been replaced by "true".  (It is already present, as 
          H192).
---  Hypothesis H198 has been replaced by "true".  (It is already present, as 
          H193).
---  Hypothesis H201 has been replaced by "true".  (It is already present, as 
          H90).
---  Hypothesis H202 has been replaced by "true".  (It is already present, as 
          H91).
---  Hypothesis H203 has been replaced by "true".  (It is already present, as 
          H192).
---  Hypothesis H204 has been replaced by "true".  (It is already present, as 
          H193).
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) + (
          msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) - 1) div skein_512_block_bytes_c * 
          skein_512_block_bytes_c >= natural__first
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) + (
          msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) - 1) div skein_512_block_bytes_c * 
          skein_512_block_bytes_c <= natural__last
-S-  Applied substitution rule skein_512_up_rules(8).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H10:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H28:  msg__index__subtype__1__last >= - 1
<S>  New H30:  true
<S>  New H46:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) >= 0
<S>  New H63:  fld_byte_count(fld_h(ctx__1)) >= 0
<S>  New H84:  msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) >= 0
<S>  New H90:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) >= 0
<S>  New H94:  skein_512_block_bytes_c >= 0
<S>  New H117:  fld_byte_count(fld_h(ctx__2)) >= 0
<S>  New H173:  fld_byte_count(fld_h(ctx__3)) >= 0
<S>  New H192:  (msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) - 1) div skein_512_block_bytes_c * 
          skein_512_block_bytes_c >= 0
<S>  New H199:  msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) - (msg__index__subtype__1__last + 1 - (
          skein_512_block_bytes_c - fld_byte_count(fld_h(ctx))) - 1) div 
          skein_512_block_bytes_c * skein_512_block_bytes_c >= 0
<S>  New C1:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) + (
          msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) - 1) div skein_512_block_bytes_c * 
          skein_512_block_bytes_c >= 0
-S-  Applied substitution rule skein_512_up_rules(9).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H6:  msg__index__subtype__1__last < 2147483647
<S>  New H7:  msg__index__subtype__1__last + skein_512_block_bytes_c <= 
          2147483646
<S>  New H11:  fld_byte_count(fld_h(ctx)) <= 2147483647
<S>  New H29:  msg__index__subtype__1__last <= 2147483646
<S>  New H31:  true
<S>  New H47:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) <= 
          2147483647
<S>  New H64:  fld_byte_count(fld_h(ctx__1)) <= 2147483647
<S>  New H85:  msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) <= 2147483647
<S>  New H91:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) <= 
          2147483647
<S>  New H95:  skein_512_block_bytes_c <= 2147483647
<S>  New H107:  skein_512_block_bytes_index__last <= 2147483647
<S>  New H108:  true
<S>  New H118:  fld_byte_count(fld_h(ctx__2)) <= 2147483647
<S>  New H163:  msg__index__subtype__1__last <= 2147483647
<S>  New H164:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) <= 
          2147483584
<S>  New H174:  fld_byte_count(fld_h(ctx__3)) <= 2147483647
<S>  New H193:  (msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) - 1) div skein_512_block_bytes_c * 
          skein_512_block_bytes_c <= 2147483647
<S>  New H200:  msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) - (msg__index__subtype__1__last + 1 - (
          skein_512_block_bytes_c - fld_byte_count(fld_h(ctx))) - 1) div 
          skein_512_block_bytes_c * skein_512_block_bytes_c <= 2147483647
<S>  New C2:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) + (
          msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) - 1) div skein_512_block_bytes_c * 
          skein_512_block_bytes_c <= 2147483647
***  Proved C1:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) + (
          msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) - 1) div skein_512_block_bytes_c * 
          skein_512_block_bytes_c >= 0
     using hypotheses H46 & H192.
-S-  Applied substitution rule skein_512_up_rules(1).
     This was achieved by replacing all occurrences of skein_512_block_bytes_c 
          by:
          64.
<S>  New H7:  msg__index__subtype__1__last <= 2147483582
<S>  New H36:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) > 
          64
<S>  New H38:  64 - fld_byte_count(fld_h(ctx)) >= 
          skein_512_block_bytes_index__first
<S>  New H39:  64 - fld_byte_count(fld_h(ctx)) <= 
          skein_512_block_bytes_index__last
<S>  New H40:  64 - fld_byte_count(fld_h(ctx)) < msg__index__subtype__1__last + 
          1
<S>  New H41:  64 - fld_byte_count(fld_h(ctx)) <= msg__index__subtype__1__last 
          + 1
<S>  New H46:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New H47:  - 2147483583 <= fld_byte_count(fld_h(ctx))
<S>  New H54:  64 - fld_byte_count(fld_h(ctx)) - 1 <= 
          msg__index__subtype__1__last
<S>  New H55:  fld_byte_count(fld_h(ctx)) + (64 - fld_byte_count(fld_h(ctx)) - 
          1) <= skein_512_block_bytes_index__last
<S>  New H58:  fld_byte_count(fld_h(ctx__1)) = fld_byte_count(fld_h(ctx)) + (64 
          - fld_byte_count(fld_h(ctx)))
<S>  New H84:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) >= 0
<S>  New H85:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) <= 2147483647
<S>  New H90:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New H91:  - 2147483583 <= fld_byte_count(fld_h(ctx))
<S>  New H92:  fld_byte_count(fld_h(ctx__1)) = 64
<S>  New H94:  true
<S>  New H95:  true
<S>  New H138:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) > 64
<S>  New H141:  (msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - 1) div 64 >= positive_block_512_count_t__first
<S>  New H142:  (msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - 1) div 64 <= positive_block_512_count_t__last
<S>  New H143:  true
<S>  New H144:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - 1 >= integer__base__first
<S>  New H145:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - 1 <= integer__base__last
<S>  New H161:  64 - fld_byte_count(fld_h(ctx)) + ((
          msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(ctx))) 
          - 1) div 64 - 1) * 64 + 63 <= msg__index__subtype__1__last
<S>  New H162:  64 - fld_byte_count(fld_h(ctx)) + 63 <= 
          msg__index__subtype__1__last
<S>  New H164:  - 2147483520 <= fld_byte_count(fld_h(ctx))
<S>  New H192:  (msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - 1) div 64 * 64 >= 0
<S>  New H193:  (msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - 1) div 64 * 64 <= 2147483647
<S>  New H194:  (msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - 1) div 64 * 64 < msg__index__subtype__1__last + 1 - (64 - 
          fld_byte_count(fld_h(ctx)))
<S>  New H199:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - (msg__index__subtype__1__last + 1 - (64 - fld_byte_count(
          fld_h(ctx))) - 1) div 64 * 64 >= 0
<S>  New H200:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - (msg__index__subtype__1__last + 1 - (64 - fld_byte_count(
          fld_h(ctx))) - 1) div 64 * 64 <= 2147483647
<S>  New C2:  64 - fld_byte_count(fld_h(ctx)) + (msg__index__subtype__1__last + 
          1 - (64 - fld_byte_count(fld_h(ctx))) - 1) div 64 * 64 <= 2147483647
-S-  Applied substitution rule skein_512_up_rules(5).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H34:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) >= 
          - 2147483648
<S>  New H144:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) >= - 2147483647
-S-  Applied substitution rule skein_512_up_rules(6).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H35:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) <= 
          2147483647
<S>  New H145:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) <= 2147483648
-S-  Applied substitution rule skein_512_up_rules(41).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H16:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H69:  fld_field_type(fld_tweak_words(fld_h(ctx__1))) >= 0
<S>  New H123:  fld_field_type(fld_tweak_words(fld_h(ctx__2))) >= 0
<S>  New H179:  fld_field_type(fld_tweak_words(fld_h(ctx__3))) >= 0
-S-  Applied substitution rule skein_512_up_rules(42).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H17:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 63
<S>  New H70:  fld_field_type(fld_tweak_words(fld_h(ctx__1))) <= 63
<S>  New H124:  fld_field_type(fld_tweak_words(fld_h(ctx__2))) <= 63
<S>  New H180:  fld_field_type(fld_tweak_words(fld_h(ctx__3))) <= 63
-S-  Applied substitution rule skein_512_up_rules(47).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H19:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H72:  fld_tree_level(fld_tweak_words(fld_h(ctx__1))) >= 0
<S>  New H126:  fld_tree_level(fld_tweak_words(fld_h(ctx__2))) >= 0
<S>  New H182:  fld_tree_level(fld_tweak_words(fld_h(ctx__3))) >= 0
-S-  Applied substitution rule skein_512_up_rules(48).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H20:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 127
<S>  New H73:  fld_tree_level(fld_tweak_words(fld_h(ctx__1))) <= 127
<S>  New H127:  fld_tree_level(fld_tweak_words(fld_h(ctx__2))) <= 127
<S>  New H183:  fld_tree_level(fld_tweak_words(fld_h(ctx__3))) <= 127
-S-  Applied substitution rule skein_512_up_rules(53).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H8:  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(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 0 <= element(msg, [i___1]
          ) and element(msg, [i___1]) <= spark__unsigned__byte__last)
<S>  New H61:  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(ctx__1), [i___2]) and element(fld_b(ctx__1), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New H93:  for_all(i___1 : integer, skein_512_block_bytes_index__first <= 
          i___1 and i___1 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(ctx__1), [i___1]) and element(fld_b(ctx__1), [i___1]) <= 
          spark__unsigned__byte__last)
<S>  New H115:  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(ctx__2), [i___2]) and element(fld_b(ctx__2), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New H171:  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(ctx__3), [i___2]) and element(fld_b(ctx__3), [i___2]) <= 
          spark__unsigned__byte__last)
-S-  Applied substitution rule skein_512_up_rules(54).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H8:  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(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 255)
<S>  New H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 0 <= element(msg, [i___1]
          ) and element(msg, [i___1]) <= 255)
<S>  New H61:  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(ctx__1), [i___2]) and element(fld_b(ctx__1), [i___2]) <= 255)
<S>  New H93:  for_all(i___1 : integer, skein_512_block_bytes_index__first <= 
          i___1 and i___1 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(ctx__1), [i___1]) and element(fld_b(ctx__1), [i___1]) <= 255)
<S>  New H115:  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(ctx__2), [i___2]) and element(fld_b(ctx__2), [i___2]) <= 255)
<S>  New H171:  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(ctx__3), [i___2]) and element(fld_b(ctx__3), [i___2]) <= 255)
-S-  Applied substitution rule skein_512_up_rules(59).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H21:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H74:  fld_reserved(fld_tweak_words(fld_h(ctx__1))) >= 0
<S>  New H128:  fld_reserved(fld_tweak_words(fld_h(ctx__2))) >= 0
<S>  New H184:  fld_reserved(fld_tweak_words(fld_h(ctx__3))) >= 0
-S-  Applied substitution rule skein_512_up_rules(60).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H22:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 65535
<S>  New H75:  fld_reserved(fld_tweak_words(fld_h(ctx__1))) <= 65535
<S>  New H129:  fld_reserved(fld_tweak_words(fld_h(ctx__2))) <= 65535
<S>  New H185:  fld_reserved(fld_tweak_words(fld_h(ctx__3))) <= 65535
-S-  Applied substitution rule skein_512_up_rules(65).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H23:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H76:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx__1))) >= 0
<S>  New H130:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx__2))) >= 0
<S>  New H186:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx__3))) >= 0
-S-  Applied substitution rule skein_512_up_rules(66).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H24:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 4294967295
<S>  New H77:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx__1))) <= 4294967295
<S>  New H131:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx__2))) <= 4294967295
<S>  New H187:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx__3))) <= 4294967295
-S-  Applied substitution rule skein_512_up_rules(71).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H9:  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(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H25:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H62:  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(ctx__1), [i___1]) and element(fld_x(ctx__1), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H78:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx__1))) >= 0
<S>  New H116:  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(ctx__2), [i___1]) and element(fld_x(ctx__2), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H132:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx__2))) >= 0
<S>  New H172:  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(ctx__3), [i___1]) and element(fld_x(ctx__3), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H188:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx__3))) >= 0
-S-  Applied substitution rule skein_512_up_rules(72).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H26:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          18446744073709551615
<S>  New H79:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx__1))) <= 
          18446744073709551615
<S>  New H133:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx__2))) <= 
          18446744073709551615
<S>  New H189:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx__3))) <= 
          18446744073709551615
<S>  New H9:  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(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          18446744073709551615)
<S>  New H62:  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(ctx__1), [i___1]) and element(fld_x(ctx__1), [i___1]) <= 
          18446744073709551615)
<S>  New H116:  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(ctx__2), [i___1]) and element(fld_x(ctx__2), [i___1]) <= 
          18446744073709551615)
<S>  New H172:  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(ctx__3), [i___1]) and element(fld_x(ctx__3), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(82).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H12:  fld_hash_bit_len(fld_h(ctx)) >= 0
<S>  New H65:  fld_hash_bit_len(fld_h(ctx__1)) >= 0
<S>  New H119:  fld_hash_bit_len(fld_h(ctx__2)) >= 0
<S>  New H175:  fld_hash_bit_len(fld_h(ctx__3)) >= 0
-S-  Applied substitution rule skein_512_up_rules(83).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H13:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H66:  fld_hash_bit_len(fld_h(ctx__1)) <= 2147483640
<S>  New H120:  fld_hash_bit_len(fld_h(ctx__2)) <= 2147483640
<S>  New H176:  fld_hash_bit_len(fld_h(ctx__3)) <= 2147483640
-S-  Applied substitution rule skein_512_up_rules(87).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__first by:
          1.
<S>  New H1:  fld_hash_bit_len(fld_h(ctx)) >= 1
<S>  New H100:  fld_hash_bit_len(fld_h(ctx__1)) >= 1
<S>  New H109:  fld_hash_bit_len(fld_h(ctx__2)) >= 1
<S>  New H156:  fld_hash_bit_len(fld_h(ctx__2)) >= 1
<S>  New H165:  fld_hash_bit_len(fld_h(ctx__3)) >= 1
-S-  Applied substitution rule skein_512_up_rules(88).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__last by:
          2147483640.
<S>  New H2:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H101:  fld_hash_bit_len(fld_h(ctx__1)) <= 2147483640
<S>  New H110:  fld_hash_bit_len(fld_h(ctx__2)) <= 2147483640
<S>  New H157:  fld_hash_bit_len(fld_h(ctx__2)) <= 2147483640
<S>  New H166:  fld_hash_bit_len(fld_h(ctx__3)) <= 2147483640
-S-  Applied substitution rule skein_512_up_rules(92).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H9:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(ctx), [i___1])
           and element(fld_x(ctx), [i___1]) <= 18446744073709551615)
<S>  New H62:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(ctx__1), [
          i___1]) and element(fld_x(ctx__1), [i___1]) <= 18446744073709551615)
<S>  New H116:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(ctx__2), [
          i___1]) and element(fld_x(ctx__2), [i___1]) <= 18446744073709551615)
<S>  New H172:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(ctx__3), [
          i___1]) and element(fld_x(ctx__3), [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(93).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H9:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          18446744073709551615)
<S>  New H62:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(ctx__1), [i___1]) and element(fld_x(ctx__1), [i___1]) 
          <= 18446744073709551615)
<S>  New H116:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(ctx__2), [i___1]) and element(fld_x(ctx__2), [i___1]) 
          <= 18446744073709551615)
<S>  New H172:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(ctx__3), [i___1]) and element(fld_x(ctx__3), [i___1]) 
          <= 18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(97).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__first by:
          0.
<S>  New H3:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H59:  fld_byte_count(fld_h(ctx__1)) >= 0
<S>  New H112:  fld_byte_count(fld_h(ctx__2)) >= 0
<S>  New H158:  true
<S>  New H168:  fld_byte_count(fld_h(ctx__3)) >= 0
-S-  Applied substitution rule skein_512_up_rules(98).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__last by:
          64.
<S>  New H4:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New H60:  fld_byte_count(fld_h(ctx__1)) <= 64
<S>  New H113:  fld_byte_count(fld_h(ctx__2)) <= 64
<S>  New H159:  true
<S>  New H169:  fld_byte_count(fld_h(ctx__3)) <= 64
-S-  Applied substitution rule skein_512_up_rules(102).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H104:  true
<S>  New H38:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New H8:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(ctx), [i___2])
           and element(fld_b(ctx), [i___2]) <= 255)
<S>  New H61:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(ctx__1), [
          i___2]) and element(fld_b(ctx__1), [i___2]) <= 255)
<S>  New H93:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(ctx__1), [
          i___1]) and element(fld_b(ctx__1), [i___1]) <= 255)
<S>  New H115:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(ctx__2), [
          i___2]) and element(fld_b(ctx__2), [i___2]) <= 255)
<S>  New H171:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(ctx__3), [
          i___2]) and element(fld_b(ctx__3), [i___2]) <= 255)
-S-  Applied substitution rule skein_512_up_rules(103).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H105:  true
<S>  New H106:  true
<S>  New H107:  true
<S>  New H39:  1 <= fld_byte_count(fld_h(ctx))
<S>  New H55:  fld_byte_count(fld_h(ctx)) + (64 - fld_byte_count(fld_h(ctx)) - 
          1) <= 63
<S>  New H8:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 255)
<S>  New H61:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(ctx__1), [i___2]) and element(fld_b(ctx__1), [i___2]) 
          <= 255)
<S>  New H93:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 63 -> 0 <= 
          element(fld_b(ctx__1), [i___1]) and element(fld_b(ctx__1), [i___1]) 
          <= 255)
<S>  New H115:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(ctx__2), [i___2]) and element(fld_b(ctx__2), [i___2]) 
          <= 255)
<S>  New H171:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(ctx__3), [i___2]) and element(fld_b(ctx__3), [i___2]) 
          <= 255)
-S-  Applied substitution rule skein_512_up_rules(107).
     This was achieved by replacing all occurrences of 
          positive_block_512_count_t__first by:
          1.
<S>  New H96:  true
<S>  New H141:  (msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - 1) div 64 >= 1
-S-  Applied substitution rule skein_512_up_rules(108).
     This was achieved by replacing all occurrences of 
          positive_block_512_count_t__last by:
          33554431.
<S>  New H97:  true
<S>  New H142:  (msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - 1) div 64 <= 33554431
---  Eliminated hypothesis H14 (true-hypothesis).
---  Eliminated hypothesis H15 (true-hypothesis).
---  Eliminated hypothesis H18 (true-hypothesis).
---  Eliminated hypothesis H30 (true-hypothesis).
---  Eliminated hypothesis H31 (true-hypothesis).
---  Eliminated hypothesis H32 (true-hypothesis).
---  Eliminated hypothesis H33 (true-hypothesis).
---  Eliminated hypothesis H42 (true-hypothesis).
---  Eliminated hypothesis H43 (true-hypothesis).
---  Eliminated hypothesis H44 (true-hypothesis).
---  Eliminated hypothesis H45 (true-hypothesis).
---  Eliminated hypothesis H48 (true-hypothesis).
---  Eliminated hypothesis H49 (true-hypothesis).
---  Eliminated hypothesis H51 (true-hypothesis).
---  Eliminated hypothesis H67 (true-hypothesis).
---  Eliminated hypothesis H68 (true-hypothesis).
---  Eliminated hypothesis H71 (true-hypothesis).
---  Eliminated hypothesis H80 (true-hypothesis).
---  Eliminated hypothesis H81 (true-hypothesis).
---  Eliminated hypothesis H82 (true-hypothesis).
---  Eliminated hypothesis H83 (true-hypothesis).
---  Eliminated hypothesis H86 (true-hypothesis).
---  Eliminated hypothesis H87 (true-hypothesis).
---  Eliminated hypothesis H88 (true-hypothesis).
---  Eliminated hypothesis H89 (true-hypothesis).
---  Eliminated hypothesis H98 (true-hypothesis).
---  Eliminated hypothesis H99 (true-hypothesis).
---  Eliminated hypothesis H102 (true-hypothesis).
---  Eliminated hypothesis H103 (true-hypothesis).
---  Eliminated hypothesis H108 (true-hypothesis).
---  Eliminated hypothesis H121 (true-hypothesis).
---  Eliminated hypothesis H122 (true-hypothesis).
---  Eliminated hypothesis H125 (true-hypothesis).
---  Eliminated hypothesis H134 (true-hypothesis).
---  Eliminated hypothesis H135 (true-hypothesis).
---  Eliminated hypothesis H136 (true-hypothesis).
---  Eliminated hypothesis H137 (true-hypothesis).
---  Eliminated hypothesis H139 (true-hypothesis).
---  Eliminated hypothesis H140 (true-hypothesis).
---  Eliminated hypothesis H146 (true-hypothesis).
---  Eliminated hypothesis H147 (true-hypothesis).
---  Eliminated hypothesis H148 (true-hypothesis).
---  Eliminated hypothesis H149 (true-hypothesis).
---  Eliminated hypothesis H150 (true-hypothesis).
---  Eliminated hypothesis H151 (true-hypothesis).
---  Eliminated hypothesis H152 (true-hypothesis).
---  Eliminated hypothesis H153 (true-hypothesis).
---  Eliminated hypothesis H154 (true-hypothesis).
---  Eliminated hypothesis H155 (true-hypothesis).
---  Eliminated hypothesis H160 (true-hypothesis).
---  Eliminated hypothesis H177 (true-hypothesis).
---  Eliminated hypothesis H178 (true-hypothesis).
---  Eliminated hypothesis H181 (true-hypothesis).
---  Eliminated hypothesis H190 (true-hypothesis).
---  Eliminated hypothesis H191 (true-hypothesis).
---  Eliminated hypothesis H195 (true-hypothesis).
---  Eliminated hypothesis H196 (true-hypothesis).
---  Eliminated hypothesis H197 (true-hypothesis).
---  Eliminated hypothesis H198 (true-hypothesis).
---  Eliminated hypothesis H201 (true-hypothesis).
---  Eliminated hypothesis H202 (true-hypothesis).
---  Eliminated hypothesis H203 (true-hypothesis).
---  Eliminated hypothesis H204 (true-hypothesis).
---  Eliminated hypothesis H94 (true-hypothesis).
---  Eliminated hypothesis H95 (true-hypothesis).
---  Eliminated hypothesis H143 (true-hypothesis).
---  Eliminated hypothesis H158 (true-hypothesis).
---  Eliminated hypothesis H159 (true-hypothesis).
---  Eliminated hypothesis H104 (true-hypothesis).
---  Eliminated hypothesis H105 (true-hypothesis).
---  Eliminated hypothesis H106 (true-hypothesis).
---  Eliminated hypothesis H107 (true-hypothesis).
---  Eliminated hypothesis H96 (true-hypothesis).
---  Eliminated hypothesis H97 (true-hypothesis).
---  Eliminated hypothesis H55 (true-hypothesis).
---  Eliminated hypothesis H39 (duplicate of H37).
---  Eliminated hypothesis H100 (duplicate of H56).
---  Eliminated hypothesis H90 (duplicate of H46).
---  Eliminated hypothesis H91 (duplicate of H47).
---  Eliminated hypothesis H101 (duplicate of H66).
---  Eliminated hypothesis H157 (duplicate of H120).
---  Eliminated hypothesis H156 (duplicate of H109).
---  Eliminated hypothesis H13 (duplicate of H2).
---  Eliminated hypothesis H120 (duplicate of H110).
---  Eliminated hypothesis H176 (duplicate of H166).
---  Eliminated hypothesis H10 (duplicate of H3).
---  Eliminated hypothesis H63 (duplicate of H59).
---  Eliminated hypothesis H117 (duplicate of H112).
---  Eliminated hypothesis H173 (duplicate of H168).
---  Eliminated hypothesis H46 (duplicate of H4).
---  Eliminated hypothesis H38 (duplicate of H4).
---  Eliminated hypothesis H50 (duplicate of H1).
---  Eliminated hypothesis H29 (duplicate of H6).
---  Eliminated hypothesis H40 (duplicate of H36).
---  Eliminated hypothesis H54 (duplicate of H41).
---  Eliminated hypothesis H84 (duplicate of H41).
---  Eliminated hypothesis H92 (duplicate of H58).
---  Eliminated hypothesis H199 (duplicate of H161).
---  Eliminated hypothesis H3 (redundant, given H37).
---  Eliminated hypothesis H6 (redundant, given H7).
---  Eliminated hypothesis H11 (redundant, given H4).
---  Eliminated hypothesis H12 (redundant, given H1).
---  Eliminated hypothesis H28 (redundant, given H53).
---  Eliminated hypothesis H34 (redundant, given H36).
---  Eliminated hypothesis H36 (redundant, given H138).
---  Eliminated hypothesis H41 (redundant, given H138).
---  Eliminated hypothesis H47 (redundant, given H37).
---  Eliminated hypothesis H52 (redundant, given H5).
---  Eliminated hypothesis H53 (redundant, given H4 & H138).
---  Eliminated hypothesis H59 (redundant, given H58).
---  Eliminated hypothesis H60 (redundant, given H58).
---  Eliminated hypothesis H64 (redundant, given H58).
---  Eliminated hypothesis H65 (redundant, given H56).
---  Eliminated hypothesis H85 (redundant, given H35).
---  Eliminated hypothesis H118 (redundant, given H113).
---  Eliminated hypothesis H119 (redundant, given H109).
---  Eliminated hypothesis H144 (redundant, given H138).
---  Eliminated hypothesis H145 (redundant, given H35).
---  Eliminated hypothesis H161 (redundant, given H194).
---  Eliminated hypothesis H162 (redundant, given H138).
---  Eliminated hypothesis H163 (redundant, given H7).
---  Eliminated hypothesis H164 (redundant, given H37).
---  Eliminated hypothesis H168 (redundant, given H170).
---  Eliminated hypothesis H169 (redundant, given H170).
---  Eliminated hypothesis H174 (redundant, given H170).
---  Eliminated hypothesis H175 (redundant, given H165).
-S-  Substituted hypothesis H57.
     This was achieved by replacing all occurrences of fld_hash_bit_len(fld_h(
          ctx__1)) by:
          fld_hash_bit_len(fld_h(ctx)).
-S-  Substituted hypothesis H114.
     This was achieved by replacing all occurrences of fld_byte_count(fld_h(
          ctx__2)) by:
          fld_byte_count(fld_h(ctx__1)).
-S-  Substituted hypothesis H167.
     This was achieved by replacing all occurrences of fld_hash_bit_len(fld_h(
          ctx__3)) by:
          fld_hash_bit_len(fld_h(ctx__2)).
-S-  Substituted hypothesis H111.
     This was achieved by replacing all occurrences of fld_hash_bit_len(fld_h(
          ctx__2)) by:
          fld_hash_bit_len(fld_h(ctx)).
***  Proved C2:  64 - fld_byte_count(fld_h(ctx)) + (
          msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(ctx))) 
          - 1) div 64 * 64 <= 2147483647
     using hypotheses H7, H39 & H46.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_update_24.  @@@@@@@@@@
%%%  Simplified H8 on reading formula in, to give:
     %%%  H8:  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(ctx), [i___2]) and 
          element(fld_b(ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  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(ctx), [i___1]) and 
          element(fld_x(ctx), [i___1]) <= spark__unsigned__u64__last)
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(msg, [i___1]) and element(
          msg, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H38 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H39 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H41 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H42 has been replaced by "true".  (It is already present, as 
          H29).
%%%  Simplified H43 on reading formula in, to give:
     %%%  H43:  msg__index__subtype__1__last div skein_512_block_bytes_c >= 
          positive_block_512_count_t__first
%%%  Simplified H44 on reading formula in, to give:
     %%%  H44:  msg__index__subtype__1__last div skein_512_block_bytes_c <= 
          positive_block_512_count_t__last
%%%  Simplified H46 on reading formula in, to give:
     %%%  H46:  msg__index__subtype__1__last >= integer__base__first
%%%  Simplified H47 on reading formula in, to give:
     %%%  H47:  msg__index__subtype__1__last <= integer__base__last
---  Hypothesis H48 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H49 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H50 has been replaced by "true".  (It is already present, as 
          H43).
---  Hypothesis H51 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H54 has been replaced by "true".  (It is already present, as 
          H43).
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H58 has been replaced by "true".  (It is already present, as H1)
          .
---  Hypothesis H59 has been replaced by "true".  (It is already present, as H2)
          .
---  Hypothesis H60 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H61 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H62 has been replaced by "true".  (It is already present, as H5)
          .
%%%  Simplified H63 on reading formula in, to give:
     %%%  H63:  (msg__index__subtype__1__last div skein_512_block_bytes_c - 1) 
          * skein_512_block_bytes_c + 63 <= msg__index__subtype__1__last
%%%  Simplified H64 on reading formula in, to give:
     %%%  H64:  63 <= msg__index__subtype__1__last
%%%  Simplified H66 on reading formula in, to give:
     %%%  H66:  63 <= natural__last
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  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(ctx__3), [i___2]) and 
          element(fld_b(ctx__3), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  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(ctx__3), [i___1]) and 
          element(fld_x(ctx__3), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H92 has been replaced by "true".  (It is already present, as 
          H43).
---  Hypothesis H93 has been replaced by "true".  (It is already present, as 
          H44).
%%%  Simplified H94 on reading formula in, to give:
     %%%  H94:  msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c >= natural__first
%%%  Simplified H95 on reading formula in, to give:
     %%%  H95:  msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c <= natural__last
%%%  Simplified H96 on reading formula in, to give:
     %%%  H96:  msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c < msg__index__subtype__1__last + 1
---  Hypothesis H97 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H98 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H99 has been replaced by "true".  (It is already present, as 
          H94).
---  Hypothesis H100 has been replaced by "true".  (It is already present, as 
          H95).
%%%  Simplified H101 on reading formula in, to give:
     %%%  H101:  msg__index__subtype__1__last + 1 - 
          msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c >= natural__first
%%%  Simplified H102 on reading formula in, to give:
     %%%  H102:  msg__index__subtype__1__last + 1 - 
          msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c <= natural__last
---  Hypothesis H103 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H104 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H105 has been replaced by "true".  (It is already present, as 
          H94).
---  Hypothesis H106 has been replaced by "true".  (It is already present, as 
          H95).
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c >= natural__first
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c <= natural__last
***  Proved C1:  msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c >= natural__first
     using hypothesis H94.
***  Proved C2:  msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c <= natural__last
     using hypothesis H95.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_update_25.  @@@@@@@@@@
%%%  Simplified H8 on reading formula in, to give:
     %%%  H8:  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(ctx), [i___2]) and 
          element(fld_b(ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  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(ctx), [i___1]) and 
          element(fld_x(ctx), [i___1]) <= spark__unsigned__u64__last)
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(msg, [i___1]) and element(
          msg, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H42 has been replaced by "true".  (It is already present, as 
          H30).
---  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 
          H38).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H48 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H49 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H51 has been replaced by "true".  (It is already present, as H5)
          .
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) - 1 <= 
          msg__index__subtype__1__last
%%%  Simplified H61 on reading formula in, to give:
     %%%  H61:  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(ctx__1), [i___2]) and 
          element(fld_b(ctx__1), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H62 on reading formula in, to give:
     %%%  H62:  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(ctx__1), [i___1]) and 
          element(fld_x(ctx__1), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H80 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H81 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H82 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H83 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H86 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H87 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H88 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H89 has been replaced by "true".  (It is already present, as 
          H31).
%%%  Simplified H90 on reading formula in, to give:
     %%%  H90:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) >= 
          natural__first
%%%  Simplified H91 on reading formula in, to give:
     %%%  H91:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) <= 
          natural__last
%%%  Simplified H93 on reading formula in, to give:
     %%%  H93:  for_all(i___1 : integer, skein_512_block_bytes_index__first <= 
          i___1 and i___1 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(ctx__1), [i___1]) and 
          element(fld_b(ctx__1), [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H98 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H99 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H102 has been replaced by "true".  (It is already present, as 
          H59).
---  Hypothesis H103 has been replaced by "true".  (It is already present, as 
          H60).
%%%  Simplified H105 on reading formula in, to give:
     %%%  H105:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H106 on reading formula in, to give:
     %%%  H106:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H108 on reading formula in, to give:
     %%%  H108:  63 <= natural__last
%%%  Simplified H115 on reading formula in, to give:
     %%%  H115:  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(ctx__2), [i___2]) and 
          element(fld_b(ctx__2), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H116 on reading formula in, to give:
     %%%  H116:  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(ctx__2), [i___1]) and 
          element(fld_x(ctx__2), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H134 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H135 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H136 has been replaced by "true".  (It is already present, as 
          H84).
---  Hypothesis H137 has been replaced by "true".  (It is already present, as 
          H85).
---  Hypothesis H139 has been replaced by "true".  (It is already present, as 
          H84).
---  Hypothesis H140 has been replaced by "true".  (It is already present, as 
          H85).
---  Hypothesis H146 has been replaced by "true".  (It is already present, as 
          H90).
---  Hypothesis H147 has been replaced by "true".  (It is already present, as 
          H91).
---  Hypothesis H148 has been replaced by "true".  (It is already present, as 
          H141).
---  Hypothesis H149 has been replaced by "true".  (It is already present, as 
          H142).
---  Hypothesis H150 has been replaced by "true".  (It is already present, as 
          H94).
---  Hypothesis H151 has been replaced by "true".  (It is already present, as 
          H95).
---  Hypothesis H152 has been replaced by "true".  (It is already present, as 
          H141).
---  Hypothesis H153 has been replaced by "true".  (It is already present, as 
          H142).
---  Hypothesis H154 has been replaced by "true".  (It is already present, as 
          H90).
---  Hypothesis H155 has been replaced by "true".  (It is already present, as 
          H91).
%%%  Simplified H156 on reading formula in, to give:
     %%%  H156:  fld_hash_bit_len(fld_h(ctx__2)) >= 
          initialized_hash_bit_length__first
%%%  Simplified H157 on reading formula in, to give:
     %%%  H157:  fld_hash_bit_len(fld_h(ctx__2)) <= 
          initialized_hash_bit_length__last
%%%  Simplified H158 on reading formula in, to give:
     %%%  H158:  0 >= skein_512_block_bytes_count__first
%%%  Simplified H159 on reading formula in, to give:
     %%%  H159:  0 <= skein_512_block_bytes_count__last
---  Hypothesis H160 has been replaced by "true".  (It is already present, as 
          H5).
%%%  Simplified H161 on reading formula in, to give:
     %%%  H161:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) + ((
          msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) - 1) div skein_512_block_bytes_c - 1) * 
          skein_512_block_bytes_c + 63 <= msg__index__subtype__1__last
%%%  Simplified H162 on reading formula in, to give:
     %%%  H162:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) + 63 <= 
          msg__index__subtype__1__last
%%%  Simplified H164 on reading formula in, to give:
     %%%  H164:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) <= 
          natural__last - 63
%%%  Simplified H167 on reading formula in, to give:
     %%%  H167:  fld_hash_bit_len(fld_h(ctx__3)) = fld_hash_bit_len(fld_h(
          ctx__2))
%%%  Simplified H170 on reading formula in, to give:
     %%%  H170:  fld_byte_count(fld_h(ctx__3)) = 0
%%%  Simplified H171 on reading formula in, to give:
     %%%  H171:  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(ctx__3), [i___2]) and 
          element(fld_b(ctx__3), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H172 on reading formula in, to give:
     %%%  H172:  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(ctx__3), [i___1]) and 
          element(fld_x(ctx__3), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H190 has been replaced by "true".  (It is already present, as 
          H141).
---  Hypothesis H191 has been replaced by "true".  (It is already present, as 
          H142).
---  Hypothesis H195 has been replaced by "true".  (It is already present, as 
          H84).
---  Hypothesis H196 has been replaced by "true".  (It is already present, as 
          H85).
---  Hypothesis H197 has been replaced by "true".  (It is already present, as 
          H192).
---  Hypothesis H198 has been replaced by "true".  (It is already present, as 
          H193).
---  Hypothesis H201 has been replaced by "true".  (It is already present, as 
          H90).
---  Hypothesis H202 has been replaced by "true".  (It is already present, as 
          H91).
---  Hypothesis H203 has been replaced by "true".  (It is already present, as 
          H192).
---  Hypothesis H204 has been replaced by "true".  (It is already present, as 
          H193).
%%%  Simplified H205 on reading formula in, to give:
     %%%  H205:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) + (
          msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) - 1) div skein_512_block_bytes_c * 
          skein_512_block_bytes_c >= natural__first
%%%  Simplified H206 on reading formula in, to give:
     %%%  H206:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) + (
          msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) - 1) div skein_512_block_bytes_c * 
          skein_512_block_bytes_c <= natural__last
---  Hypothesis H207 has been replaced by "true".  (It is already present, as 
          H205).
---  Hypothesis H208 has been replaced by "true".  (It is already present, as 
          H206).
---  Hypothesis H209 has been replaced by "true".  (It is already present, as 
          H199).
---  Hypothesis H210 has been replaced by "true".  (It is already present, as 
          H200).
%%%  Simplified C3 on reading formula in, to give:
     %%%  C3:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) + (
          msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) - 1) div skein_512_block_bytes_c * 
          skein_512_block_bytes_c >= natural__first
%%%  Simplified C4 on reading formula in, to give:
     %%%  C4:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) + (
          msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) - 1) div skein_512_block_bytes_c * 
          skein_512_block_bytes_c <= natural__last
%%%  Simplified C7 on reading formula in, to give:
     %%%  C7:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) + (
          msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) - 1) div skein_512_block_bytes_c * 
          skein_512_block_bytes_c >= msg__index__subtype__1__first
%%%  Simplified C8 on reading formula in, to give:
     %%%  C8:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) + (
          msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) - 1) div skein_512_block_bytes_c * 
          skein_512_block_bytes_c <= msg__index__subtype__1__last
%%%  Simplified C9 on reading formula in, to give:
     %%%  C9:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) + (
          msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) - 1) div skein_512_block_bytes_c * 
          skein_512_block_bytes_c + (msg__index__subtype__1__last + 1 - (
          skein_512_block_bytes_c - fld_byte_count(fld_h(ctx))) - (
          msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) - 1) div skein_512_block_bytes_c * 
          skein_512_block_bytes_c - 1) <= msg__index__subtype__1__last
***  Proved C1:  msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) - (msg__index__subtype__1__last + 1 - (
          skein_512_block_bytes_c - fld_byte_count(fld_h(ctx))) - 1) div 
          skein_512_block_bytes_c * skein_512_block_bytes_c >= natural__first
     using hypothesis H199.
***  Proved C2:  msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) - (msg__index__subtype__1__last + 1 - (
          skein_512_block_bytes_c - fld_byte_count(fld_h(ctx))) - 1) div 
          skein_512_block_bytes_c * skein_512_block_bytes_c <= natural__last
     using hypothesis H200.
***  Proved C3:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) + (
          msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) - 1) div skein_512_block_bytes_c * 
          skein_512_block_bytes_c >= natural__first
     using hypothesis H205.
***  Proved C4:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) + (
          msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) - 1) div skein_512_block_bytes_c * 
          skein_512_block_bytes_c <= natural__last
     using hypothesis H206.
***  Proved C5:  fld_hash_bit_len(fld_h(ctx__3)) > 0
     using hypotheses H56, H111 & H167.
***  Proved C6:  msg__index__subtype__1__first = 0
     using hypothesis H5.
-S-  Applied substitution rule skein_512_up_rules(103).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H8:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> spark__unsigned__byte__first <= element(
          fld_b(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New H39:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) <= 63
<S>  New H55:  fld_byte_count(fld_h(ctx)) + (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx)) - 1) <= 63
<S>  New H61:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> spark__unsigned__byte__first <= element(
          fld_b(ctx__1), [i___2]) and element(fld_b(ctx__1), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New H93:  for_all(i___1 : integer, skein_512_block_bytes_index__first <= 
          i___1 and i___1 <= 63 -> spark__unsigned__byte__first <= element(
          fld_b(ctx__1), [i___1]) and element(fld_b(ctx__1), [i___1]) <= 
          spark__unsigned__byte__last)
<S>  New H105:  true
<S>  New H106:  true
<S>  New H107:  63 <= natural__last
<S>  New H115:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> spark__unsigned__byte__first <= element(
          fld_b(ctx__2), [i___2]) and element(fld_b(ctx__2), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New H171:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> spark__unsigned__byte__first <= element(
          fld_b(ctx__3), [i___2]) and element(fld_b(ctx__3), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New C10:  fld_byte_count(fld_h(ctx__3)) + (msg__index__subtype__1__last + 
          1 - (skein_512_block_bytes_c - fld_byte_count(fld_h(ctx))) - (
          msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) - 1) div skein_512_block_bytes_c * 
          skein_512_block_bytes_c - 1) <= 63
-S-  Applied substitution rule skein_512_up_rules(1).
     This was achieved by replacing all occurrences of skein_512_block_bytes_c 
          by:
          64.
<S>  New H7:  msg__index__subtype__1__last + 65 <= natural__last
<S>  New H36:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) > 
          64
<S>  New H38:  64 - fld_byte_count(fld_h(ctx)) >= 
          skein_512_block_bytes_index__first
<S>  New H39:  1 <= fld_byte_count(fld_h(ctx))
<S>  New H40:  64 - fld_byte_count(fld_h(ctx)) < msg__index__subtype__1__last + 
          1
<S>  New H41:  64 - fld_byte_count(fld_h(ctx)) <= msg__index__subtype__1__last 
          + 1
<S>  New H46:  64 - fld_byte_count(fld_h(ctx)) >= natural__first
<S>  New H47:  64 - fld_byte_count(fld_h(ctx)) <= natural__last
<S>  New H54:  64 - fld_byte_count(fld_h(ctx)) - 1 <= 
          msg__index__subtype__1__last
<S>  New H55:  fld_byte_count(fld_h(ctx)) + (64 - fld_byte_count(fld_h(ctx)) - 
          1) <= 63
<S>  New H58:  fld_byte_count(fld_h(ctx__1)) = fld_byte_count(fld_h(ctx)) + (64 
          - fld_byte_count(fld_h(ctx)))
<S>  New H84:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) >= natural__first
<S>  New H85:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) <= natural__last
<S>  New H90:  64 - fld_byte_count(fld_h(ctx)) >= natural__first
<S>  New H91:  64 - fld_byte_count(fld_h(ctx)) <= natural__last
<S>  New H92:  fld_byte_count(fld_h(ctx__1)) = 64
<S>  New H94:  64 >= natural__first
<S>  New H95:  64 <= natural__last
<S>  New H138:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) > 64
<S>  New H141:  (msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - 1) div 64 >= positive_block_512_count_t__first
<S>  New H142:  (msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - 1) div 64 <= positive_block_512_count_t__last
<S>  New H143:  true
<S>  New H144:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - 1 >= integer__base__first
<S>  New H145:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - 1 <= integer__base__last
<S>  New H161:  64 - fld_byte_count(fld_h(ctx)) + ((
          msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(ctx))) 
          - 1) div 64 - 1) * 64 + 63 <= msg__index__subtype__1__last
<S>  New H162:  64 - fld_byte_count(fld_h(ctx)) + 63 <= 
          msg__index__subtype__1__last
<S>  New H164:  64 - fld_byte_count(fld_h(ctx)) <= natural__last - 63
<S>  New H192:  (msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - 1) div 64 * 64 >= natural__first
<S>  New H193:  (msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - 1) div 64 * 64 <= natural__last
<S>  New H194:  (msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - 1) div 64 * 64 < msg__index__subtype__1__last + 1 - (64 - 
          fld_byte_count(fld_h(ctx)))
<S>  New H199:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - (msg__index__subtype__1__last + 1 - (64 - fld_byte_count(
          fld_h(ctx))) - 1) div 64 * 64 >= natural__first
<S>  New H200:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - (msg__index__subtype__1__last + 1 - (64 - fld_byte_count(
          fld_h(ctx))) - 1) div 64 * 64 <= natural__last
<S>  New H205:  64 - fld_byte_count(fld_h(ctx)) + (msg__index__subtype__1__last 
          + 1 - (64 - fld_byte_count(fld_h(ctx))) - 1) div 64 * 64 >= 
          natural__first
<S>  New H206:  64 - fld_byte_count(fld_h(ctx)) + (msg__index__subtype__1__last 
          + 1 - (64 - fld_byte_count(fld_h(ctx))) - 1) div 64 * 64 <= 
          natural__last
<S>  New C7:  64 - fld_byte_count(fld_h(ctx)) + (msg__index__subtype__1__last + 
          1 - (64 - fld_byte_count(fld_h(ctx))) - 1) div 64 * 64 >= 
          msg__index__subtype__1__first
<S>  New C8:  64 - fld_byte_count(fld_h(ctx)) + (msg__index__subtype__1__last + 
          1 - (64 - fld_byte_count(fld_h(ctx))) - 1) div 64 * 64 <= 
          msg__index__subtype__1__last
<S>  New C9:  64 - fld_byte_count(fld_h(ctx)) + (msg__index__subtype__1__last + 
          1 - (64 - fld_byte_count(fld_h(ctx))) - 1) div 64 * 64 + (
          msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(ctx))) 
          - (msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(ctx))
          ) - 1) div 64 * 64 - 1) <= msg__index__subtype__1__last
<S>  New C10:  fld_byte_count(fld_h(ctx__3)) + (msg__index__subtype__1__last + 
          1 - (64 - fld_byte_count(fld_h(ctx))) - (msg__index__subtype__1__last 
          + 1 - (64 - fld_byte_count(fld_h(ctx))) - 1) div 64 * 64 - 1) <= 63
-S-  Applied substitution rule skein_512_up_rules(5).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H34:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) >= 
          - 2147483648
<S>  New H144:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) >= - 2147483647
-S-  Applied substitution rule skein_512_up_rules(6).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H35:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) <= 
          2147483647
<S>  New H145:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) <= 2147483648
-S-  Applied substitution rule skein_512_up_rules(8).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H10:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H28:  msg__index__subtype__1__last >= - 1
<S>  New H30:  true
<S>  New H63:  fld_byte_count(fld_h(ctx__1)) >= 0
<S>  New H117:  fld_byte_count(fld_h(ctx__2)) >= 0
<S>  New H173:  fld_byte_count(fld_h(ctx__3)) >= 0
<S>  New H46:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New H84:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) >= 0
<S>  New H90:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New H94:  true
<S>  New H192:  (msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - 1) div 64 * 64 >= 0
<S>  New H199:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - (msg__index__subtype__1__last + 1 - (64 - fld_byte_count(
          fld_h(ctx))) - 1) div 64 * 64 >= 0
<S>  New H205:  64 - fld_byte_count(fld_h(ctx)) + (msg__index__subtype__1__last 
          + 1 - (64 - fld_byte_count(fld_h(ctx))) - 1) div 64 * 64 >= 0
-S-  Applied substitution rule skein_512_up_rules(9).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H6:  msg__index__subtype__1__last < 2147483647
<S>  New H11:  fld_byte_count(fld_h(ctx)) <= 2147483647
<S>  New H29:  msg__index__subtype__1__last <= 2147483646
<S>  New H31:  true
<S>  New H64:  fld_byte_count(fld_h(ctx__1)) <= 2147483647
<S>  New H107:  true
<S>  New H108:  true
<S>  New H118:  fld_byte_count(fld_h(ctx__2)) <= 2147483647
<S>  New H163:  msg__index__subtype__1__last <= 2147483647
<S>  New H174:  fld_byte_count(fld_h(ctx__3)) <= 2147483647
<S>  New H7:  msg__index__subtype__1__last <= 2147483582
<S>  New H47:  - 2147483583 <= fld_byte_count(fld_h(ctx))
<S>  New H85:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) <= 2147483647
<S>  New H91:  - 2147483583 <= fld_byte_count(fld_h(ctx))
<S>  New H95:  true
<S>  New H164:  - 2147483520 <= fld_byte_count(fld_h(ctx))
<S>  New H193:  (msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - 1) div 64 * 64 <= 2147483647
<S>  New H200:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - (msg__index__subtype__1__last + 1 - (64 - fld_byte_count(
          fld_h(ctx))) - 1) div 64 * 64 <= 2147483647
<S>  New H206:  64 - fld_byte_count(fld_h(ctx)) + (msg__index__subtype__1__last 
          + 1 - (64 - fld_byte_count(fld_h(ctx))) - 1) div 64 * 64 <= 2147483647
-S-  Applied substitution rule skein_512_up_rules(41).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H16:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H69:  fld_field_type(fld_tweak_words(fld_h(ctx__1))) >= 0
<S>  New H123:  fld_field_type(fld_tweak_words(fld_h(ctx__2))) >= 0
<S>  New H179:  fld_field_type(fld_tweak_words(fld_h(ctx__3))) >= 0
-S-  Applied substitution rule skein_512_up_rules(42).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H17:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 63
<S>  New H70:  fld_field_type(fld_tweak_words(fld_h(ctx__1))) <= 63
<S>  New H124:  fld_field_type(fld_tweak_words(fld_h(ctx__2))) <= 63
<S>  New H180:  fld_field_type(fld_tweak_words(fld_h(ctx__3))) <= 63
-S-  Applied substitution rule skein_512_up_rules(47).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H19:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H72:  fld_tree_level(fld_tweak_words(fld_h(ctx__1))) >= 0
<S>  New H126:  fld_tree_level(fld_tweak_words(fld_h(ctx__2))) >= 0
<S>  New H182:  fld_tree_level(fld_tweak_words(fld_h(ctx__3))) >= 0
-S-  Applied substitution rule skein_512_up_rules(48).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H20:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 127
<S>  New H73:  fld_tree_level(fld_tweak_words(fld_h(ctx__1))) <= 127
<S>  New H127:  fld_tree_level(fld_tweak_words(fld_h(ctx__2))) <= 127
<S>  New H183:  fld_tree_level(fld_tweak_words(fld_h(ctx__3))) <= 127
-S-  Applied substitution rule skein_512_up_rules(53).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H8:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> 0 <= element(fld_b(ctx), [i___2]) and 
          element(fld_b(ctx), [i___2]) <= spark__unsigned__byte__last)
<S>  New H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 0 <= element(msg, [i___1]
          ) and element(msg, [i___1]) <= spark__unsigned__byte__last)
<S>  New H61:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> 0 <= element(fld_b(ctx__1), [i___2]) and 
          element(fld_b(ctx__1), [i___2]) <= spark__unsigned__byte__last)
<S>  New H93:  for_all(i___1 : integer, skein_512_block_bytes_index__first <= 
          i___1 and i___1 <= 63 -> 0 <= element(fld_b(ctx__1), [i___1]) and 
          element(fld_b(ctx__1), [i___1]) <= spark__unsigned__byte__last)
<S>  New H115:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> 0 <= element(fld_b(ctx__2), [i___2]) and 
          element(fld_b(ctx__2), [i___2]) <= spark__unsigned__byte__last)
<S>  New H171:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> 0 <= element(fld_b(ctx__3), [i___2]) and 
          element(fld_b(ctx__3), [i___2]) <= spark__unsigned__byte__last)
-S-  Applied substitution rule skein_512_up_rules(54).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H8:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> 0 <= element(fld_b(ctx), [i___2]) and 
          element(fld_b(ctx), [i___2]) <= 255)
<S>  New H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 0 <= element(msg, [i___1]
          ) and element(msg, [i___1]) <= 255)
<S>  New H61:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> 0 <= element(fld_b(ctx__1), [i___2]) and 
          element(fld_b(ctx__1), [i___2]) <= 255)
<S>  New H93:  for_all(i___1 : integer, skein_512_block_bytes_index__first <= 
          i___1 and i___1 <= 63 -> 0 <= element(fld_b(ctx__1), [i___1]) and 
          element(fld_b(ctx__1), [i___1]) <= 255)
<S>  New H115:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> 0 <= element(fld_b(ctx__2), [i___2]) and 
          element(fld_b(ctx__2), [i___2]) <= 255)
<S>  New H171:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> 0 <= element(fld_b(ctx__3), [i___2]) and 
          element(fld_b(ctx__3), [i___2]) <= 255)
-S-  Applied substitution rule skein_512_up_rules(59).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H21:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H74:  fld_reserved(fld_tweak_words(fld_h(ctx__1))) >= 0
<S>  New H128:  fld_reserved(fld_tweak_words(fld_h(ctx__2))) >= 0
<S>  New H184:  fld_reserved(fld_tweak_words(fld_h(ctx__3))) >= 0
-S-  Applied substitution rule skein_512_up_rules(60).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H22:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 65535
<S>  New H75:  fld_reserved(fld_tweak_words(fld_h(ctx__1))) <= 65535
<S>  New H129:  fld_reserved(fld_tweak_words(fld_h(ctx__2))) <= 65535
<S>  New H185:  fld_reserved(fld_tweak_words(fld_h(ctx__3))) <= 65535
-S-  Applied substitution rule skein_512_up_rules(65).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H23:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H76:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx__1))) >= 0
<S>  New H130:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx__2))) >= 0
<S>  New H186:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx__3))) >= 0
-S-  Applied substitution rule skein_512_up_rules(66).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H24:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 4294967295
<S>  New H77:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx__1))) <= 4294967295
<S>  New H131:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx__2))) <= 4294967295
<S>  New H187:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx__3))) <= 4294967295
-S-  Applied substitution rule skein_512_up_rules(71).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H9:  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(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H25:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H62:  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(ctx__1), [i___1]) and element(fld_x(ctx__1), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H78:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx__1))) >= 0
<S>  New H116:  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(ctx__2), [i___1]) and element(fld_x(ctx__2), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H132:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx__2))) >= 0
<S>  New H172:  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(ctx__3), [i___1]) and element(fld_x(ctx__3), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H188:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx__3))) >= 0
-S-  Applied substitution rule skein_512_up_rules(72).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H26:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          18446744073709551615
<S>  New H79:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx__1))) <= 
          18446744073709551615
<S>  New H133:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx__2))) <= 
          18446744073709551615
<S>  New H189:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx__3))) <= 
          18446744073709551615
<S>  New H9:  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(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          18446744073709551615)
<S>  New H62:  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(ctx__1), [i___1]) and element(fld_x(ctx__1), [i___1]) <= 
          18446744073709551615)
<S>  New H116:  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(ctx__2), [i___1]) and element(fld_x(ctx__2), [i___1]) <= 
          18446744073709551615)
<S>  New H172:  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(ctx__3), [i___1]) and element(fld_x(ctx__3), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(82).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H12:  fld_hash_bit_len(fld_h(ctx)) >= 0
<S>  New H65:  fld_hash_bit_len(fld_h(ctx__1)) >= 0
<S>  New H119:  fld_hash_bit_len(fld_h(ctx__2)) >= 0
<S>  New H175:  fld_hash_bit_len(fld_h(ctx__3)) >= 0
-S-  Applied substitution rule skein_512_up_rules(83).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H13:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H66:  fld_hash_bit_len(fld_h(ctx__1)) <= 2147483640
<S>  New H120:  fld_hash_bit_len(fld_h(ctx__2)) <= 2147483640
<S>  New H176:  fld_hash_bit_len(fld_h(ctx__3)) <= 2147483640
-S-  Applied substitution rule skein_512_up_rules(87).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__first by:
          1.
<S>  New H1:  fld_hash_bit_len(fld_h(ctx)) >= 1
<S>  New H100:  fld_hash_bit_len(fld_h(ctx__1)) >= 1
<S>  New H109:  fld_hash_bit_len(fld_h(ctx__2)) >= 1
<S>  New H156:  fld_hash_bit_len(fld_h(ctx__2)) >= 1
<S>  New H165:  fld_hash_bit_len(fld_h(ctx__3)) >= 1
-S-  Applied substitution rule skein_512_up_rules(88).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__last by:
          2147483640.
<S>  New H2:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H101:  fld_hash_bit_len(fld_h(ctx__1)) <= 2147483640
<S>  New H110:  fld_hash_bit_len(fld_h(ctx__2)) <= 2147483640
<S>  New H157:  fld_hash_bit_len(fld_h(ctx__2)) <= 2147483640
<S>  New H166:  fld_hash_bit_len(fld_h(ctx__3)) <= 2147483640
-S-  Applied substitution rule skein_512_up_rules(92).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H9:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(ctx), [i___1])
           and element(fld_x(ctx), [i___1]) <= 18446744073709551615)
<S>  New H62:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(ctx__1), [
          i___1]) and element(fld_x(ctx__1), [i___1]) <= 18446744073709551615)
<S>  New H116:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(ctx__2), [
          i___1]) and element(fld_x(ctx__2), [i___1]) <= 18446744073709551615)
<S>  New H172:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(ctx__3), [
          i___1]) and element(fld_x(ctx__3), [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(93).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H9:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          18446744073709551615)
<S>  New H62:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(ctx__1), [i___1]) and element(fld_x(ctx__1), [i___1]) 
          <= 18446744073709551615)
<S>  New H116:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(ctx__2), [i___1]) and element(fld_x(ctx__2), [i___1]) 
          <= 18446744073709551615)
<S>  New H172:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(ctx__3), [i___1]) and element(fld_x(ctx__3), [i___1]) 
          <= 18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(97).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__first by:
          0.
<S>  New H3:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H59:  fld_byte_count(fld_h(ctx__1)) >= 0
<S>  New H112:  fld_byte_count(fld_h(ctx__2)) >= 0
<S>  New H158:  true
<S>  New H168:  fld_byte_count(fld_h(ctx__3)) >= 0
-S-  Applied substitution rule skein_512_up_rules(98).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__last by:
          64.
<S>  New H4:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New H60:  fld_byte_count(fld_h(ctx__1)) <= 64
<S>  New H113:  fld_byte_count(fld_h(ctx__2)) <= 64
<S>  New H159:  true
<S>  New H169:  fld_byte_count(fld_h(ctx__3)) <= 64
-S-  Applied substitution rule skein_512_up_rules(102).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H104:  true
<S>  New H38:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New H8:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 255)
<S>  New H61:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(ctx__1), [i___2]) and element(fld_b(ctx__1), [i___2]) 
          <= 255)
<S>  New H93:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 63 -> 0 <= 
          element(fld_b(ctx__1), [i___1]) and element(fld_b(ctx__1), [i___1]) 
          <= 255)
<S>  New H115:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(ctx__2), [i___2]) and element(fld_b(ctx__2), [i___2]) 
          <= 255)
<S>  New H171:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(ctx__3), [i___2]) and element(fld_b(ctx__3), [i___2]) 
          <= 255)
-S-  Applied substitution rule skein_512_up_rules(107).
     This was achieved by replacing all occurrences of 
          positive_block_512_count_t__first by:
          1.
<S>  New H96:  true
<S>  New H141:  (msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - 1) div 64 >= 1
-S-  Applied substitution rule skein_512_up_rules(108).
     This was achieved by replacing all occurrences of 
          positive_block_512_count_t__last by:
          33554431.
<S>  New H97:  true
<S>  New H142:  (msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) - 1) div 64 <= 33554431
***  Proved C7:  64 - fld_byte_count(fld_h(ctx)) + (
          msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(ctx))) 
          - 1) div 64 * 64 >= msg__index__subtype__1__first
     using hypotheses H46, H52 & H192.
***  Proved C8:  64 - fld_byte_count(fld_h(ctx)) + (
          msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(ctx))) 
          - 1) div 64 * 64 <= msg__index__subtype__1__last
     via its standard form, which is:
     Std.Fm C8:  msg__index__subtype__1__last + 64 * ((64 - (
          msg__index__subtype__1__last + fld_byte_count(fld_h(ctx)))) div 64) + 
          fld_byte_count(fld_h(ctx)) > 63
     using hypothesis H194.
---  Eliminated hypothesis H14 (true-hypothesis).
---  Eliminated hypothesis H15 (true-hypothesis).
---  Eliminated hypothesis H18 (true-hypothesis).
---  Eliminated hypothesis H32 (true-hypothesis).
---  Eliminated hypothesis H33 (true-hypothesis).
---  Eliminated hypothesis H42 (true-hypothesis).
---  Eliminated hypothesis H43 (true-hypothesis).
---  Eliminated hypothesis H44 (true-hypothesis).
---  Eliminated hypothesis H45 (true-hypothesis).
---  Eliminated hypothesis H48 (true-hypothesis).
---  Eliminated hypothesis H49 (true-hypothesis).
---  Eliminated hypothesis H51 (true-hypothesis).
---  Eliminated hypothesis H67 (true-hypothesis).
---  Eliminated hypothesis H68 (true-hypothesis).
---  Eliminated hypothesis H71 (true-hypothesis).
---  Eliminated hypothesis H80 (true-hypothesis).
---  Eliminated hypothesis H81 (true-hypothesis).
---  Eliminated hypothesis H82 (true-hypothesis).
---  Eliminated hypothesis H83 (true-hypothesis).
---  Eliminated hypothesis H86 (true-hypothesis).
---  Eliminated hypothesis H87 (true-hypothesis).
---  Eliminated hypothesis H88 (true-hypothesis).
---  Eliminated hypothesis H89 (true-hypothesis).
---  Eliminated hypothesis H98 (true-hypothesis).
---  Eliminated hypothesis H99 (true-hypothesis).
---  Eliminated hypothesis H102 (true-hypothesis).
---  Eliminated hypothesis H103 (true-hypothesis).
---  Eliminated hypothesis H105 (true-hypothesis).
---  Eliminated hypothesis H106 (true-hypothesis).
---  Eliminated hypothesis H121 (true-hypothesis).
---  Eliminated hypothesis H122 (true-hypothesis).
---  Eliminated hypothesis H125 (true-hypothesis).
---  Eliminated hypothesis H134 (true-hypothesis).
---  Eliminated hypothesis H135 (true-hypothesis).
---  Eliminated hypothesis H136 (true-hypothesis).
---  Eliminated hypothesis H137 (true-hypothesis).
---  Eliminated hypothesis H139 (true-hypothesis).
---  Eliminated hypothesis H140 (true-hypothesis).
---  Eliminated hypothesis H146 (true-hypothesis).
---  Eliminated hypothesis H147 (true-hypothesis).
---  Eliminated hypothesis H148 (true-hypothesis).
---  Eliminated hypothesis H149 (true-hypothesis).
---  Eliminated hypothesis H150 (true-hypothesis).
---  Eliminated hypothesis H151 (true-hypothesis).
---  Eliminated hypothesis H152 (true-hypothesis).
---  Eliminated hypothesis H153 (true-hypothesis).
---  Eliminated hypothesis H154 (true-hypothesis).
---  Eliminated hypothesis H155 (true-hypothesis).
---  Eliminated hypothesis H160 (true-hypothesis).
---  Eliminated hypothesis H177 (true-hypothesis).
---  Eliminated hypothesis H178 (true-hypothesis).
---  Eliminated hypothesis H181 (true-hypothesis).
---  Eliminated hypothesis H190 (true-hypothesis).
---  Eliminated hypothesis H191 (true-hypothesis).
---  Eliminated hypothesis H195 (true-hypothesis).
---  Eliminated hypothesis H196 (true-hypothesis).
---  Eliminated hypothesis H197 (true-hypothesis).
---  Eliminated hypothesis H198 (true-hypothesis).
---  Eliminated hypothesis H201 (true-hypothesis).
---  Eliminated hypothesis H202 (true-hypothesis).
---  Eliminated hypothesis H203 (true-hypothesis).
---  Eliminated hypothesis H204 (true-hypothesis).
---  Eliminated hypothesis H207 (true-hypothesis).
---  Eliminated hypothesis H208 (true-hypothesis).
---  Eliminated hypothesis H209 (true-hypothesis).
---  Eliminated hypothesis H210 (true-hypothesis).
---  Eliminated hypothesis H143 (true-hypothesis).
---  Eliminated hypothesis H30 (true-hypothesis).
---  Eliminated hypothesis H94 (true-hypothesis).
---  Eliminated hypothesis H31 (true-hypothesis).
---  Eliminated hypothesis H107 (true-hypothesis).
---  Eliminated hypothesis H108 (true-hypothesis).
---  Eliminated hypothesis H95 (true-hypothesis).
---  Eliminated hypothesis H158 (true-hypothesis).
---  Eliminated hypothesis H159 (true-hypothesis).
---  Eliminated hypothesis H104 (true-hypothesis).
---  Eliminated hypothesis H96 (true-hypothesis).
---  Eliminated hypothesis H97 (true-hypothesis).
---  Eliminated hypothesis H55 (true-hypothesis).
---  Eliminated hypothesis H39 (duplicate of H37).
---  Eliminated hypothesis H100 (duplicate of H56).
---  Eliminated hypothesis H90 (duplicate of H46).
---  Eliminated hypothesis H91 (duplicate of H47).
---  Eliminated hypothesis H101 (duplicate of H66).
---  Eliminated hypothesis H157 (duplicate of H120).
---  Eliminated hypothesis H156 (duplicate of H109).
---  Eliminated hypothesis H13 (duplicate of H2).
---  Eliminated hypothesis H120 (duplicate of H110).
---  Eliminated hypothesis H176 (duplicate of H166).
---  Eliminated hypothesis H10 (duplicate of H3).
---  Eliminated hypothesis H63 (duplicate of H59).
---  Eliminated hypothesis H117 (duplicate of H112).
---  Eliminated hypothesis H173 (duplicate of H168).
---  Eliminated hypothesis H46 (duplicate of H4).
---  Eliminated hypothesis H38 (duplicate of H4).
---  Eliminated hypothesis H50 (duplicate of H1).
---  Eliminated hypothesis H29 (duplicate of H6).
---  Eliminated hypothesis H40 (duplicate of H36).
---  Eliminated hypothesis H54 (duplicate of H41).
---  Eliminated hypothesis H84 (duplicate of H41).
---  Eliminated hypothesis H92 (duplicate of H58).
---  Eliminated hypothesis H199 (duplicate of H161).
---  Eliminated hypothesis H3 (redundant, given H37).
---  Eliminated hypothesis H6 (redundant, given H7).
---  Eliminated hypothesis H11 (redundant, given H4).
---  Eliminated hypothesis H12 (redundant, given H1).
---  Eliminated hypothesis H28 (redundant, given H53).
---  Eliminated hypothesis H34 (redundant, given H36).
---  Eliminated hypothesis H36 (redundant, given H138).
---  Eliminated hypothesis H41 (redundant, given H138).
---  Eliminated hypothesis H47 (redundant, given H37).
---  Eliminated hypothesis H52 (redundant, given H5).
---  Eliminated hypothesis H53 (redundant, given H4 & H138).
---  Eliminated hypothesis H59 (redundant, given H58).
---  Eliminated hypothesis H60 (redundant, given H58).
---  Eliminated hypothesis H64 (redundant, given H58).
---  Eliminated hypothesis H65 (redundant, given H56).
---  Eliminated hypothesis H85 (redundant, given H35).
---  Eliminated hypothesis H118 (redundant, given H113).
---  Eliminated hypothesis H119 (redundant, given H109).
---  Eliminated hypothesis H142 (redundant, given H4 & H206).
---  Eliminated hypothesis H144 (redundant, given H138).
---  Eliminated hypothesis H145 (redundant, given H35).
---  Eliminated hypothesis H161 (redundant, given H194).
---  Eliminated hypothesis H162 (redundant, given H138).
---  Eliminated hypothesis H163 (redundant, given H7).
---  Eliminated hypothesis H164 (redundant, given H37).
---  Eliminated hypothesis H168 (redundant, given H170).
---  Eliminated hypothesis H169 (redundant, given H170).
---  Eliminated hypothesis H174 (redundant, given H170).
---  Eliminated hypothesis H175 (redundant, given H165).
---  Eliminated hypothesis H193 (redundant, given H4 & H206).
-S-  Substituted hypothesis H57.
     This was achieved by replacing all occurrences of fld_hash_bit_len(fld_h(
          ctx__1)) by:
          fld_hash_bit_len(fld_h(ctx)).
-S-  Substituted hypothesis H114.
     This was achieved by replacing all occurrences of fld_byte_count(fld_h(
          ctx__2)) by:
          fld_byte_count(fld_h(ctx__1)).
-S-  Substituted hypothesis H167.
     This was achieved by replacing all occurrences of fld_hash_bit_len(fld_h(
          ctx__3)) by:
          fld_hash_bit_len(fld_h(ctx__2)).
-S-  Substituted hypothesis H111.
     This was achieved by replacing all occurrences of fld_hash_bit_len(fld_h(
          ctx__2)) by:
          fld_hash_bit_len(fld_h(ctx)).
     +++  New H211:  integer__size >= 0
     +++  New H212:  natural__size >= 0
     +++  New H213:  spark__unsigned__u6__size >= 0
     +++  New H214:  spark__unsigned__u7__size >= 0
     +++  New H215:  spark__unsigned__byte__size >= 0
     +++  New H216:  spark__unsigned__u16__size >= 0
     +++  New H217:  spark__unsigned__u32__size >= 0
     +++  New H218:  spark__unsigned__u64__size >= 0
     +++  New H219:  spark__crypto__word_count_t__size >= 0
     +++  New H220:  hash_bit_length__size >= 0
     +++  New H221:  initialized_hash_bit_length__size >= 0
     +++  New H222:  skein_512_state_words_index__size >= 0
     +++  New H223:  skein_512_block_bytes_count__size >= 0
     +++  New H224:  skein_512_block_bytes_index__size >= 0
     +++  New H225:  positive_block_512_count_t__size >= 0
     +++  New H226:  skein_512_context__size >= 0
     +++  New H227:  msg__index__subtype__1__first <= 
          msg__index__subtype__1__last
     +++  New H228:  context_header__size >= 0
     +++  New H229:  msg__index__subtype__1__first >= 0
     +++  New H230:  msg__index__subtype__1__last >= 0
---  Attempted addition of new hypothesis:
          msg__index__subtype__1__last <= 2147483647
     eliminated: this already exists (as H163).
     +++  New H163:  msg__index__subtype__1__last <= 2147483647
     +++  New H231:  msg__index__subtype__1__first <= 2147483647


@@@@@@@@@@  VC: procedure_skein_512_update_26.  @@@@@@@@@@
%%%  Simplified H8 on reading formula in, to give:
     %%%  H8:  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(ctx), [i___2]) and 
          element(fld_b(ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  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(ctx), [i___1]) and 
          element(fld_x(ctx), [i___1]) <= spark__unsigned__u64__last)
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(msg, [i___1]) and element(
          msg, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H38 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H39 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H41 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H42 has been replaced by "true".  (It is already present, as 
          H29).
%%%  Simplified H43 on reading formula in, to give:
     %%%  H43:  msg__index__subtype__1__last div skein_512_block_bytes_c >= 
          positive_block_512_count_t__first
%%%  Simplified H44 on reading formula in, to give:
     %%%  H44:  msg__index__subtype__1__last div skein_512_block_bytes_c <= 
          positive_block_512_count_t__last
%%%  Simplified H46 on reading formula in, to give:
     %%%  H46:  msg__index__subtype__1__last >= integer__base__first
%%%  Simplified H47 on reading formula in, to give:
     %%%  H47:  msg__index__subtype__1__last <= integer__base__last
---  Hypothesis H48 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H49 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H50 has been replaced by "true".  (It is already present, as 
          H43).
---  Hypothesis H51 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H54 has been replaced by "true".  (It is already present, as 
          H43).
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H58 has been replaced by "true".  (It is already present, as H1)
          .
---  Hypothesis H59 has been replaced by "true".  (It is already present, as H2)
          .
---  Hypothesis H60 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H61 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H62 has been replaced by "true".  (It is already present, as H5)
          .
%%%  Simplified H63 on reading formula in, to give:
     %%%  H63:  (msg__index__subtype__1__last div skein_512_block_bytes_c - 1) 
          * skein_512_block_bytes_c + 63 <= msg__index__subtype__1__last
%%%  Simplified H64 on reading formula in, to give:
     %%%  H64:  63 <= msg__index__subtype__1__last
%%%  Simplified H66 on reading formula in, to give:
     %%%  H66:  63 <= natural__last
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  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(ctx__3), [i___2]) and 
          element(fld_b(ctx__3), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  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(ctx__3), [i___1]) and 
          element(fld_x(ctx__3), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H92 has been replaced by "true".  (It is already present, as 
          H43).
---  Hypothesis H93 has been replaced by "true".  (It is already present, as 
          H44).
%%%  Simplified H94 on reading formula in, to give:
     %%%  H94:  msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c >= natural__first
%%%  Simplified H95 on reading formula in, to give:
     %%%  H95:  msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c <= natural__last
%%%  Simplified H96 on reading formula in, to give:
     %%%  H96:  msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c < msg__index__subtype__1__last + 1
---  Hypothesis H97 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H98 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H99 has been replaced by "true".  (It is already present, as 
          H94).
---  Hypothesis H100 has been replaced by "true".  (It is already present, as 
          H95).
%%%  Simplified H101 on reading formula in, to give:
     %%%  H101:  msg__index__subtype__1__last + 1 - 
          msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c >= natural__first
%%%  Simplified H102 on reading formula in, to give:
     %%%  H102:  msg__index__subtype__1__last + 1 - 
          msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c <= natural__last
---  Hypothesis H103 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H104 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H105 has been replaced by "true".  (It is already present, as 
          H94).
---  Hypothesis H106 has been replaced by "true".  (It is already present, as 
          H95).
%%%  Simplified H107 on reading formula in, to give:
     %%%  H107:  msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c >= natural__first
%%%  Simplified H108 on reading formula in, to give:
     %%%  H108:  msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c <= natural__last
---  Hypothesis H109 has been replaced by "true".  (It is already present, as 
          H107).
---  Hypothesis H110 has been replaced by "true".  (It is already present, as 
          H108).
---  Hypothesis H111 has been replaced by "true".  (It is already present, as 
          H101).
---  Hypothesis H112 has been replaced by "true".  (It is already present, as 
          H102).
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  msg__index__subtype__1__last + 1 - msg__index__subtype__1__last 
          div skein_512_block_bytes_c * skein_512_block_bytes_c >= 
          natural__first
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  msg__index__subtype__1__last + 1 - msg__index__subtype__1__last 
          div skein_512_block_bytes_c * skein_512_block_bytes_c <= natural__last
%%%  Simplified C3 on reading formula in, to give:
     %%%  C3:  msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c >= natural__first
%%%  Simplified C4 on reading formula in, to give:
     %%%  C4:  msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c <= natural__last
%%%  Simplified C7 on reading formula in, to give:
     %%%  C7:  msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c >= msg__index__subtype__1__first
%%%  Simplified C8 on reading formula in, to give:
     %%%  C8:  msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c <= msg__index__subtype__1__last
%%%  Simplified C9 on reading formula in, to give:
     %%%  C9:  msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c + (msg__index__subtype__1__last + 1 - 
          msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c - 1) <= msg__index__subtype__1__last
%%%  Simplified C10 on reading formula in, to give:
     %%%  C10:  fld_byte_count(fld_h(ctx__3)) + (msg__index__subtype__1__last + 
          1 - msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c - 1) <= skein_512_block_bytes_index__last
***  Proved C1:  msg__index__subtype__1__last + 1 - 
          msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c >= natural__first
     using hypothesis H101.
***  Proved C2:  msg__index__subtype__1__last + 1 - 
          msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c <= natural__last
     using hypothesis H102.
***  Proved C3:  msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c >= natural__first
     using hypothesis H94.
***  Proved C4:  msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c <= natural__last
     using hypothesis H95.
***  Proved C6:  msg__index__subtype__1__first = 0
     using hypothesis H5.
-S-  Applied substitution rule skein_512_up_rules(103).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H8:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> spark__unsigned__byte__first <= element(
          fld_b(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New H73:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> spark__unsigned__byte__first <= element(
          fld_b(ctx__3), [i___2]) and element(fld_b(ctx__3), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New C10:  fld_byte_count(fld_h(ctx__3)) + (msg__index__subtype__1__last + 
          1 - msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c - 1) <= 63
>>>  Restructured hypothesis H37 into:
     >>>  H37:  fld_byte_count(fld_h(ctx)) <= 0
-S-  Applied substitution rule skein_512_up_rules(1).
     This was achieved by replacing all occurrences of skein_512_block_bytes_c 
          by:
          64.
<S>  New H7:  msg__index__subtype__1__last + 65 <= natural__last
<S>  New H36:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) > 
          64
<S>  New H40:  msg__index__subtype__1__last > 63
<S>  New H43:  msg__index__subtype__1__last div 64 >= 
          positive_block_512_count_t__first
<S>  New H44:  msg__index__subtype__1__last div 64 <= 
          positive_block_512_count_t__last
<S>  New H45:  true
<S>  New H52:  64 >= natural__first
<S>  New H53:  64 <= natural__last
<S>  New H63:  (msg__index__subtype__1__last div 64 - 1) * 64 + 63 <= 
          msg__index__subtype__1__last
<S>  New H94:  msg__index__subtype__1__last div 64 * 64 >= natural__first
<S>  New H95:  msg__index__subtype__1__last div 64 * 64 <= natural__last
<S>  New H96:  msg__index__subtype__1__last div 64 * 64 < 
          msg__index__subtype__1__last + 1
<S>  New H101:  msg__index__subtype__1__last + 1 - msg__index__subtype__1__last 
          div 64 * 64 >= natural__first
<S>  New H102:  msg__index__subtype__1__last + 1 - msg__index__subtype__1__last 
          div 64 * 64 <= natural__last
<S>  New H107:  msg__index__subtype__1__last div 64 * 64 >= natural__first
<S>  New H108:  msg__index__subtype__1__last div 64 * 64 <= natural__last
<S>  New C7:  msg__index__subtype__1__last div 64 * 64 >= 
          msg__index__subtype__1__first
<S>  New C8:  msg__index__subtype__1__last div 64 * 64 <= 
          msg__index__subtype__1__last
<S>  New C9:  msg__index__subtype__1__last div 64 * 64 + (
          msg__index__subtype__1__last + 1 - msg__index__subtype__1__last div 
          64 * 64 - 1) <= msg__index__subtype__1__last
<S>  New C10:  fld_byte_count(fld_h(ctx__3)) + (msg__index__subtype__1__last + 
          1 - msg__index__subtype__1__last div 64 * 64 - 1) <= 63
-S-  Applied substitution rule skein_512_up_rules(5).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H34:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) >= 
          - 2147483648
<S>  New H46:  msg__index__subtype__1__last >= - 2147483648
-S-  Applied substitution rule skein_512_up_rules(6).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H35:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) <= 
          2147483647
<S>  New H47:  msg__index__subtype__1__last <= 2147483647
-S-  Applied substitution rule skein_512_up_rules(8).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H10:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H28:  msg__index__subtype__1__last >= - 1
<S>  New H30:  true
<S>  New H75:  fld_byte_count(fld_h(ctx__3)) >= 0
<S>  New H52:  true
<S>  New H94:  msg__index__subtype__1__last div 64 * 64 >= 0
<S>  New H101:  msg__index__subtype__1__last + 1 - msg__index__subtype__1__last 
          div 64 * 64 >= 0
<S>  New H107:  msg__index__subtype__1__last div 64 * 64 >= 0
-S-  Applied substitution rule skein_512_up_rules(9).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H6:  msg__index__subtype__1__last < 2147483647
<S>  New H11:  fld_byte_count(fld_h(ctx)) <= 2147483647
<S>  New H29:  msg__index__subtype__1__last <= 2147483646
<S>  New H31:  true
<S>  New H65:  msg__index__subtype__1__last <= 2147483647
<S>  New H66:  true
<S>  New H76:  fld_byte_count(fld_h(ctx__3)) <= 2147483647
<S>  New H7:  msg__index__subtype__1__last <= 2147483582
<S>  New H53:  true
<S>  New H95:  msg__index__subtype__1__last div 64 * 64 <= 2147483647
<S>  New H102:  msg__index__subtype__1__last + 1 - msg__index__subtype__1__last 
          div 64 * 64 <= 2147483647
<S>  New H108:  msg__index__subtype__1__last div 64 * 64 <= 2147483647
-S-  Applied substitution rule skein_512_up_rules(41).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H16:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H81:  fld_field_type(fld_tweak_words(fld_h(ctx__3))) >= 0
-S-  Applied substitution rule skein_512_up_rules(42).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H17:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 63
<S>  New H82:  fld_field_type(fld_tweak_words(fld_h(ctx__3))) <= 63
-S-  Applied substitution rule skein_512_up_rules(47).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H19:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H84:  fld_tree_level(fld_tweak_words(fld_h(ctx__3))) >= 0
-S-  Applied substitution rule skein_512_up_rules(48).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H20:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 127
<S>  New H85:  fld_tree_level(fld_tweak_words(fld_h(ctx__3))) <= 127
-S-  Applied substitution rule skein_512_up_rules(53).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H8:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> 0 <= element(fld_b(ctx), [i___2]) and 
          element(fld_b(ctx), [i___2]) <= spark__unsigned__byte__last)
<S>  New H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 0 <= element(msg, [i___1]
          ) and element(msg, [i___1]) <= spark__unsigned__byte__last)
<S>  New H73:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> 0 <= element(fld_b(ctx__3), [i___2]) and 
          element(fld_b(ctx__3), [i___2]) <= spark__unsigned__byte__last)
-S-  Applied substitution rule skein_512_up_rules(54).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H8:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> 0 <= element(fld_b(ctx), [i___2]) and 
          element(fld_b(ctx), [i___2]) <= 255)
<S>  New H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 0 <= element(msg, [i___1]
          ) and element(msg, [i___1]) <= 255)
<S>  New H73:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> 0 <= element(fld_b(ctx__3), [i___2]) and 
          element(fld_b(ctx__3), [i___2]) <= 255)
-S-  Applied substitution rule skein_512_up_rules(59).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H21:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H86:  fld_reserved(fld_tweak_words(fld_h(ctx__3))) >= 0
-S-  Applied substitution rule skein_512_up_rules(60).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H22:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 65535
<S>  New H87:  fld_reserved(fld_tweak_words(fld_h(ctx__3))) <= 65535
-S-  Applied substitution rule skein_512_up_rules(65).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H23:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H88:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx__3))) >= 0
-S-  Applied substitution rule skein_512_up_rules(66).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H24:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 4294967295
<S>  New H89:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx__3))) <= 4294967295
-S-  Applied substitution rule skein_512_up_rules(71).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H9:  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(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H25:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H74:  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(ctx__3), [i___1]) and element(fld_x(ctx__3), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H90:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx__3))) >= 0
-S-  Applied substitution rule skein_512_up_rules(72).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H26:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          18446744073709551615
<S>  New H91:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx__3))) <= 
          18446744073709551615
<S>  New H9:  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(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          18446744073709551615)
<S>  New H74:  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(ctx__3), [i___1]) and element(fld_x(ctx__3), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(82).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H12:  fld_hash_bit_len(fld_h(ctx)) >= 0
<S>  New H77:  fld_hash_bit_len(fld_h(ctx__3)) >= 0
-S-  Applied substitution rule skein_512_up_rules(83).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H13:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H78:  fld_hash_bit_len(fld_h(ctx__3)) <= 2147483640
-S-  Applied substitution rule skein_512_up_rules(87).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__first by:
          1.
<S>  New H1:  fld_hash_bit_len(fld_h(ctx)) >= 1
<S>  New H67:  fld_hash_bit_len(fld_h(ctx__3)) >= 1
-S-  Applied substitution rule skein_512_up_rules(88).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__last by:
          2147483640.
<S>  New H2:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H68:  fld_hash_bit_len(fld_h(ctx__3)) <= 2147483640
-S-  Applied substitution rule skein_512_up_rules(92).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H9:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(ctx), [i___1])
           and element(fld_x(ctx), [i___1]) <= 18446744073709551615)
<S>  New H74:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(ctx__3), [
          i___1]) and element(fld_x(ctx__3), [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(93).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H9:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          18446744073709551615)
<S>  New H74:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(ctx__3), [i___1]) and element(fld_x(ctx__3), [i___1]) 
          <= 18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(97).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__first by:
          0.
<S>  New H3:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H70:  fld_byte_count(fld_h(ctx__3)) >= 0
-S-  Applied substitution rule skein_512_up_rules(98).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__last by:
          64.
<S>  New H4:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New H71:  fld_byte_count(fld_h(ctx__3)) <= 64
-S-  Applied substitution rule skein_512_up_rules(102).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H8:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 255)
<S>  New H73:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(ctx__3), [i___2]) and element(fld_b(ctx__3), [i___2]) 
          <= 255)
-S-  Applied substitution rule skein_512_up_rules(107).
     This was achieved by replacing all occurrences of 
          positive_block_512_count_t__first by:
          1.
<S>  New H43:  msg__index__subtype__1__last div 64 >= 1
-S-  Applied substitution rule skein_512_up_rules(108).
     This was achieved by replacing all occurrences of 
          positive_block_512_count_t__last by:
          33554431.
<S>  New H44:  msg__index__subtype__1__last div 64 <= 33554431
%%%  Hypotheses H37 & H10 together imply that
          fld_byte_count(fld_h(ctx)) = 0.
     H37 & H10 have therefore been deleted and a new H113 added to this effect.
***  Proved C5:  fld_hash_bit_len(fld_h(ctx__3)) > 0
     using hypothesis H67.
***  Proved C7:  msg__index__subtype__1__last div 64 * 64 >= 
          msg__index__subtype__1__first
     using hypotheses H5 & H43.
***  Proved C8:  msg__index__subtype__1__last div 64 * 64 <= 
          msg__index__subtype__1__last
     via its standard form, which is:
     Std.Fm C8:  msg__index__subtype__1__last - 64 * (
          msg__index__subtype__1__last div 64) > - 1
     using hypothesis H96.
***  Proved C9:  msg__index__subtype__1__last div 64 * 64 + (
          msg__index__subtype__1__last + 1 - msg__index__subtype__1__last div 
          64 * 64 - 1) <= msg__index__subtype__1__last
     via its standard form, which is:
     Std.Fm C9:  true
---  Eliminated hypothesis H14 (true-hypothesis).
---  Eliminated hypothesis H15 (true-hypothesis).
---  Eliminated hypothesis H18 (true-hypothesis).
---  Eliminated hypothesis H32 (true-hypothesis).
---  Eliminated hypothesis H33 (true-hypothesis).
---  Eliminated hypothesis H38 (true-hypothesis).
---  Eliminated hypothesis H39 (true-hypothesis).
---  Eliminated hypothesis H41 (true-hypothesis).
---  Eliminated hypothesis H42 (true-hypothesis).
---  Eliminated hypothesis H48 (true-hypothesis).
---  Eliminated hypothesis H49 (true-hypothesis).
---  Eliminated hypothesis H50 (true-hypothesis).
---  Eliminated hypothesis H51 (true-hypothesis).
---  Eliminated hypothesis H54 (true-hypothesis).
---  Eliminated hypothesis H55 (true-hypothesis).
---  Eliminated hypothesis H56 (true-hypothesis).
---  Eliminated hypothesis H57 (true-hypothesis).
---  Eliminated hypothesis H58 (true-hypothesis).
---  Eliminated hypothesis H59 (true-hypothesis).
---  Eliminated hypothesis H60 (true-hypothesis).
---  Eliminated hypothesis H61 (true-hypothesis).
---  Eliminated hypothesis H62 (true-hypothesis).
---  Eliminated hypothesis H79 (true-hypothesis).
---  Eliminated hypothesis H80 (true-hypothesis).
---  Eliminated hypothesis H83 (true-hypothesis).
---  Eliminated hypothesis H92 (true-hypothesis).
---  Eliminated hypothesis H93 (true-hypothesis).
---  Eliminated hypothesis H97 (true-hypothesis).
---  Eliminated hypothesis H98 (true-hypothesis).
---  Eliminated hypothesis H99 (true-hypothesis).
---  Eliminated hypothesis H100 (true-hypothesis).
---  Eliminated hypothesis H103 (true-hypothesis).
---  Eliminated hypothesis H104 (true-hypothesis).
---  Eliminated hypothesis H105 (true-hypothesis).
---  Eliminated hypothesis H106 (true-hypothesis).
---  Eliminated hypothesis H109 (true-hypothesis).
---  Eliminated hypothesis H110 (true-hypothesis).
---  Eliminated hypothesis H111 (true-hypothesis).
---  Eliminated hypothesis H112 (true-hypothesis).
---  Eliminated hypothesis H45 (true-hypothesis).
---  Eliminated hypothesis H30 (true-hypothesis).
---  Eliminated hypothesis H52 (true-hypothesis).
---  Eliminated hypothesis H31 (true-hypothesis).
---  Eliminated hypothesis H66 (true-hypothesis).
---  Eliminated hypothesis H53 (true-hypothesis).
---  Eliminated hypothesis H65 (duplicate of H47).
---  Eliminated hypothesis H107 (duplicate of H94).
---  Eliminated hypothesis H108 (duplicate of H95).
---  Eliminated hypothesis H13 (duplicate of H2).
---  Eliminated hypothesis H78 (duplicate of H68).
---  Eliminated hypothesis H75 (duplicate of H70).
---  Eliminated hypothesis H29 (duplicate of H6).
---  Eliminated hypothesis H101 (duplicate of H63).
---  Eliminated hypothesis H3 (redundant, given H113).
---  Eliminated hypothesis H4 (redundant, given H113).
---  Eliminated hypothesis H6 (redundant, given H7).
---  Eliminated hypothesis H11 (redundant, given H113).
---  Eliminated hypothesis H12 (redundant, given H1).
---  Eliminated hypothesis H28 (redundant, given H40).
---  Eliminated hypothesis H34 (redundant, given H36).
---  Eliminated hypothesis H44 (redundant, given H95).
---  Eliminated hypothesis H46 (redundant, given H40).
---  Eliminated hypothesis H47 (redundant, given H7).
---  Eliminated hypothesis H63 (redundant, given H96).
---  Eliminated hypothesis H64 (redundant, given H40).
---  Eliminated hypothesis H76 (redundant, given H71).
---  Eliminated hypothesis H77 (redundant, given H67).
---  Eliminated hypothesis H94 (redundant, given H43).
---  Eliminated hypothesis H95 (redundant, given H7 & H96).
-S-  Substituted hypothesis H69.
     This was achieved by replacing all occurrences of fld_hash_bit_len(fld_h(
          ctx__3)) by:
          fld_hash_bit_len(fld_h(ctx)).
-S-  Substituted hypothesis H72.
     This was achieved by replacing all occurrences of fld_byte_count(fld_h(
          ctx__3)) by:
          fld_byte_count(fld_h(ctx)).
***  Proved C10:  fld_byte_count(fld_h(ctx)) + (msg__index__subtype__1__last + 
          1 - msg__index__subtype__1__last div 64 * 64 - 1) <= 63
     via its standard form, which is:
     Std.Fm C10:  msg__index__subtype__1__last - 64 * (
          msg__index__subtype__1__last div 64) + fld_byte_count(fld_h(ctx)) <= 
          63
     using hypotheses H40 & H113.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_update_27.  @@@@@@@@@@
%%%  Simplified H8 on reading formula in, to give:
     %%%  H8:  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(ctx), [i___2]) and 
          element(fld_b(ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  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(ctx), [i___1]) and 
          element(fld_x(ctx), [i___1]) <= spark__unsigned__u64__last)
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(msg, [i___1]) and element(
          msg, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H42 has been replaced by "true".  (It is already present, as 
          H30).
---  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 
          H38).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H48 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H49 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H51 has been replaced by "true".  (It is already present, as H5)
          .
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) - 1 <= 
          msg__index__subtype__1__last
%%%  Simplified H61 on reading formula in, to give:
     %%%  H61:  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(ctx__1), [i___2]) and 
          element(fld_b(ctx__1), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H62 on reading formula in, to give:
     %%%  H62:  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(ctx__1), [i___1]) and 
          element(fld_x(ctx__1), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H80 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H81 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H82 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H83 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H86 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H87 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H88 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H89 has been replaced by "true".  (It is already present, as 
          H31).
%%%  Simplified H90 on reading formula in, to give:
     %%%  H90:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) >= 
          natural__first
%%%  Simplified H91 on reading formula in, to give:
     %%%  H91:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) <= 
          natural__last
%%%  Simplified H93 on reading formula in, to give:
     %%%  H93:  for_all(i___1 : integer, skein_512_block_bytes_index__first <= 
          i___1 and i___1 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(ctx__1), [i___1]) and 
          element(fld_b(ctx__1), [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H98 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H99 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H102 has been replaced by "true".  (It is already present, as 
          H59).
---  Hypothesis H103 has been replaced by "true".  (It is already present, as 
          H60).
%%%  Simplified H105 on reading formula in, to give:
     %%%  H105:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H106 on reading formula in, to give:
     %%%  H106:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H108 on reading formula in, to give:
     %%%  H108:  63 <= natural__last
%%%  Simplified H115 on reading formula in, to give:
     %%%  H115:  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(ctx__2), [i___2]) and 
          element(fld_b(ctx__2), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H116 on reading formula in, to give:
     %%%  H116:  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(ctx__2), [i___1]) and 
          element(fld_x(ctx__2), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H134 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H135 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H136 has been replaced by "true".  (It is already present, as 
          H84).
---  Hypothesis H137 has been replaced by "true".  (It is already present, as 
          H85).
---  Hypothesis H139 has been replaced by "true".  (It is already present, as 
          H90).
---  Hypothesis H140 has been replaced by "true".  (It is already present, as 
          H91).
---  Hypothesis H141 has been replaced by "true".  (It is already present, as 
          H84).
---  Hypothesis H142 has been replaced by "true".  (It is already present, as 
          H85).
%%%  Simplified C3 on reading formula in, to give:
     %%%  C3:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) >= 
          natural__first
%%%  Simplified C4 on reading formula in, to give:
     %%%  C4:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) <= 
          natural__last
%%%  Simplified C5 on reading formula in, to give:
     %%%  C5:  fld_hash_bit_len(fld_h(ctx__2)) > 0
%%%  Simplified C7 on reading formula in, to give:
     %%%  C7:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) >= 
          msg__index__subtype__1__first
%%%  Simplified C8 on reading formula in, to give:
     %%%  C8:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) <= 
          msg__index__subtype__1__last
%%%  Simplified C9 on reading formula in, to give:
     %%%  C9:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) + (
          msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) - 1) <= msg__index__subtype__1__last
%%%  Simplified C10 on reading formula in, to give:
     %%%  C10:  msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) - 1 <= skein_512_block_bytes_index__last
***  Proved C1:  msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) >= natural__first
     using hypothesis H84.
***  Proved C2:  msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) <= natural__last
     using hypothesis H85.
***  Proved C3:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) >= 
          natural__first
     using hypothesis H46.
***  Proved C4:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) <= 
          natural__last
     using hypothesis H47.
***  Proved C5:  fld_hash_bit_len(fld_h(ctx__2)) > 0
     using hypotheses H56 & H111.
***  Proved C6:  msg__index__subtype__1__first = 0
     using hypothesis H5.
***  Proved C7:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) >= 
          msg__index__subtype__1__first
     using hypotheses H38, H52 & H104.
-S-  Applied substitution rule skein_512_up_rules(103).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H8:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> spark__unsigned__byte__first <= element(
          fld_b(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New H39:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) <= 63
<S>  New H55:  fld_byte_count(fld_h(ctx)) + (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx)) - 1) <= 63
<S>  New H61:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> spark__unsigned__byte__first <= element(
          fld_b(ctx__1), [i___2]) and element(fld_b(ctx__1), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New H93:  for_all(i___1 : integer, skein_512_block_bytes_index__first <= 
          i___1 and i___1 <= 63 -> spark__unsigned__byte__first <= element(
          fld_b(ctx__1), [i___1]) and element(fld_b(ctx__1), [i___1]) <= 
          spark__unsigned__byte__last)
<S>  New H105:  true
<S>  New H106:  true
<S>  New H107:  63 <= natural__last
<S>  New H115:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> spark__unsigned__byte__first <= element(
          fld_b(ctx__2), [i___2]) and element(fld_b(ctx__2), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New C10:  msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) <= 64
>>>  Restructured hypothesis H138 into:
     >>>  H138:  msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) <= skein_512_block_bytes_c
-S-  Applied substitution rule skein_512_up_rules(1).
     This was achieved by replacing all occurrences of skein_512_block_bytes_c 
          by:
          64.
<S>  New H7:  msg__index__subtype__1__last + 65 <= natural__last
<S>  New H36:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) > 
          64
<S>  New H38:  64 - fld_byte_count(fld_h(ctx)) >= 
          skein_512_block_bytes_index__first
<S>  New H39:  1 <= fld_byte_count(fld_h(ctx))
<S>  New H40:  64 - fld_byte_count(fld_h(ctx)) < msg__index__subtype__1__last + 
          1
<S>  New H41:  64 - fld_byte_count(fld_h(ctx)) <= msg__index__subtype__1__last 
          + 1
<S>  New H46:  64 - fld_byte_count(fld_h(ctx)) >= natural__first
<S>  New H47:  64 - fld_byte_count(fld_h(ctx)) <= natural__last
<S>  New H54:  64 - fld_byte_count(fld_h(ctx)) - 1 <= 
          msg__index__subtype__1__last
<S>  New H55:  fld_byte_count(fld_h(ctx)) + (64 - fld_byte_count(fld_h(ctx)) - 
          1) <= 63
<S>  New H58:  fld_byte_count(fld_h(ctx__1)) = fld_byte_count(fld_h(ctx)) + (64 
          - fld_byte_count(fld_h(ctx)))
<S>  New H84:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) >= natural__first
<S>  New H85:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) <= natural__last
<S>  New H90:  64 - fld_byte_count(fld_h(ctx)) >= natural__first
<S>  New H91:  64 - fld_byte_count(fld_h(ctx)) <= natural__last
<S>  New H92:  fld_byte_count(fld_h(ctx__1)) = 64
<S>  New H94:  64 >= natural__first
<S>  New H95:  64 <= natural__last
<S>  New H138:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) <= 64
<S>  New C8:  64 - fld_byte_count(fld_h(ctx)) <= msg__index__subtype__1__last
<S>  New C9:  64 - fld_byte_count(fld_h(ctx)) + (msg__index__subtype__1__last + 
          1 - (64 - fld_byte_count(fld_h(ctx))) - 1) <= 
          msg__index__subtype__1__last
<S>  New C10:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) <= 64
-S-  Applied substitution rule skein_512_up_rules(5).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H34:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) >= 
          - 2147483648
-S-  Applied substitution rule skein_512_up_rules(6).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H35:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) <= 
          2147483647
-S-  Applied substitution rule skein_512_up_rules(8).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H10:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H28:  msg__index__subtype__1__last >= - 1
<S>  New H30:  true
<S>  New H63:  fld_byte_count(fld_h(ctx__1)) >= 0
<S>  New H117:  fld_byte_count(fld_h(ctx__2)) >= 0
<S>  New H46:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New H84:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) >= 0
<S>  New H90:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New H94:  true
-S-  Applied substitution rule skein_512_up_rules(9).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H6:  msg__index__subtype__1__last < 2147483647
<S>  New H11:  fld_byte_count(fld_h(ctx)) <= 2147483647
<S>  New H29:  msg__index__subtype__1__last <= 2147483646
<S>  New H31:  true
<S>  New H64:  fld_byte_count(fld_h(ctx__1)) <= 2147483647
<S>  New H107:  true
<S>  New H108:  true
<S>  New H118:  fld_byte_count(fld_h(ctx__2)) <= 2147483647
<S>  New H7:  msg__index__subtype__1__last <= 2147483582
<S>  New H47:  - 2147483583 <= fld_byte_count(fld_h(ctx))
<S>  New H85:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) <= 2147483647
<S>  New H91:  - 2147483583 <= fld_byte_count(fld_h(ctx))
<S>  New H95:  true
-S-  Applied substitution rule skein_512_up_rules(41).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H16:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H69:  fld_field_type(fld_tweak_words(fld_h(ctx__1))) >= 0
<S>  New H123:  fld_field_type(fld_tweak_words(fld_h(ctx__2))) >= 0
-S-  Applied substitution rule skein_512_up_rules(42).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H17:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 63
<S>  New H70:  fld_field_type(fld_tweak_words(fld_h(ctx__1))) <= 63
<S>  New H124:  fld_field_type(fld_tweak_words(fld_h(ctx__2))) <= 63
-S-  Applied substitution rule skein_512_up_rules(47).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H19:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H72:  fld_tree_level(fld_tweak_words(fld_h(ctx__1))) >= 0
<S>  New H126:  fld_tree_level(fld_tweak_words(fld_h(ctx__2))) >= 0
-S-  Applied substitution rule skein_512_up_rules(48).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H20:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 127
<S>  New H73:  fld_tree_level(fld_tweak_words(fld_h(ctx__1))) <= 127
<S>  New H127:  fld_tree_level(fld_tweak_words(fld_h(ctx__2))) <= 127
-S-  Applied substitution rule skein_512_up_rules(53).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H8:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> 0 <= element(fld_b(ctx), [i___2]) and 
          element(fld_b(ctx), [i___2]) <= spark__unsigned__byte__last)
<S>  New H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 0 <= element(msg, [i___1]
          ) and element(msg, [i___1]) <= spark__unsigned__byte__last)
<S>  New H61:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> 0 <= element(fld_b(ctx__1), [i___2]) and 
          element(fld_b(ctx__1), [i___2]) <= spark__unsigned__byte__last)
<S>  New H93:  for_all(i___1 : integer, skein_512_block_bytes_index__first <= 
          i___1 and i___1 <= 63 -> 0 <= element(fld_b(ctx__1), [i___1]) and 
          element(fld_b(ctx__1), [i___1]) <= spark__unsigned__byte__last)
<S>  New H115:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> 0 <= element(fld_b(ctx__2), [i___2]) and 
          element(fld_b(ctx__2), [i___2]) <= spark__unsigned__byte__last)
-S-  Applied substitution rule skein_512_up_rules(54).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H8:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> 0 <= element(fld_b(ctx), [i___2]) and 
          element(fld_b(ctx), [i___2]) <= 255)
<S>  New H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 0 <= element(msg, [i___1]
          ) and element(msg, [i___1]) <= 255)
<S>  New H61:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> 0 <= element(fld_b(ctx__1), [i___2]) and 
          element(fld_b(ctx__1), [i___2]) <= 255)
<S>  New H93:  for_all(i___1 : integer, skein_512_block_bytes_index__first <= 
          i___1 and i___1 <= 63 -> 0 <= element(fld_b(ctx__1), [i___1]) and 
          element(fld_b(ctx__1), [i___1]) <= 255)
<S>  New H115:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> 0 <= element(fld_b(ctx__2), [i___2]) and 
          element(fld_b(ctx__2), [i___2]) <= 255)
-S-  Applied substitution rule skein_512_up_rules(59).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H21:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H74:  fld_reserved(fld_tweak_words(fld_h(ctx__1))) >= 0
<S>  New H128:  fld_reserved(fld_tweak_words(fld_h(ctx__2))) >= 0
-S-  Applied substitution rule skein_512_up_rules(60).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H22:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 65535
<S>  New H75:  fld_reserved(fld_tweak_words(fld_h(ctx__1))) <= 65535
<S>  New H129:  fld_reserved(fld_tweak_words(fld_h(ctx__2))) <= 65535
-S-  Applied substitution rule skein_512_up_rules(65).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H23:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H76:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx__1))) >= 0
<S>  New H130:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx__2))) >= 0
-S-  Applied substitution rule skein_512_up_rules(66).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H24:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 4294967295
<S>  New H77:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx__1))) <= 4294967295
<S>  New H131:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx__2))) <= 4294967295
-S-  Applied substitution rule skein_512_up_rules(71).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H9:  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(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H25:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H62:  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(ctx__1), [i___1]) and element(fld_x(ctx__1), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H78:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx__1))) >= 0
<S>  New H116:  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(ctx__2), [i___1]) and element(fld_x(ctx__2), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H132:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx__2))) >= 0
-S-  Applied substitution rule skein_512_up_rules(72).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H26:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          18446744073709551615
<S>  New H79:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx__1))) <= 
          18446744073709551615
<S>  New H133:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx__2))) <= 
          18446744073709551615
<S>  New H9:  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(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          18446744073709551615)
<S>  New H62:  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(ctx__1), [i___1]) and element(fld_x(ctx__1), [i___1]) <= 
          18446744073709551615)
<S>  New H116:  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(ctx__2), [i___1]) and element(fld_x(ctx__2), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(82).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H12:  fld_hash_bit_len(fld_h(ctx)) >= 0
<S>  New H65:  fld_hash_bit_len(fld_h(ctx__1)) >= 0
<S>  New H119:  fld_hash_bit_len(fld_h(ctx__2)) >= 0
-S-  Applied substitution rule skein_512_up_rules(83).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H13:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H66:  fld_hash_bit_len(fld_h(ctx__1)) <= 2147483640
<S>  New H120:  fld_hash_bit_len(fld_h(ctx__2)) <= 2147483640
-S-  Applied substitution rule skein_512_up_rules(87).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__first by:
          1.
<S>  New H1:  fld_hash_bit_len(fld_h(ctx)) >= 1
<S>  New H100:  fld_hash_bit_len(fld_h(ctx__1)) >= 1
<S>  New H109:  fld_hash_bit_len(fld_h(ctx__2)) >= 1
-S-  Applied substitution rule skein_512_up_rules(88).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__last by:
          2147483640.
<S>  New H2:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H101:  fld_hash_bit_len(fld_h(ctx__1)) <= 2147483640
<S>  New H110:  fld_hash_bit_len(fld_h(ctx__2)) <= 2147483640
-S-  Applied substitution rule skein_512_up_rules(92).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H9:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(ctx), [i___1])
           and element(fld_x(ctx), [i___1]) <= 18446744073709551615)
<S>  New H62:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(ctx__1), [
          i___1]) and element(fld_x(ctx__1), [i___1]) <= 18446744073709551615)
<S>  New H116:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(ctx__2), [
          i___1]) and element(fld_x(ctx__2), [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(93).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H9:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          18446744073709551615)
<S>  New H62:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(ctx__1), [i___1]) and element(fld_x(ctx__1), [i___1]) 
          <= 18446744073709551615)
<S>  New H116:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(ctx__2), [i___1]) and element(fld_x(ctx__2), [i___1]) 
          <= 18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(97).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__first by:
          0.
<S>  New H3:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H59:  fld_byte_count(fld_h(ctx__1)) >= 0
<S>  New H112:  fld_byte_count(fld_h(ctx__2)) >= 0
-S-  Applied substitution rule skein_512_up_rules(98).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__last by:
          64.
<S>  New H4:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New H60:  fld_byte_count(fld_h(ctx__1)) <= 64
<S>  New H113:  fld_byte_count(fld_h(ctx__2)) <= 64
-S-  Applied substitution rule skein_512_up_rules(102).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H104:  true
<S>  New H38:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New H8:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 255)
<S>  New H61:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(ctx__1), [i___2]) and element(fld_b(ctx__1), [i___2]) 
          <= 255)
<S>  New H93:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 63 -> 0 <= 
          element(fld_b(ctx__1), [i___1]) and element(fld_b(ctx__1), [i___1]) 
          <= 255)
<S>  New H115:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(ctx__2), [i___2]) and element(fld_b(ctx__2), [i___2]) 
          <= 255)
-S-  Applied substitution rule skein_512_up_rules(107).
     This was achieved by replacing all occurrences of 
          positive_block_512_count_t__first by:
          1.
<S>  New H96:  true
-S-  Applied substitution rule skein_512_up_rules(108).
     This was achieved by replacing all occurrences of 
          positive_block_512_count_t__last by:
          33554431.
<S>  New H97:  true
***  Proved C8:  64 - fld_byte_count(fld_h(ctx)) <= msg__index__subtype__1__last
     via its standard form, which is:
     Std.Fm C8:  msg__index__subtype__1__last + fld_byte_count(fld_h(ctx)) > 63
     using hypothesis H36.
***  Proved C9:  64 - fld_byte_count(fld_h(ctx)) + (
          msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(ctx))) 
          - 1) <= msg__index__subtype__1__last
     via its standard form, which is:
     Std.Fm C9:  true
***  Proved C10:  msg__index__subtype__1__last + 1 - (64 - fld_byte_count(fld_h(
          ctx))) <= 64
     using hypothesis H138.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_update_28.  @@@@@@@@@@
%%%  Simplified H8 on reading formula in, to give:
     %%%  H8:  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(ctx), [i___2]) and 
          element(fld_b(ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  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(ctx), [i___1]) and 
          element(fld_x(ctx), [i___1]) <= spark__unsigned__u64__last)
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(msg, [i___1]) and element(
          msg, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H38 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H39 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H41 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H42 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H43 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H29).
%%%  Simplified C9 on reading formula in, to give:
     %%%  C9:  true
%%%  Simplified C10 on reading formula in, to give:
     %%%  C10:  fld_byte_count(fld_h(ctx)) + msg__index__subtype__1__last <= 
          skein_512_block_bytes_index__last
***  Proved C1:  msg__index__subtype__1__last + 1 >= natural__first
     using hypothesis H28.
***  Proved C2:  msg__index__subtype__1__last + 1 <= natural__last
     using hypothesis H29.
***  Proved C3:  0 >= natural__first
     using hypothesis H30.
***  Proved C4:  0 <= natural__last
     using hypothesis H31.
***  Proved C6:  msg__index__subtype__1__first = 0
     using hypothesis H5.
***  Proved C7:  0 >= msg__index__subtype__1__first
     using hypothesis H5.
***  Proved C9:  true
-S-  Applied substitution rule skein_512_up_rules(103).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H8:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> spark__unsigned__byte__first <= element(
          fld_b(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New C10:  fld_byte_count(fld_h(ctx)) + msg__index__subtype__1__last <= 63
>>>  Restructured hypothesis H37 into:
     >>>  H37:  fld_byte_count(fld_h(ctx)) <= 0
>>>  Restructured hypothesis H40 into:
     >>>  H40:  msg__index__subtype__1__last + 1 <= skein_512_block_bytes_c
-S-  Applied substitution rule skein_512_up_rules(1).
     This was achieved by replacing all occurrences of skein_512_block_bytes_c 
          by:
          64.
<S>  New H7:  msg__index__subtype__1__last + 65 <= natural__last
<S>  New H36:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) > 
          64
<S>  New H40:  msg__index__subtype__1__last <= 63
-S-  Applied substitution rule skein_512_up_rules(5).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H34:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) >= 
          - 2147483648
-S-  Applied substitution rule skein_512_up_rules(6).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H35:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) <= 
          2147483647
-S-  Applied substitution rule skein_512_up_rules(8).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H10:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H28:  msg__index__subtype__1__last >= - 1
<S>  New H30:  true
-S-  Applied substitution rule skein_512_up_rules(9).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H6:  msg__index__subtype__1__last < 2147483647
<S>  New H11:  fld_byte_count(fld_h(ctx)) <= 2147483647
<S>  New H29:  msg__index__subtype__1__last <= 2147483646
<S>  New H31:  true
<S>  New H7:  msg__index__subtype__1__last <= 2147483582
-S-  Applied substitution rule skein_512_up_rules(41).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H16:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(42).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H17:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 63
-S-  Applied substitution rule skein_512_up_rules(47).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H19:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(48).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H20:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 127
-S-  Applied substitution rule skein_512_up_rules(53).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H8:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> 0 <= element(fld_b(ctx), [i___2]) and 
          element(fld_b(ctx), [i___2]) <= spark__unsigned__byte__last)
<S>  New H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 0 <= element(msg, [i___1]
          ) and element(msg, [i___1]) <= spark__unsigned__byte__last)
-S-  Applied substitution rule skein_512_up_rules(54).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H8:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> 0 <= element(fld_b(ctx), [i___2]) and 
          element(fld_b(ctx), [i___2]) <= 255)
<S>  New H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 0 <= element(msg, [i___1]
          ) and element(msg, [i___1]) <= 255)
-S-  Applied substitution rule skein_512_up_rules(59).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H21:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(60).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H22:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 65535
-S-  Applied substitution rule skein_512_up_rules(65).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H23:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(66).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H24:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 4294967295
-S-  Applied substitution rule skein_512_up_rules(71).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H9:  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(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H25:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(72).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H26:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          18446744073709551615
<S>  New H9:  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(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(82).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H12:  fld_hash_bit_len(fld_h(ctx)) >= 0
-S-  Applied substitution rule skein_512_up_rules(83).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H13:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
-S-  Applied substitution rule skein_512_up_rules(87).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__first by:
          1.
<S>  New H1:  fld_hash_bit_len(fld_h(ctx)) >= 1
-S-  Applied substitution rule skein_512_up_rules(88).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__last by:
          2147483640.
<S>  New H2:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
-S-  Applied substitution rule skein_512_up_rules(92).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H9:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(ctx), [i___1])
           and element(fld_x(ctx), [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(93).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H9:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(97).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__first by:
          0.
<S>  New H3:  fld_byte_count(fld_h(ctx)) >= 0
-S-  Applied substitution rule skein_512_up_rules(98).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__last by:
          64.
<S>  New H4:  fld_byte_count(fld_h(ctx)) <= 64
-S-  Applied substitution rule skein_512_up_rules(102).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H8:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 255)
%%%  Hypotheses H37 & H10 together imply that
          fld_byte_count(fld_h(ctx)) = 0.
     H37 & H10 have therefore been deleted and a new H45 added to this effect.
***  Proved C5:  fld_hash_bit_len(fld_h(ctx)) > 0
     using hypothesis H1.
***  Proved C10:  fld_byte_count(fld_h(ctx)) + msg__index__subtype__1__last <= 
          63
     using hypotheses H40 & H45.
###  Established a contradiction [P-and-not-P] among the following hypotheses:
          H36, H40 & H45.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_update_29.  @@@@@@@@@@
%%%  Simplified H8 on reading formula in, to give:
     %%%  H8:  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(ctx), [i___2]) and 
          element(fld_b(ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  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(ctx), [i___1]) and 
          element(fld_x(ctx), [i___1]) <= spark__unsigned__u64__last)
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(msg, [i___1]) and element(
          msg, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H37 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H38 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H39 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H40 has been replaced by "true".  (It is already present, as 
          H29).
%%%  Simplified C9 on reading formula in, to give:
     %%%  C9:  true
%%%  Simplified C10 on reading formula in, to give:
     %%%  C10:  fld_byte_count(fld_h(ctx)) + msg__index__subtype__1__last <= 
          skein_512_block_bytes_index__last
***  Proved C1:  msg__index__subtype__1__last + 1 >= natural__first
     using hypothesis H28.
***  Proved C2:  msg__index__subtype__1__last + 1 <= natural__last
     using hypothesis H29.
***  Proved C3:  0 >= natural__first
     using hypothesis H30.
***  Proved C4:  0 <= natural__last
     using hypothesis H31.
***  Proved C6:  msg__index__subtype__1__first = 0
     using hypothesis H5.
***  Proved C7:  0 >= msg__index__subtype__1__first
     using hypothesis H5.
***  Proved C9:  true
-S-  Applied substitution rule skein_512_up_rules(103).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H8:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> spark__unsigned__byte__first <= element(
          fld_b(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New C10:  fld_byte_count(fld_h(ctx)) + msg__index__subtype__1__last <= 63
>>>  Restructured hypothesis H36 into:
     >>>  H36:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) 
          <= skein_512_block_bytes_c
-S-  Applied substitution rule skein_512_up_rules(1).
     This was achieved by replacing all occurrences of skein_512_block_bytes_c 
          by:
          64.
<S>  New H7:  msg__index__subtype__1__last + 65 <= natural__last
<S>  New H36:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) <= 
          64
-S-  Applied substitution rule skein_512_up_rules(5).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H34:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) >= 
          - 2147483648
-S-  Applied substitution rule skein_512_up_rules(6).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H35:  msg__index__subtype__1__last + 1 + fld_byte_count(fld_h(ctx)) <= 
          2147483647
-S-  Applied substitution rule skein_512_up_rules(8).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H10:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H28:  msg__index__subtype__1__last >= - 1
<S>  New H30:  true
-S-  Applied substitution rule skein_512_up_rules(9).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H6:  msg__index__subtype__1__last < 2147483647
<S>  New H11:  fld_byte_count(fld_h(ctx)) <= 2147483647
<S>  New H29:  msg__index__subtype__1__last <= 2147483646
<S>  New H31:  true
<S>  New H7:  msg__index__subtype__1__last <= 2147483582
-S-  Applied substitution rule skein_512_up_rules(41).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H16:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(42).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H17:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 63
-S-  Applied substitution rule skein_512_up_rules(47).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H19:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(48).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H20:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 127
-S-  Applied substitution rule skein_512_up_rules(53).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H8:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> 0 <= element(fld_b(ctx), [i___2]) and 
          element(fld_b(ctx), [i___2]) <= spark__unsigned__byte__last)
<S>  New H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 0 <= element(msg, [i___1]
          ) and element(msg, [i___1]) <= spark__unsigned__byte__last)
-S-  Applied substitution rule skein_512_up_rules(54).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H8:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> 0 <= element(fld_b(ctx), [i___2]) and 
          element(fld_b(ctx), [i___2]) <= 255)
<S>  New H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 0 <= element(msg, [i___1]
          ) and element(msg, [i___1]) <= 255)
-S-  Applied substitution rule skein_512_up_rules(59).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H21:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(60).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H22:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 65535
-S-  Applied substitution rule skein_512_up_rules(65).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H23:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(66).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H24:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 4294967295
-S-  Applied substitution rule skein_512_up_rules(71).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H9:  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(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H25:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(72).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H26:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          18446744073709551615
<S>  New H9:  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(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(82).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H12:  fld_hash_bit_len(fld_h(ctx)) >= 0
-S-  Applied substitution rule skein_512_up_rules(83).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H13:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
-S-  Applied substitution rule skein_512_up_rules(87).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__first by:
          1.
<S>  New H1:  fld_hash_bit_len(fld_h(ctx)) >= 1
-S-  Applied substitution rule skein_512_up_rules(88).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__last by:
          2147483640.
<S>  New H2:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
-S-  Applied substitution rule skein_512_up_rules(92).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H9:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(ctx), [i___1])
           and element(fld_x(ctx), [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(93).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H9:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(97).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__first by:
          0.
<S>  New H3:  fld_byte_count(fld_h(ctx)) >= 0
-S-  Applied substitution rule skein_512_up_rules(98).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__last by:
          64.
<S>  New H4:  fld_byte_count(fld_h(ctx)) <= 64
-S-  Applied substitution rule skein_512_up_rules(102).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H8:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 255)
***  Proved C5:  fld_hash_bit_len(fld_h(ctx)) > 0
     using hypothesis H1.
***  Proved C10:  fld_byte_count(fld_h(ctx)) + msg__index__subtype__1__last <= 
          63
     via its standard form, which is:
     Std.Fm C10:  - msg__index__subtype__1__last - fld_byte_count(fld_h(ctx)) > 
          - 64
     using hypothesis H36.
---  Eliminated hypothesis H14 (true-hypothesis).
---  Eliminated hypothesis H15 (true-hypothesis).
---  Eliminated hypothesis H18 (true-hypothesis).
---  Eliminated hypothesis H32 (true-hypothesis).
---  Eliminated hypothesis H33 (true-hypothesis).
---  Eliminated hypothesis H37 (true-hypothesis).
---  Eliminated hypothesis H38 (true-hypothesis).
---  Eliminated hypothesis H39 (true-hypothesis).
---  Eliminated hypothesis H40 (true-hypothesis).
---  Eliminated hypothesis H30 (true-hypothesis).
---  Eliminated hypothesis H31 (true-hypothesis).
---  Eliminated hypothesis H13 (duplicate of H2).
---  Eliminated hypothesis H10 (duplicate of H3).
---  Eliminated hypothesis H29 (duplicate of H6).
---  Eliminated hypothesis H6 (redundant, given H7).
---  Eliminated hypothesis H7 (redundant, given H3 & H36).
---  Eliminated hypothesis H11 (redundant, given H4).
---  Eliminated hypothesis H12 (redundant, given H1).
---  Eliminated hypothesis H35 (redundant, given H36).
***  Proved C8:  0 <= msg__index__subtype__1__last
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_update_30.  @@@@@@@@@@
%%%  Simplified H8 on reading formula in, to give:
     %%%  H8:  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(ctx), [i___2]) and 
          element(fld_b(ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  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(ctx), [i___1]) and 
          element(fld_x(ctx), [i___1]) <= spark__unsigned__u64__last)
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(msg, [i___1]) and element(
          msg, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H42 has been replaced by "true".  (It is already present, as 
          H30).
---  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 
          H38).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H48 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H49 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H51 has been replaced by "true".  (It is already present, as H5)
          .
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) - 1 <= 
          msg__index__subtype__1__last
%%%  Simplified H61 on reading formula in, to give:
     %%%  H61:  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(ctx__1), [i___2]) and 
          element(fld_b(ctx__1), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H62 on reading formula in, to give:
     %%%  H62:  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(ctx__1), [i___1]) and 
          element(fld_x(ctx__1), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H80 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H81 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H82 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H83 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H86 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H87 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H88 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H89 has been replaced by "true".  (It is already present, as 
          H31).
%%%  Simplified H90 on reading formula in, to give:
     %%%  H90:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) >= 
          natural__first
%%%  Simplified H91 on reading formula in, to give:
     %%%  H91:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) <= 
          natural__last
%%%  Simplified H93 on reading formula in, to give:
     %%%  H93:  for_all(i___1 : integer, skein_512_block_bytes_index__first <= 
          i___1 and i___1 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(ctx__1), [i___1]) and 
          element(fld_b(ctx__1), [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H98 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H99 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H102 has been replaced by "true".  (It is already present, as 
          H59).
---  Hypothesis H103 has been replaced by "true".  (It is already present, as 
          H60).
%%%  Simplified H105 on reading formula in, to give:
     %%%  H105:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H106 on reading formula in, to give:
     %%%  H106:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H108 on reading formula in, to give:
     %%%  H108:  63 <= natural__last
%%%  Simplified H115 on reading formula in, to give:
     %%%  H115:  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(ctx__2), [i___2]) and 
          element(fld_b(ctx__2), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H116 on reading formula in, to give:
     %%%  H116:  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(ctx__2), [i___1]) and 
          element(fld_x(ctx__2), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H134 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H135 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H136 has been replaced by "true".  (It is already present, as 
          H84).
---  Hypothesis H137 has been replaced by "true".  (It is already present, as 
          H85).
---  Hypothesis H139 has been replaced by "true".  (It is already present, as 
          H84).
---  Hypothesis H140 has been replaced by "true".  (It is already present, as 
          H85).
---  Hypothesis H146 has been replaced by "true".  (It is already present, as 
          H90).
---  Hypothesis H147 has been replaced by "true".  (It is already present, as 
          H91).
---  Hypothesis H148 has been replaced by "true".  (It is already present, as 
          H141).
---  Hypothesis H149 has been replaced by "true".  (It is already present, as 
          H142).
---  Hypothesis H150 has been replaced by "true".  (It is already present, as 
          H94).
---  Hypothesis H151 has been replaced by "true".  (It is already present, as 
          H95).
---  Hypothesis H152 has been replaced by "true".  (It is already present, as 
          H141).
---  Hypothesis H153 has been replaced by "true".  (It is already present, as 
          H142).
---  Hypothesis H154 has been replaced by "true".  (It is already present, as 
          H90).
---  Hypothesis H155 has been replaced by "true".  (It is already present, as 
          H91).
%%%  Simplified H156 on reading formula in, to give:
     %%%  H156:  fld_hash_bit_len(fld_h(ctx__2)) >= 
          initialized_hash_bit_length__first
%%%  Simplified H157 on reading formula in, to give:
     %%%  H157:  fld_hash_bit_len(fld_h(ctx__2)) <= 
          initialized_hash_bit_length__last
%%%  Simplified H158 on reading formula in, to give:
     %%%  H158:  0 >= skein_512_block_bytes_count__first
%%%  Simplified H159 on reading formula in, to give:
     %%%  H159:  0 <= skein_512_block_bytes_count__last
---  Hypothesis H160 has been replaced by "true".  (It is already present, as 
          H5).
%%%  Simplified H161 on reading formula in, to give:
     %%%  H161:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) + ((
          msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) - 1) div skein_512_block_bytes_c - 1) * 
          skein_512_block_bytes_c + 63 <= msg__index__subtype__1__last
%%%  Simplified H162 on reading formula in, to give:
     %%%  H162:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) + 63 <= 
          msg__index__subtype__1__last
%%%  Simplified H164 on reading formula in, to give:
     %%%  H164:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) <= 
          natural__last - 63
%%%  Simplified H167 on reading formula in, to give:
     %%%  H167:  fld_hash_bit_len(fld_h(ctx__3)) = fld_hash_bit_len(fld_h(
          ctx__2))
%%%  Simplified H170 on reading formula in, to give:
     %%%  H170:  fld_byte_count(fld_h(ctx__3)) = 0
%%%  Simplified H171 on reading formula in, to give:
     %%%  H171:  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(ctx__3), [i___2]) and 
          element(fld_b(ctx__3), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H172 on reading formula in, to give:
     %%%  H172:  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(ctx__3), [i___1]) and 
          element(fld_x(ctx__3), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H190 has been replaced by "true".  (It is already present, as 
          H141).
---  Hypothesis H191 has been replaced by "true".  (It is already present, as 
          H142).
---  Hypothesis H195 has been replaced by "true".  (It is already present, as 
          H84).
---  Hypothesis H196 has been replaced by "true".  (It is already present, as 
          H85).
---  Hypothesis H197 has been replaced by "true".  (It is already present, as 
          H192).
---  Hypothesis H198 has been replaced by "true".  (It is already present, as 
          H193).
---  Hypothesis H201 has been replaced by "true".  (It is already present, as 
          H90).
---  Hypothesis H202 has been replaced by "true".  (It is already present, as 
          H91).
---  Hypothesis H203 has been replaced by "true".  (It is already present, as 
          H192).
---  Hypothesis H204 has been replaced by "true".  (It is already present, as 
          H193).
%%%  Simplified H205 on reading formula in, to give:
     %%%  H205:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) + (
          msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) - 1) div skein_512_block_bytes_c * 
          skein_512_block_bytes_c >= natural__first
%%%  Simplified H206 on reading formula in, to give:
     %%%  H206:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) + (
          msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) - 1) div skein_512_block_bytes_c * 
          skein_512_block_bytes_c <= natural__last
---  Hypothesis H207 has been replaced by "true".  (It is already present, as 
          H205).
---  Hypothesis H208 has been replaced by "true".  (It is already present, as 
          H206).
---  Hypothesis H209 has been replaced by "true".  (It is already present, as 
          H199).
---  Hypothesis H210 has been replaced by "true".  (It is already present, as 
          H200).
---  Hypothesis H211 has been replaced by "true".  (It is already present, as 
          H199).
---  Hypothesis H212 has been replaced by "true".  (It is already present, as 
          H200).
---  Hypothesis H213 has been replaced by "true".  (It is already present, as 
          H205).
---  Hypothesis H214 has been replaced by "true".  (It is already present, as 
          H206).
---  Hypothesis H216 has been replaced by "true".  (It is already present, as 
          H5).
%%%  Simplified H217 on reading formula in, to give:
     %%%  H217:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) + (
          msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) - 1) div skein_512_block_bytes_c * 
          skein_512_block_bytes_c >= msg__index__subtype__1__first
%%%  Simplified H218 on reading formula in, to give:
     %%%  H218:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) + (
          msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) - 1) div skein_512_block_bytes_c * 
          skein_512_block_bytes_c <= msg__index__subtype__1__last
%%%  Simplified H219 on reading formula in, to give:
     %%%  H219:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) + (
          msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) - 1) div skein_512_block_bytes_c * 
          skein_512_block_bytes_c + (msg__index__subtype__1__last + 1 - (
          skein_512_block_bytes_c - fld_byte_count(fld_h(ctx))) - (
          msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) - 1) div skein_512_block_bytes_c * 
          skein_512_block_bytes_c - 1) <= msg__index__subtype__1__last
%%%  Simplified H226 on reading formula in, to give:
     %%%  H226:  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(ctx__4), [i___2]) and 
          element(fld_b(ctx__4), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H227 on reading formula in, to give:
     %%%  H227:  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(ctx__4), [i___1]) and 
          element(fld_x(ctx__4), [i___1]) <= spark__unsigned__u64__last)
***  Proved C1:  fld_hash_bit_len(fld_h(ctx__4)) >= 
          initialized_hash_bit_length__first
     using hypotheses H165 & H222.
***  Proved C2:  fld_hash_bit_len(fld_h(ctx__4)) <= 
          initialized_hash_bit_length__last
     using hypotheses H166 & H222.
***  Proved C3:  fld_hash_bit_len(fld_h(ctx__4)) = fld_hash_bit_len(fld_h(ctx))
     using hypotheses H57, H111, H167 & H222.
***  Proved C4:  fld_byte_count(fld_h(ctx__4)) >= 
          skein_512_block_bytes_count__first
     using hypothesis H224.
***  Proved C5:  fld_byte_count(fld_h(ctx__4)) <= 
          skein_512_block_bytes_count__last
     using hypothesis H225.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_update_31.  @@@@@@@@@@
%%%  Simplified H8 on reading formula in, to give:
     %%%  H8:  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(ctx), [i___2]) and 
          element(fld_b(ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  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(ctx), [i___1]) and 
          element(fld_x(ctx), [i___1]) <= spark__unsigned__u64__last)
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(msg, [i___1]) and element(
          msg, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H38 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H39 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H41 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H42 has been replaced by "true".  (It is already present, as 
          H29).
%%%  Simplified H43 on reading formula in, to give:
     %%%  H43:  msg__index__subtype__1__last div skein_512_block_bytes_c >= 
          positive_block_512_count_t__first
%%%  Simplified H44 on reading formula in, to give:
     %%%  H44:  msg__index__subtype__1__last div skein_512_block_bytes_c <= 
          positive_block_512_count_t__last
%%%  Simplified H46 on reading formula in, to give:
     %%%  H46:  msg__index__subtype__1__last >= integer__base__first
%%%  Simplified H47 on reading formula in, to give:
     %%%  H47:  msg__index__subtype__1__last <= integer__base__last
---  Hypothesis H48 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H49 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H50 has been replaced by "true".  (It is already present, as 
          H43).
---  Hypothesis H51 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H54 has been replaced by "true".  (It is already present, as 
          H43).
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H58 has been replaced by "true".  (It is already present, as H1)
          .
---  Hypothesis H59 has been replaced by "true".  (It is already present, as H2)
          .
---  Hypothesis H60 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H61 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H62 has been replaced by "true".  (It is already present, as H5)
          .
%%%  Simplified H63 on reading formula in, to give:
     %%%  H63:  (msg__index__subtype__1__last div skein_512_block_bytes_c - 1) 
          * skein_512_block_bytes_c + 63 <= msg__index__subtype__1__last
%%%  Simplified H64 on reading formula in, to give:
     %%%  H64:  63 <= msg__index__subtype__1__last
%%%  Simplified H66 on reading formula in, to give:
     %%%  H66:  63 <= natural__last
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  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(ctx__3), [i___2]) and 
          element(fld_b(ctx__3), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  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(ctx__3), [i___1]) and 
          element(fld_x(ctx__3), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H92 has been replaced by "true".  (It is already present, as 
          H43).
---  Hypothesis H93 has been replaced by "true".  (It is already present, as 
          H44).
%%%  Simplified H94 on reading formula in, to give:
     %%%  H94:  msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c >= natural__first
%%%  Simplified H95 on reading formula in, to give:
     %%%  H95:  msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c <= natural__last
%%%  Simplified H96 on reading formula in, to give:
     %%%  H96:  msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c < msg__index__subtype__1__last + 1
---  Hypothesis H97 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H98 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H99 has been replaced by "true".  (It is already present, as 
          H94).
---  Hypothesis H100 has been replaced by "true".  (It is already present, as 
          H95).
%%%  Simplified H101 on reading formula in, to give:
     %%%  H101:  msg__index__subtype__1__last + 1 - 
          msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c >= natural__first
%%%  Simplified H102 on reading formula in, to give:
     %%%  H102:  msg__index__subtype__1__last + 1 - 
          msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c <= natural__last
---  Hypothesis H103 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H104 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H105 has been replaced by "true".  (It is already present, as 
          H94).
---  Hypothesis H106 has been replaced by "true".  (It is already present, as 
          H95).
%%%  Simplified H107 on reading formula in, to give:
     %%%  H107:  msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c >= natural__first
%%%  Simplified H108 on reading formula in, to give:
     %%%  H108:  msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c <= natural__last
---  Hypothesis H109 has been replaced by "true".  (It is already present, as 
          H107).
---  Hypothesis H110 has been replaced by "true".  (It is already present, as 
          H108).
---  Hypothesis H111 has been replaced by "true".  (It is already present, as 
          H101).
---  Hypothesis H112 has been replaced by "true".  (It is already present, as 
          H102).
---  Hypothesis H113 has been replaced by "true".  (It is already present, as 
          H101).
---  Hypothesis H114 has been replaced by "true".  (It is already present, as 
          H102).
---  Hypothesis H115 has been replaced by "true".  (It is already present, as 
          H107).
---  Hypothesis H116 has been replaced by "true".  (It is already present, as 
          H108).
---  Hypothesis H118 has been replaced by "true".  (It is already present, as 
          H5).
%%%  Simplified H119 on reading formula in, to give:
     %%%  H119:  msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c >= msg__index__subtype__1__first
%%%  Simplified H120 on reading formula in, to give:
     %%%  H120:  msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c <= msg__index__subtype__1__last
%%%  Simplified H121 on reading formula in, to give:
     %%%  H121:  msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c + (msg__index__subtype__1__last + 1 - 
          msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c - 1) <= msg__index__subtype__1__last
%%%  Simplified H122 on reading formula in, to give:
     %%%  H122:  fld_byte_count(fld_h(ctx__3)) + (msg__index__subtype__1__last 
          + 1 - msg__index__subtype__1__last div skein_512_block_bytes_c * 
          skein_512_block_bytes_c - 1) <= skein_512_block_bytes_index__last
%%%  Simplified H125 on reading formula in, to give:
     %%%  H125:  fld_byte_count(fld_h(ctx__4)) = fld_byte_count(fld_h(ctx__3)) 
          + (msg__index__subtype__1__last + 1 - msg__index__subtype__1__last 
          div skein_512_block_bytes_c * skein_512_block_bytes_c)
%%%  Simplified H128 on reading formula in, to give:
     %%%  H128:  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(ctx__4), [i___2]) and 
          element(fld_b(ctx__4), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H129 on reading formula in, to give:
     %%%  H129:  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(ctx__4), [i___1]) and 
          element(fld_x(ctx__4), [i___1]) <= spark__unsigned__u64__last)
***  Proved C1:  fld_hash_bit_len(fld_h(ctx__4)) >= 
          initialized_hash_bit_length__first
     using hypotheses H67 & H124.
***  Proved C2:  fld_hash_bit_len(fld_h(ctx__4)) <= 
          initialized_hash_bit_length__last
     using hypotheses H68 & H124.
***  Proved C3:  fld_hash_bit_len(fld_h(ctx__4)) = fld_hash_bit_len(fld_h(ctx))
     using hypotheses H69 & H124.
***  Proved C4:  fld_byte_count(fld_h(ctx__4)) >= 
          skein_512_block_bytes_count__first
     using hypothesis H126.
***  Proved C5:  fld_byte_count(fld_h(ctx__4)) <= 
          skein_512_block_bytes_count__last
     using hypothesis H127.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_update_32.  @@@@@@@@@@
%%%  Simplified H8 on reading formula in, to give:
     %%%  H8:  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(ctx), [i___2]) and 
          element(fld_b(ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  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(ctx), [i___1]) and 
          element(fld_x(ctx), [i___1]) <= spark__unsigned__u64__last)
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(msg, [i___1]) and element(
          msg, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H42 has been replaced by "true".  (It is already present, as 
          H30).
---  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 
          H38).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H48 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H49 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H51 has been replaced by "true".  (It is already present, as H5)
          .
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) - 1 <= 
          msg__index__subtype__1__last
%%%  Simplified H61 on reading formula in, to give:
     %%%  H61:  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(ctx__1), [i___2]) and 
          element(fld_b(ctx__1), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H62 on reading formula in, to give:
     %%%  H62:  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(ctx__1), [i___1]) and 
          element(fld_x(ctx__1), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H80 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H81 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H82 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H83 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H86 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H87 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H88 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H89 has been replaced by "true".  (It is already present, as 
          H31).
%%%  Simplified H90 on reading formula in, to give:
     %%%  H90:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) >= 
          natural__first
%%%  Simplified H91 on reading formula in, to give:
     %%%  H91:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) <= 
          natural__last
%%%  Simplified H93 on reading formula in, to give:
     %%%  H93:  for_all(i___1 : integer, skein_512_block_bytes_index__first <= 
          i___1 and i___1 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(ctx__1), [i___1]) and 
          element(fld_b(ctx__1), [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H98 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H99 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H102 has been replaced by "true".  (It is already present, as 
          H59).
---  Hypothesis H103 has been replaced by "true".  (It is already present, as 
          H60).
%%%  Simplified H105 on reading formula in, to give:
     %%%  H105:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H106 on reading formula in, to give:
     %%%  H106:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H108 on reading formula in, to give:
     %%%  H108:  63 <= natural__last
%%%  Simplified H115 on reading formula in, to give:
     %%%  H115:  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(ctx__2), [i___2]) and 
          element(fld_b(ctx__2), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H116 on reading formula in, to give:
     %%%  H116:  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(ctx__2), [i___1]) and 
          element(fld_x(ctx__2), [i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H134 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H135 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H136 has been replaced by "true".  (It is already present, as 
          H84).
---  Hypothesis H137 has been replaced by "true".  (It is already present, as 
          H85).
---  Hypothesis H139 has been replaced by "true".  (It is already present, as 
          H90).
---  Hypothesis H140 has been replaced by "true".  (It is already present, as 
          H91).
---  Hypothesis H141 has been replaced by "true".  (It is already present, as 
          H84).
---  Hypothesis H142 has been replaced by "true".  (It is already present, as 
          H85).
---  Hypothesis H143 has been replaced by "true".  (It is already present, as 
          H84).
---  Hypothesis H144 has been replaced by "true".  (It is already present, as 
          H85).
---  Hypothesis H145 has been replaced by "true".  (It is already present, as 
          H90).
---  Hypothesis H146 has been replaced by "true".  (It is already present, as 
          H91).
%%%  Simplified H147 on reading formula in, to give:
     %%%  H147:  fld_hash_bit_len(fld_h(ctx__2)) > 0
---  Hypothesis H148 has been replaced by "true".  (It is already present, as 
          H5).
%%%  Simplified H149 on reading formula in, to give:
     %%%  H149:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) >= 
          msg__index__subtype__1__first
%%%  Simplified H150 on reading formula in, to give:
     %%%  H150:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) <= 
          msg__index__subtype__1__last
%%%  Simplified H151 on reading formula in, to give:
     %%%  H151:  skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)) + (
          msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) - 1) <= msg__index__subtype__1__last
%%%  Simplified H152 on reading formula in, to give:
     %%%  H152:  msg__index__subtype__1__last + 1 - (skein_512_block_bytes_c - 
          fld_byte_count(fld_h(ctx))) - 1 <= skein_512_block_bytes_index__last
%%%  Simplified H154 on reading formula in, to give:
     %%%  H154:  fld_hash_bit_len(fld_h(ctx__4)) = fld_hash_bit_len(fld_h(
          ctx__2))
%%%  Simplified H155 on reading formula in, to give:
     %%%  H155:  fld_byte_count(fld_h(ctx__4)) = msg__index__subtype__1__last + 
          1 - (skein_512_block_bytes_c - fld_byte_count(fld_h(ctx)))
%%%  Simplified H158 on reading formula in, to give:
     %%%  H158:  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(ctx__4), [i___2]) and 
          element(fld_b(ctx__4), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H159 on reading formula in, to give:
     %%%  H159:  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(ctx__4), [i___1]) and 
          element(fld_x(ctx__4), [i___1]) <= spark__unsigned__u64__last)
***  Proved C1:  fld_hash_bit_len(fld_h(ctx__4)) >= 
          initialized_hash_bit_length__first
     using hypotheses H109 & H154.
***  Proved C2:  fld_hash_bit_len(fld_h(ctx__4)) <= 
          initialized_hash_bit_length__last
     using hypotheses H110 & H154.
***  Proved C3:  fld_hash_bit_len(fld_h(ctx__4)) = fld_hash_bit_len(fld_h(ctx))
     using hypotheses H57, H111 & H154.
***  Proved C4:  fld_byte_count(fld_h(ctx__4)) >= 
          skein_512_block_bytes_count__first
     using hypothesis H156.
***  Proved C5:  fld_byte_count(fld_h(ctx__4)) <= 
          skein_512_block_bytes_count__last
     using hypothesis H157.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_update_33.  @@@@@@@@@@
%%%  Simplified H8 on reading formula in, to give:
     %%%  H8:  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(ctx), [i___2]) and 
          element(fld_b(ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  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(ctx), [i___1]) and 
          element(fld_x(ctx), [i___1]) <= spark__unsigned__u64__last)
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(msg, [i___1]) and element(
          msg, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H38 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H39 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H41 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H42 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H43 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H46 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H47 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H48 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H50 has been replaced by "true".  (It is already present, as H5)
          .
%%%  Simplified H53 on reading formula in, to give:
     %%%  H53:  true
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  fld_byte_count(fld_h(ctx)) + msg__index__subtype__1__last <= 
          skein_512_block_bytes_index__last
%%%  Simplified H60 on reading formula in, to give:
     %%%  H60:  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(ctx__4), [i___2]) and 
          element(fld_b(ctx__4), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H61 on reading formula in, to give:
     %%%  H61:  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(ctx__4), [i___1]) and 
          element(fld_x(ctx__4), [i___1]) <= spark__unsigned__u64__last)
***  Proved C1:  fld_hash_bit_len(fld_h(ctx__4)) >= 
          initialized_hash_bit_length__first
     using hypotheses H1 & H56.
***  Proved C2:  fld_hash_bit_len(fld_h(ctx__4)) <= 
          initialized_hash_bit_length__last
     using hypotheses H2 & H56.
***  Proved C3:  fld_hash_bit_len(fld_h(ctx__4)) = fld_hash_bit_len(fld_h(ctx))
     using hypothesis H56.
***  Proved C4:  fld_byte_count(fld_h(ctx__4)) >= 
          skein_512_block_bytes_count__first
     using hypothesis H58.
***  Proved C5:  fld_byte_count(fld_h(ctx__4)) <= 
          skein_512_block_bytes_count__last
     using hypothesis H59.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_update_34.  @@@@@@@@@@
%%%  Simplified H8 on reading formula in, to give:
     %%%  H8:  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(ctx), [i___2]) and 
          element(fld_b(ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  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(ctx), [i___1]) and 
          element(fld_x(ctx), [i___1]) <= spark__unsigned__u64__last)
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(msg, [i___1]) and element(
          msg, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H37 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H38 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H39 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H40 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H41 has been replaced by "true".  (It is already present, as 
          H28).
---  Hypothesis H42 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H43 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H46 has been replaced by "true".  (It is already present, as H5)
          .
%%%  Simplified H49 on reading formula in, to give:
     %%%  H49:  true
%%%  Simplified H50 on reading formula in, to give:
     %%%  H50:  fld_byte_count(fld_h(ctx)) + msg__index__subtype__1__last <= 
          skein_512_block_bytes_index__last
%%%  Simplified H56 on reading formula in, to give:
     %%%  H56:  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(ctx__4), [i___2]) and 
          element(fld_b(ctx__4), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H57 on reading formula in, to give:
     %%%  H57:  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(ctx__4), [i___1]) and 
          element(fld_x(ctx__4), [i___1]) <= spark__unsigned__u64__last)
***  Proved C1:  fld_hash_bit_len(fld_h(ctx__4)) >= 
          initialized_hash_bit_length__first
     using hypotheses H1 & H52.
***  Proved C2:  fld_hash_bit_len(fld_h(ctx__4)) <= 
          initialized_hash_bit_length__last
     using hypotheses H2 & H52.
***  Proved C3:  fld_hash_bit_len(fld_h(ctx__4)) = fld_hash_bit_len(fld_h(ctx))
     using hypothesis H52.
***  Proved C4:  fld_byte_count(fld_h(ctx__4)) >= 
          skein_512_block_bytes_count__first
     using hypothesis H54.
***  Proved C5:  fld_byte_count(fld_h(ctx__4)) <= 
          skein_512_block_bytes_count__last
     using hypothesis H55.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_update_35.  @@@@@@@@@@
%%%  Simplified H8 on reading formula in, to give:
     %%%  H8:  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(ctx), [i___2]) and 
          element(fld_b(ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  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(ctx), [i___1]) and 
          element(fld_x(ctx), [i___1]) <= spark__unsigned__u64__last)
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(msg, [i___1]) and element(
          msg, [i___1]) <= spark__unsigned__byte__last)
***  Proved C5:  msg__index__subtype__1__first = 0
     using hypothesis H5.
***  Proved C6:  msg__index__subtype__1__last < natural__last
     using hypothesis H6.
-S-  Applied substitution rule skein_512_up_rules(87).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__first by:
          1.
<S>  New H1:  hash_bit_len_of(ctx) >= 1
<S>  New C1:  fld_hash_bit_len(fld_h(ctx)) >= 1
-S-  Applied substitution rule skein_512_up_rules(88).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__last by:
          2147483640.
<S>  New H2:  hash_bit_len_of(ctx) <= 2147483640
<S>  New C2:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
-S-  Applied substitution rule skein_512_up_rules(97).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__first by:
          0.
<S>  New H3:  byte_count_of(ctx) >= 0
<S>  New C3:  fld_byte_count(fld_h(ctx)) >= 0
-S-  Applied substitution rule skein_512_up_rules(98).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__last by:
          64.
<S>  New H4:  byte_count_of(ctx) <= 64
<S>  New C4:  fld_byte_count(fld_h(ctx)) <= 64
-S-  Applied substitution rule skein_512_up_rules(9).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H6:  msg__index__subtype__1__last < 2147483647
<S>  New H7:  msg__index__subtype__1__last + skein_512_block_bytes_c < 
          2147483647
<S>  New H11:  fld_byte_count(fld_h(ctx)) <= 2147483647
<S>  New C7:  msg__index__subtype__1__last + skein_512_block_bytes_c <= 
          2147483646
***  Proved C7:  msg__index__subtype__1__last + skein_512_block_bytes_c <= 
          2147483646
     using hypothesis H7.
-S-  Applied substitution rule skein_512_up_rules(1).
     This was achieved by replacing all occurrences of skein_512_block_bytes_c 
          by:
          64.
<S>  New H7:  msg__index__subtype__1__last < 2147483583
-S-  Applied substitution rule skein_512_up_rules(8).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H10:  fld_byte_count(fld_h(ctx)) >= 0
-S-  Applied substitution rule skein_512_up_rules(41).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H16:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(42).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H17:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 63
-S-  Applied substitution rule skein_512_up_rules(47).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H19:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(48).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H20:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 127
-S-  Applied substitution rule skein_512_up_rules(53).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H8:  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(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 0 <= element(msg, [i___1]
          ) and element(msg, [i___1]) <= spark__unsigned__byte__last)
-S-  Applied substitution rule skein_512_up_rules(54).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H8:  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(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 255)
<S>  New H27:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 0 <= element(msg, [i___1]
          ) and element(msg, [i___1]) <= 255)
-S-  Applied substitution rule skein_512_up_rules(59).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H21:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(60).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H22:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 65535
-S-  Applied substitution rule skein_512_up_rules(65).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H23:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(66).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H24:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 4294967295
-S-  Applied substitution rule skein_512_up_rules(71).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H9:  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(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H25:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(72).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H26:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          18446744073709551615
<S>  New H9:  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(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(82).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H12:  fld_hash_bit_len(fld_h(ctx)) >= 0
-S-  Applied substitution rule skein_512_up_rules(83).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H13:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
-S-  Applied substitution rule skein_512_up_rules(92).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H9:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(ctx), [i___1])
           and element(fld_x(ctx), [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(93).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H9:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(102).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H8:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(ctx), [i___2])
           and element(fld_b(ctx), [i___2]) <= 255)
-S-  Applied substitution rule skein_512_up_rules(103).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H8:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 255)
***  Proved C2:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
     using hypothesis H13.
***  Proved C3:  fld_byte_count(fld_h(ctx)) >= 0
     using hypothesis H10.
---  Eliminated hypothesis H14 (true-hypothesis).
---  Eliminated hypothesis H15 (true-hypothesis).
---  Eliminated hypothesis H18 (true-hypothesis).
---  Eliminated hypothesis H6 (redundant, given H7).
     +++  New H28:  integer__size >= 0
     +++  New H29:  natural__size >= 0
     +++  New H30:  spark__unsigned__u6__size >= 0
     +++  New H31:  spark__unsigned__u7__size >= 0
     +++  New H32:  spark__unsigned__byte__size >= 0
     +++  New H33:  spark__unsigned__u16__size >= 0
     +++  New H34:  spark__unsigned__u32__size >= 0
     +++  New H35:  spark__unsigned__u64__size >= 0
     +++  New H36:  spark__crypto__word_count_t__size >= 0
     +++  New H37:  hash_bit_length__size >= 0
     +++  New H38:  initialized_hash_bit_length__size >= 0
     +++  New H39:  skein_512_state_words_index__size >= 0
     +++  New H40:  skein_512_block_bytes_count__size >= 0
     +++  New H41:  skein_512_block_bytes_index__size >= 0
     +++  New H42:  positive_block_512_count_t__size >= 0
     +++  New H43:  skein_512_context__size >= 0
     +++  New H44:  msg__index__subtype__1__first <= 
          msg__index__subtype__1__last
     +++  New H45:  context_header__size >= 0
     +++  New H46:  msg__index__subtype__1__first >= 0
     +++  New H47:  msg__index__subtype__1__last >= 0
     +++  New H48:  msg__index__subtype__1__last <= 2147483647
     +++  New H49:  msg__index__subtype__1__first <= 2147483647
***  Proved C1:  fld_hash_bit_len(fld_h(ctx)) >= 1
     This was achieved by applying the rewrite rule skein_rules(2)
     [from rulefile skein.rlu] to rewrite this conclusion to:
<S>  C1:  hash_bit_len_of(ctx) >= 1
     This rule could be applied because its side-conditions hold, as follows:
     <<<  From H1, proved: hash_bit_len_of(ctx) >= 1
     <<<  Immediate condition checktype(ctx, skein_512_context) evaluated 
          successfully
***  Proved C4:  fld_byte_count(fld_h(ctx)) <= 64
     This was achieved by applying the rewrite rule skein_rules(1)
     [from rulefile skein.rlu] to rewrite this conclusion to:
<S>  C4:  byte_count_of(ctx) <= 64
     This rule could be applied because its side-conditions hold, as follows:
     <<<  From H4, proved: byte_count_of(ctx) <= 64
     <<<  Immediate condition checktype(ctx, skein_512_context) evaluated 
          successfully
***  PROVED VC.

VCN  35: Summary of user rule application.
FIL  skein.rlu
RUL     skein_rules(2)
CON        1
RUL     skein_rules(1)
CON        4


@@@@@@@@@@  VC: procedure_skein_512_update_36.  @@@@@@@@@@
%%%  Simplified H1 on reading formula in, to give:
     %%%  H1:  hash_bit_len_of(ctx~) >= initialized_hash_bit_length__first
%%%  Simplified H2 on reading formula in, to give:
     %%%  H2:  hash_bit_len_of(ctx~) <= initialized_hash_bit_length__last
%%%  Simplified H3 on reading formula in, to give:
     %%%  H3:  byte_count_of(ctx~) >= skein_512_block_bytes_count__first
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  byte_count_of(ctx~) <= skein_512_block_bytes_count__last
%%%  Simplified H8 on reading formula in, to give:
     %%%  H8:  fld_hash_bit_len(fld_h(ctx~)) >= 
          initialized_hash_bit_length__first
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  fld_hash_bit_len(fld_h(ctx~)) <= 
          initialized_hash_bit_length__last
%%%  Simplified H10 on reading formula in, to give:
     %%%  H10:  fld_byte_count(fld_h(ctx~)) >= 
          skein_512_block_bytes_count__first
%%%  Simplified H11 on reading formula in, to give:
     %%%  H11:  fld_byte_count(fld_h(ctx~)) <= skein_512_block_bytes_count__last
---  Hypothesis H12 has been replaced by "true".  (It is already present, as H5)
          .
---  Hypothesis H13 has been replaced by "true".  (It is already present, as H6)
          .
%%%  Simplified H15 on reading formula in, to give:
     %%%  H15:  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(ctx~), [i___2]) and 
          element(fld_b(ctx~), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H16 on reading formula in, to give:
     %%%  H16:  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(ctx~), [i___1]) and 
          element(fld_x(ctx~), [i___1]) <= spark__unsigned__u64__last)
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  fld_byte_count(fld_h(ctx~)) >= natural__first
%%%  Simplified H18 on reading formula in, to give:
     %%%  H18:  fld_byte_count(fld_h(ctx~)) <= natural__last
%%%  Simplified H19 on reading formula in, to give:
     %%%  H19:  fld_hash_bit_len(fld_h(ctx~)) >= hash_bit_length__first
%%%  Simplified H20 on reading formula in, to give:
     %%%  H20:  fld_hash_bit_len(fld_h(ctx~)) <= hash_bit_length__last
%%%  Simplified H23 on reading formula in, to give:
     %%%  H23:  fld_field_type(fld_tweak_words(fld_h(ctx~))) >= 
          spark__unsigned__u6__first
%%%  Simplified H24 on reading formula in, to give:
     %%%  H24:  fld_field_type(fld_tweak_words(fld_h(ctx~))) <= 
          spark__unsigned__u6__last
%%%  Simplified H26 on reading formula in, to give:
     %%%  H26:  fld_tree_level(fld_tweak_words(fld_h(ctx~))) >= 
          spark__unsigned__u7__first
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  fld_tree_level(fld_tweak_words(fld_h(ctx~))) <= 
          spark__unsigned__u7__last
%%%  Simplified H28 on reading formula in, to give:
     %%%  H28:  fld_reserved(fld_tweak_words(fld_h(ctx~))) >= 
          spark__unsigned__u16__first
%%%  Simplified H29 on reading formula in, to give:
     %%%  H29:  fld_reserved(fld_tweak_words(fld_h(ctx~))) <= 
          spark__unsigned__u16__last
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx~))) >= 
          spark__unsigned__u32__first
%%%  Simplified H31 on reading formula in, to give:
     %%%  H31:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx~))) <= 
          spark__unsigned__u32__last
%%%  Simplified H32 on reading formula in, to give:
     %%%  H32:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx~))) >= 
          spark__unsigned__u64__first
%%%  Simplified H33 on reading formula in, to give:
     %%%  H33:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx~))) <= 
          spark__unsigned__u64__last
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(msg, [i___1]) and element(
          msg, [i___1]) <= spark__unsigned__byte__last)
%%%  Simplified H35 on reading formula in, to give:
     %%%  H35:  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(ctx), [i___2]) and 
          element(fld_b(ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H36 on reading formula in, to give:
     %%%  H36:  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(ctx), [i___1]) and 
          element(fld_x(ctx), [i___1]) <= spark__unsigned__u64__last)
%%%  Simplified H56 on reading formula in, to give:
     %%%  H56:  fld_hash_bit_len(fld_h(ctx)) = fld_hash_bit_len(fld_h(ctx~))
%%%  Simplified C3 on reading formula in, to give:
     %%%  C3:  hash_bit_len_of(ctx) = hash_bit_len_of(ctx~)
-S-  Applied substitution rule skein_512_up_rules(87).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__first by:
          1.
<S>  New H1:  hash_bit_len_of(ctx~) >= 1
<S>  New H8:  fld_hash_bit_len(fld_h(ctx~)) >= 1
<S>  New H54:  fld_hash_bit_len(fld_h(ctx)) >= 1
<S>  New C1:  hash_bit_len_of(ctx) >= 1
-S-  Applied substitution rule skein_512_up_rules(88).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__last by:
          2147483640.
<S>  New H2:  hash_bit_len_of(ctx~) <= 2147483640
<S>  New H9:  fld_hash_bit_len(fld_h(ctx~)) <= 2147483640
<S>  New H55:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New C2:  hash_bit_len_of(ctx) <= 2147483640
-S-  Applied substitution rule skein_512_up_rules(97).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__first by:
          0.
<S>  New H3:  byte_count_of(ctx~) >= 0
<S>  New H10:  fld_byte_count(fld_h(ctx~)) >= 0
<S>  New H57:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New C4:  byte_count_of(ctx) >= 0
-S-  Applied substitution rule skein_512_up_rules(98).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__last by:
          64.
<S>  New H4:  byte_count_of(ctx~) <= 64
<S>  New H11:  fld_byte_count(fld_h(ctx~)) <= 64
<S>  New H58:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New C5:  byte_count_of(ctx) <= 64
-S-  Applied substitution rule skein_512_up_rules(1).
     This was achieved by replacing all occurrences of skein_512_block_bytes_c 
          by:
          64.
<S>  New H7:  msg__index__subtype__1__last + 64 < natural__last
<S>  New H14:  msg__index__subtype__1__last + 65 <= natural__last
-S-  Applied substitution rule skein_512_up_rules(8).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H17:  fld_byte_count(fld_h(ctx~)) >= 0
<S>  New H37:  fld_byte_count(fld_h(ctx)) >= 0
-S-  Applied substitution rule skein_512_up_rules(9).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H6:  msg__index__subtype__1__last < 2147483647
<S>  New H18:  fld_byte_count(fld_h(ctx~)) <= 2147483647
<S>  New H38:  fld_byte_count(fld_h(ctx)) <= 2147483647
<S>  New H7:  msg__index__subtype__1__last < 2147483583
<S>  New H14:  msg__index__subtype__1__last <= 2147483582
-S-  Applied substitution rule skein_512_up_rules(41).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H23:  fld_field_type(fld_tweak_words(fld_h(ctx~))) >= 0
<S>  New H43:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(42).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H24:  fld_field_type(fld_tweak_words(fld_h(ctx~))) <= 63
<S>  New H44:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 63
-S-  Applied substitution rule skein_512_up_rules(47).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H26:  fld_tree_level(fld_tweak_words(fld_h(ctx~))) >= 0
<S>  New H46:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(48).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H27:  fld_tree_level(fld_tweak_words(fld_h(ctx~))) <= 127
<S>  New H47:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 127
-S-  Applied substitution rule skein_512_up_rules(53).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H15:  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(ctx~), [i___2]) and element(fld_b(ctx~), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New H34:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 0 <= element(msg, [i___1]
          ) and element(msg, [i___1]) <= spark__unsigned__byte__last)
<S>  New H35:  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(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 
          spark__unsigned__byte__last)
-S-  Applied substitution rule skein_512_up_rules(54).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H15:  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(ctx~), [i___2]) and element(fld_b(ctx~), [i___2]) <= 255)
<S>  New H34:  for_all(i___1 : integer, msg__index__subtype__1__first <= i___1 
          and i___1 <= msg__index__subtype__1__last -> 0 <= element(msg, [i___1]
          ) and element(msg, [i___1]) <= 255)
<S>  New H35:  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(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 255)
-S-  Applied substitution rule skein_512_up_rules(59).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H28:  fld_reserved(fld_tweak_words(fld_h(ctx~))) >= 0
<S>  New H48:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(60).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H29:  fld_reserved(fld_tweak_words(fld_h(ctx~))) <= 65535
<S>  New H49:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 65535
-S-  Applied substitution rule skein_512_up_rules(65).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H30:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx~))) >= 0
<S>  New H50:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(66).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H31:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx~))) <= 4294967295
<S>  New H51:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 4294967295
-S-  Applied substitution rule skein_512_up_rules(71).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H16:  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(ctx~), [i___1]) and element(fld_x(ctx~), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H32:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx~))) >= 0
<S>  New H36:  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(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H52:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_up_rules(72).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H33:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx~))) <= 
          18446744073709551615
<S>  New H53:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          18446744073709551615
<S>  New H16:  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(ctx~), [i___1]) and element(fld_x(ctx~), [i___1]) <= 
          18446744073709551615)
<S>  New H36:  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(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(82).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H19:  fld_hash_bit_len(fld_h(ctx~)) >= 0
<S>  New H39:  fld_hash_bit_len(fld_h(ctx)) >= 0
-S-  Applied substitution rule skein_512_up_rules(83).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H20:  fld_hash_bit_len(fld_h(ctx~)) <= 2147483640
<S>  New H40:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
-S-  Applied substitution rule skein_512_up_rules(92).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H16:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(ctx~), [i___1]
          ) and element(fld_x(ctx~), [i___1]) <= 18446744073709551615)
<S>  New H36:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(ctx), [i___1])
           and element(fld_x(ctx), [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(93).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H16:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(ctx~), [i___1]) and element(fld_x(ctx~), [i___1]) <= 
          18446744073709551615)
<S>  New H36:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(ctx), [i___1]) and element(fld_x(ctx), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule skein_512_up_rules(102).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H15:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(ctx~), [i___2]
          ) and element(fld_b(ctx~), [i___2]) <= 255)
<S>  New H35:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(ctx), [i___2])
           and element(fld_b(ctx), [i___2]) <= 255)
-S-  Applied substitution rule skein_512_up_rules(103).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H15:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(ctx~), [i___2]) and element(fld_b(ctx~), [i___2]) <= 
          255)
<S>  New H35:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(ctx), [i___2]) and element(fld_b(ctx), [i___2]) <= 255)
---  Eliminated hypothesis H12 (true-hypothesis).
---  Eliminated hypothesis H13 (true-hypothesis).
---  Eliminated hypothesis H21 (true-hypothesis).
---  Eliminated hypothesis H22 (true-hypothesis).
---  Eliminated hypothesis H25 (true-hypothesis).
---  Eliminated hypothesis H41 (true-hypothesis).
---  Eliminated hypothesis H42 (true-hypothesis).
---  Eliminated hypothesis H45 (true-hypothesis).
---  Eliminated hypothesis H20 (duplicate of H9).
---  Eliminated hypothesis H17 (duplicate of H10).
---  Eliminated hypothesis H57 (duplicate of H37).
---  Eliminated hypothesis H55 (duplicate of H40).
---  Eliminated hypothesis H14 (duplicate of H7).
---  Eliminated hypothesis H6 (redundant, given H7).
---  Eliminated hypothesis H18 (redundant, given H11).
---  Eliminated hypothesis H19 (redundant, given H8).
---  Eliminated hypothesis H38 (redundant, given H58).
---  Eliminated hypothesis H39 (redundant, given H54).
     +++  New H59:  integer__size >= 0
     +++  New H60:  natural__size >= 0
     +++  New H61:  spark__unsigned__u6__size >= 0
     +++  New H62:  spark__unsigned__u7__size >= 0
     +++  New H63:  spark__unsigned__byte__size >= 0
     +++  New H64:  spark__unsigned__u16__size >= 0
     +++  New H65:  spark__unsigned__u32__size >= 0
     +++  New H66:  spark__unsigned__u64__size >= 0
     +++  New H67:  spark__crypto__word_count_t__size >= 0
     +++  New H68:  hash_bit_length__size >= 0
     +++  New H69:  initialized_hash_bit_length__size >= 0
     +++  New H70:  skein_512_state_words_index__size >= 0
     +++  New H71:  skein_512_block_bytes_count__size >= 0
     +++  New H72:  skein_512_block_bytes_index__size >= 0
     +++  New H73:  positive_block_512_count_t__size >= 0
     +++  New H74:  skein_512_context__size >= 0
     +++  New H75:  msg__index__subtype__1__first <= 
          msg__index__subtype__1__last
     +++  New H76:  context_header__size >= 0
     +++  New H77:  msg__index__subtype__1__first >= 0
     +++  New H78:  msg__index__subtype__1__last >= 0
     +++  New H79:  msg__index__subtype__1__last <= 2147483647
     +++  New H80:  msg__index__subtype__1__first <= 2147483647
***  Proved C1:  hash_bit_len_of(ctx) >= 1
     This was achieved by applying the rewrite rule skein_rules(2)
     [from rulefile skein.rlu] to rewrite this conclusion to:
<S>  C1:  fld_hash_bit_len(fld_h(ctx)) >= 1
     This rule could be applied because its side-conditions hold, as follows:
     <<<  From H54, proved: fld_hash_bit_len(fld_h(ctx)) >= 1
     <<<  Immediate condition checktype(ctx, skein_512_context) evaluated 
          successfully
***  Proved C2:  hash_bit_len_of(ctx) <= 2147483640
     This was achieved by applying the rewrite rule skein_rules(2)
     [from rulefile skein.rlu] to rewrite this conclusion to:
<S>  C2:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
     This rule could be applied because its side-conditions hold, as follows:
     <<<  From H40, proved: fld_hash_bit_len(fld_h(ctx)) <= 2147483640
     <<<  Immediate condition checktype(ctx, skein_512_context) evaluated 
          successfully
***  Proved C4:  byte_count_of(ctx) >= 0
     This was achieved by applying the rewrite rule skein_rules(1)
     [from rulefile skein.rlu] to rewrite this conclusion to:
<S>  C4:  fld_byte_count(fld_h(ctx)) >= 0
     This rule could be applied because its side-conditions hold, as follows:
     <<<  From H37, proved: fld_byte_count(fld_h(ctx)) >= 0
     <<<  Immediate condition checktype(ctx, skein_512_context) evaluated 
          successfully
***  Proved C5:  byte_count_of(ctx) <= 64
     This was achieved by applying the rewrite rule skein_rules(1)
     [from rulefile skein.rlu] to rewrite this conclusion to:
<S>  C5:  fld_byte_count(fld_h(ctx)) <= 64
     This rule could be applied because its side-conditions hold, as follows:
     <<<  From H58, proved: fld_byte_count(fld_h(ctx)) <= 64
     <<<  Immediate condition checktype(ctx, skein_512_context) evaluated 
          successfully
+++  New H81:  fld_hash_bit_len(fld_h(ctx)) = hash_bit_len_of(ctx~)
     This was achieved by applying the rewrite rule skein_rules(2)
     [from rulefile skein.rlu] to rewrite existing hypothesis H56 to give the 
          above formula.
     This rule could be applied because its side-condition holds, as follows:
     <<<  Immediate condition checktype(ctx~, skein_512_context) evaluated 
          successfully
***  Proved C3:  hash_bit_len_of(ctx) = hash_bit_len_of(ctx~)
     This was achieved by applying the rewrite rule skein_rules(2)
     [from rulefile skein.rlu] to rewrite this conclusion to:
<S>  C3:  fld_hash_bit_len(fld_h(ctx)) = hash_bit_len_of(ctx~)
     This rule could be applied because its side-conditions hold, as follows:
     <<<  From H81, proved: fld_hash_bit_len(fld_h(ctx)) = hash_bit_len_of(ctx~)
     <<<  Immediate condition checktype(ctx, skein_512_context) evaluated 
          successfully
***  PROVED VC.

VCN  36: Summary of user rule application.
FIL  skein.rlu
RUL     skein_rules(2)
CON        1, 2, 3
HYP        81
RUL     skein_rules(1)
CON        4, 5


OVR  Overall summary of VCs using user rules.
FIL  skein.rlu
RUL     skein_rules(2)
VCS        35, 36
RUL     skein_rules(1)
VCS        35, 36

