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

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



SPARK Simplifier Pro Edition


procedure Skein.Skein_512_Final






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_final_1.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  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 H8 on reading formula in, to give:
     %%%  H8:  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)
-S-  Applied substitution rule skein_512_fi_rules(9).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H9:  fld_byte_count(fld_h(ctx)) >= 0
-S-  Applied substitution rule skein_512_fi_rules(10).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H10:  fld_byte_count(fld_h(ctx)) <= 2147483647
-S-  Applied substitution rule skein_512_fi_rules(42).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H15:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(43).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H16:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 63
-S-  Applied substitution rule skein_512_fi_rules(48).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H18:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(49).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H19:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 127
-S-  Applied substitution rule skein_512_fi_rules(54).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H7:  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_fi_rules(55).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H7:  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_fi_rules(60).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H20:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(61).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H21:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 65535
-S-  Applied substitution rule skein_512_fi_rules(66).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H22:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(67).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H23:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 4294967295
-S-  Applied substitution rule skein_512_fi_rules(72).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H8:  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 H24:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(73).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H25:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          18446744073709551615
<S>  New H8:  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_fi_rules(83).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H11:  fld_hash_bit_len(fld_h(ctx)) >= 0
-S-  Applied substitution rule skein_512_fi_rules(84).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H12:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
-S-  Applied substitution rule skein_512_fi_rules(88).
     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_fi_rules(89).
     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_fi_rules(93).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H8:  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_fi_rules(94).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H8:  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_fi_rules(98).
     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_fi_rules(99).
     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_fi_rules(103).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H7:  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_fi_rules(104).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H7:  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:  fld_hash_bit_len(fld_h(ctx)) > 0
     using hypothesis H1.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_final_2.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  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 H8 on reading formula in, to give:
     %%%  H8:  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)
-S-  Applied substitution rule skein_512_fi_rules(54).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H7:  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 C1:  true
-S-  Applied substitution rule skein_512_fi_rules(55).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H7:  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 C2:  true
***  Proved C1:  true
***  Proved C2:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_final_3.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  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 H8 on reading formula in, to give:
     %%%  H8:  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 H29 on reading formula in, to give:
     %%%  H29:  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 H30 on reading formula in, to give:
     %%%  H30:  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 H31 on reading formula in, to give:
     %%%  H31:  fld_byte_count(fld_h(ctx)) >= natural__first
%%%  Simplified H32 on reading formula in, to give:
     %%%  H32:  fld_byte_count(fld_h(ctx)) <= natural__last
%%%  Simplified H33 on reading formula in, to give:
     %%%  H33:  fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u6__first
%%%  Simplified H38 on reading formula in, to give:
     %%%  H38:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u6__last
%%%  Simplified H40 on reading formula in, to give:
     %%%  H40:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u7__first
%%%  Simplified H41 on reading formula in, to give:
     %%%  H41:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u7__last
%%%  Simplified H42 on reading formula in, to give:
     %%%  H42:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u16__first
%%%  Simplified H43 on reading formula in, to give:
     %%%  H43:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u16__last
%%%  Simplified H44 on reading formula in, to give:
     %%%  H44:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u32__first
%%%  Simplified H45 on reading formula in, to give:
     %%%  H45:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u32__last
%%%  Simplified H46 on reading formula in, to give:
     %%%  H46:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u64__first
%%%  Simplified H47 on reading formula in, to give:
     %%%  H47:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u64__last
%%%  Simplified H48 on reading formula in, to give:
     %%%  H48:  fld_byte_count(fld_h(ctx)) < skein_512_block_bytes_c
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  fld_byte_count(fld_h(ctx)) < skein_512_block_bytes_c
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  fld_hash_bit_len(fld_h(ctx)) > 0
***  Proved C1:  fld_byte_count(fld_h(ctx)) < skein_512_block_bytes_c
     using hypothesis H48.
***  Proved C2:  fld_hash_bit_len(fld_h(ctx)) > 0
     using hypothesis H26.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_final_4.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  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 H8 on reading formula in, to give:
     %%%  H8:  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 H29 on reading formula in, to give:
     %%%  H29:  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 H30 on reading formula in, to give:
     %%%  H30:  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 H31 on reading formula in, to give:
     %%%  H31:  fld_byte_count(fld_h(ctx)) >= natural__first
%%%  Simplified H32 on reading formula in, to give:
     %%%  H32:  fld_byte_count(fld_h(ctx)) <= natural__last
%%%  Simplified H33 on reading formula in, to give:
     %%%  H33:  fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u6__first
%%%  Simplified H38 on reading formula in, to give:
     %%%  H38:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u6__last
%%%  Simplified H40 on reading formula in, to give:
     %%%  H40:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u7__first
%%%  Simplified H41 on reading formula in, to give:
     %%%  H41:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u7__last
%%%  Simplified H42 on reading formula in, to give:
     %%%  H42:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u16__first
%%%  Simplified H43 on reading formula in, to give:
     %%%  H43:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u16__last
%%%  Simplified H44 on reading formula in, to give:
     %%%  H44:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u32__first
%%%  Simplified H45 on reading formula in, to give:
     %%%  H45:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u32__last
%%%  Simplified H46 on reading formula in, to give:
     %%%  H46:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u64__first
%%%  Simplified H47 on reading formula in, to give:
     %%%  H47:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u64__last
%%%  Simplified H48 on reading formula in, to give:
     %%%  H48:  fld_byte_count(fld_h(ctx)) < skein_512_block_bytes_c
---  Hypothesis H49 has been replaced by "true".  (It is already present, as 
          H48).
%%%  Simplified H50 on reading formula in, to give:
     %%%  H50:  fld_hash_bit_len(fld_h(ctx)) > 0
%%%  Simplified H51 on reading formula in, to give:
     %%%  H51:  fld_hash_bit_len(fld_h(local_ctx__1)) = fld_hash_bit_len(fld_h(
          ctx))
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  fld_byte_count(fld_h(local_ctx__1)) = fld_byte_count(fld_h(ctx))
%%%  Simplified H55 on reading formula in, to give:
     %%%  H55:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx__1), [i___2]) 
          and element(fld_b(local_ctx__1), [i___2]) <= 
          spark__unsigned__byte__last)
%%%  Simplified H56 on reading formula in, to give:
     %%%  H56:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx__1), [i___1]) 
          and element(fld_x(local_ctx__1), [i___1]) <= 
          spark__unsigned__u64__last)
---  Hypothesis H74 has been replaced by "true".  (It is already present, as 
          H55).
---  Hypothesis H75 has been replaced by "true".  (It is already present, as 
          H56).
---  Hypothesis H76 has been replaced by "true".  (It is already present, as 
          H57).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H58).
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H59).
---  Hypothesis H79 has been replaced by "true".  (It is already present, as 
          H60).
---  Hypothesis H82 has been replaced by "true".  (It is already present, as 
          H63).
---  Hypothesis H83 has been replaced by "true".  (It is already present, as 
          H64).
---  Hypothesis H85 has been replaced by "true".  (It is already present, as 
          H66).
---  Hypothesis H86 has been replaced by "true".  (It is already present, as 
          H67).
---  Hypothesis H87 has been replaced by "true".  (It is already present, as 
          H68).
---  Hypothesis H88 has been replaced by "true".  (It is already present, as 
          H69).
---  Hypothesis H89 has been replaced by "true".  (It is already present, as 
          H70).
---  Hypothesis H90 has been replaced by "true".  (It is already present, as 
          H71).
---  Hypothesis H91 has been replaced by "true".  (It is already present, as 
          H72).
---  Hypothesis H92 has been replaced by "true".  (It is already present, as 
          H73).
---  Hypothesis H93 has been replaced by "true".  (It is already present, as 
          H55).
---  Hypothesis H94 has been replaced by "true".  (It is already present, as 
          H56).
---  Hypothesis H95 has been replaced by "true".  (It is already present, as 
          H57).
---  Hypothesis H96 has been replaced by "true".  (It is already present, as 
          H58).
---  Hypothesis H97 has been replaced by "true".  (It is already present, as 
          H59).
---  Hypothesis H98 has been replaced by "true".  (It is already present, as 
          H60).
---  Hypothesis H101 has been replaced by "true".  (It is already present, as 
          H63).
---  Hypothesis H102 has been replaced by "true".  (It is already present, as 
          H64).
---  Hypothesis H104 has been replaced by "true".  (It is already present, as 
          H66).
---  Hypothesis H105 has been replaced by "true".  (It is already present, as 
          H67).
---  Hypothesis H106 has been replaced by "true".  (It is already present, as 
          H68).
---  Hypothesis H107 has been replaced by "true".  (It is already present, as 
          H69).
---  Hypothesis H108 has been replaced by "true".  (It is already present, as 
          H70).
---  Hypothesis H109 has been replaced by "true".  (It is already present, as 
          H71).
---  Hypothesis H110 has been replaced by "true".  (It is already present, as 
          H72).
---  Hypothesis H111 has been replaced by "true".  (It is already present, as 
          H73).
***  Proved C1:  fld_byte_count(fld_h(local_ctx__1)) >= natural__first
     using hypothesis H57.
***  Proved C2:  fld_byte_count(fld_h(local_ctx__1)) <= natural__last
     using hypothesis H58.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_final_5.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  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 H8 on reading formula in, to give:
     %%%  H8:  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 H29 on reading formula in, to give:
     %%%  H29:  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 H30 on reading formula in, to give:
     %%%  H30:  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 H31 on reading formula in, to give:
     %%%  H31:  fld_byte_count(fld_h(ctx)) >= natural__first
%%%  Simplified H32 on reading formula in, to give:
     %%%  H32:  fld_byte_count(fld_h(ctx)) <= natural__last
%%%  Simplified H33 on reading formula in, to give:
     %%%  H33:  fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u6__first
%%%  Simplified H38 on reading formula in, to give:
     %%%  H38:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u6__last
%%%  Simplified H40 on reading formula in, to give:
     %%%  H40:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u7__first
%%%  Simplified H41 on reading formula in, to give:
     %%%  H41:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u7__last
%%%  Simplified H42 on reading formula in, to give:
     %%%  H42:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u16__first
%%%  Simplified H43 on reading formula in, to give:
     %%%  H43:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u16__last
%%%  Simplified H44 on reading formula in, to give:
     %%%  H44:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u32__first
%%%  Simplified H45 on reading formula in, to give:
     %%%  H45:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u32__last
%%%  Simplified H46 on reading formula in, to give:
     %%%  H46:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u64__first
%%%  Simplified H47 on reading formula in, to give:
     %%%  H47:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u64__last
%%%  Simplified H48 on reading formula in, to give:
     %%%  H48:  not fld_byte_count(fld_h(ctx)) < skein_512_block_bytes_c
---  Hypothesis H49 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H50 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H51 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H52 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H53 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H54 has been replaced by "true".  (It is already present, as 
          H34).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as 
          H37).
---  Hypothesis H58 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H60 has been replaced by "true".  (It is already present, as 
          H40).
---  Hypothesis H61 has been replaced by "true".  (It is already present, as 
          H41).
---  Hypothesis H62 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H63 has been replaced by "true".  (It is already present, as 
          H43).
---  Hypothesis H64 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H65 has been replaced by "true".  (It is already present, as 
          H45).
---  Hypothesis H66 has been replaced by "true".  (It is already present, as 
          H46).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H47).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H69 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H70 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H71 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H72 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H73 has been replaced by "true".  (It is already present, as 
          H34).
---  Hypothesis H76 has been replaced by "true".  (It is already present, as 
          H37).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H79 has been replaced by "true".  (It is already present, as 
          H40).
---  Hypothesis H80 has been replaced by "true".  (It is already present, as 
          H41).
---  Hypothesis H81 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H82 has been replaced by "true".  (It is already present, as 
          H43).
---  Hypothesis H83 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H84 has been replaced by "true".  (It is already present, as 
          H45).
---  Hypothesis H85 has been replaced by "true".  (It is already present, as 
          H46).
---  Hypothesis H86 has been replaced by "true".  (It is already present, as 
          H47).
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  fld_byte_count(fld_h(ctx)) >= natural__first
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  fld_byte_count(fld_h(ctx)) <= natural__last
***  Proved C1:  fld_byte_count(fld_h(ctx)) >= natural__first
     using hypothesis H9.
***  Proved C2:  fld_byte_count(fld_h(ctx)) <= natural__last
     using hypothesis H10.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_final_6.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  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 H8 on reading formula in, to give:
     %%%  H8:  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 H29 on reading formula in, to give:
     %%%  H29:  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 H30 on reading formula in, to give:
     %%%  H30:  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 H31 on reading formula in, to give:
     %%%  H31:  fld_byte_count(fld_h(ctx)) >= natural__first
%%%  Simplified H32 on reading formula in, to give:
     %%%  H32:  fld_byte_count(fld_h(ctx)) <= natural__last
%%%  Simplified H33 on reading formula in, to give:
     %%%  H33:  fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u6__first
%%%  Simplified H38 on reading formula in, to give:
     %%%  H38:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u6__last
%%%  Simplified H40 on reading formula in, to give:
     %%%  H40:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u7__first
%%%  Simplified H41 on reading formula in, to give:
     %%%  H41:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u7__last
%%%  Simplified H42 on reading formula in, to give:
     %%%  H42:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u16__first
%%%  Simplified H43 on reading formula in, to give:
     %%%  H43:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u16__last
%%%  Simplified H44 on reading formula in, to give:
     %%%  H44:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u32__first
%%%  Simplified H45 on reading formula in, to give:
     %%%  H45:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u32__last
%%%  Simplified H46 on reading formula in, to give:
     %%%  H46:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u64__first
%%%  Simplified H47 on reading formula in, to give:
     %%%  H47:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u64__last
%%%  Simplified H48 on reading formula in, to give:
     %%%  H48:  fld_byte_count(fld_h(ctx)) < skein_512_block_bytes_c
---  Hypothesis H49 has been replaced by "true".  (It is already present, as 
          H48).
%%%  Simplified H50 on reading formula in, to give:
     %%%  H50:  fld_hash_bit_len(fld_h(ctx)) > 0
%%%  Simplified H51 on reading formula in, to give:
     %%%  H51:  fld_hash_bit_len(fld_h(local_ctx__1)) = fld_hash_bit_len(fld_h(
          ctx))
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  fld_byte_count(fld_h(local_ctx__1)) = fld_byte_count(fld_h(ctx))
%%%  Simplified H55 on reading formula in, to give:
     %%%  H55:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx__1), [i___2]) 
          and element(fld_b(local_ctx__1), [i___2]) <= 
          spark__unsigned__byte__last)
%%%  Simplified H56 on reading formula in, to give:
     %%%  H56:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx__1), [i___1]) 
          and element(fld_x(local_ctx__1), [i___1]) <= 
          spark__unsigned__u64__last)
---  Hypothesis H74 has been replaced by "true".  (It is already present, as 
          H55).
---  Hypothesis H75 has been replaced by "true".  (It is already present, as 
          H56).
---  Hypothesis H76 has been replaced by "true".  (It is already present, as 
          H57).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H58).
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H59).
---  Hypothesis H79 has been replaced by "true".  (It is already present, as 
          H60).
---  Hypothesis H82 has been replaced by "true".  (It is already present, as 
          H63).
---  Hypothesis H83 has been replaced by "true".  (It is already present, as 
          H64).
---  Hypothesis H85 has been replaced by "true".  (It is already present, as 
          H66).
---  Hypothesis H86 has been replaced by "true".  (It is already present, as 
          H67).
---  Hypothesis H87 has been replaced by "true".  (It is already present, as 
          H68).
---  Hypothesis H88 has been replaced by "true".  (It is already present, as 
          H69).
---  Hypothesis H89 has been replaced by "true".  (It is already present, as 
          H70).
---  Hypothesis H90 has been replaced by "true".  (It is already present, as 
          H71).
---  Hypothesis H91 has been replaced by "true".  (It is already present, as 
          H72).
---  Hypothesis H92 has been replaced by "true".  (It is already present, as 
          H73).
---  Hypothesis H93 has been replaced by "true".  (It is already present, as 
          H55).
---  Hypothesis H94 has been replaced by "true".  (It is already present, as 
          H56).
---  Hypothesis H95 has been replaced by "true".  (It is already present, as 
          H57).
---  Hypothesis H96 has been replaced by "true".  (It is already present, as 
          H58).
---  Hypothesis H97 has been replaced by "true".  (It is already present, as 
          H59).
---  Hypothesis H98 has been replaced by "true".  (It is already present, as 
          H60).
---  Hypothesis H101 has been replaced by "true".  (It is already present, as 
          H63).
---  Hypothesis H102 has been replaced by "true".  (It is already present, as 
          H64).
---  Hypothesis H104 has been replaced by "true".  (It is already present, as 
          H66).
---  Hypothesis H105 has been replaced by "true".  (It is already present, as 
          H67).
---  Hypothesis H106 has been replaced by "true".  (It is already present, as 
          H68).
---  Hypothesis H107 has been replaced by "true".  (It is already present, as 
          H69).
---  Hypothesis H108 has been replaced by "true".  (It is already present, as 
          H70).
---  Hypothesis H109 has been replaced by "true".  (It is already present, as 
          H71).
---  Hypothesis H110 has been replaced by "true".  (It is already present, as 
          H72).
---  Hypothesis H111 has been replaced by "true".  (It is already present, as 
          H73).
---  Hypothesis H112 has been replaced by "true".  (It is already present, as 
          H57).
---  Hypothesis H113 has been replaced by "true".  (It is already present, as 
          H58).
---  Hypothesis H114 has been replaced by "true".  (It is already present, as 
          H55).
---  Hypothesis H115 has been replaced by "true".  (It is already present, as 
          H56).
---  Hypothesis H116 has been replaced by "true".  (It is already present, as 
          H57).
---  Hypothesis H117 has been replaced by "true".  (It is already present, as 
          H58).
---  Hypothesis H118 has been replaced by "true".  (It is already present, as 
          H59).
---  Hypothesis H119 has been replaced by "true".  (It is already present, as 
          H60).
---  Hypothesis H122 has been replaced by "true".  (It is already present, as 
          H63).
---  Hypothesis H123 has been replaced by "true".  (It is already present, as 
          H64).
---  Hypothesis H125 has been replaced by "true".  (It is already present, as 
          H66).
---  Hypothesis H126 has been replaced by "true".  (It is already present, as 
          H67).
---  Hypothesis H127 has been replaced by "true".  (It is already present, as 
          H68).
---  Hypothesis H128 has been replaced by "true".  (It is already present, as 
          H69).
---  Hypothesis H129 has been replaced by "true".  (It is already present, as 
          H70).
---  Hypothesis H130 has been replaced by "true".  (It is already present, as 
          H71).
---  Hypothesis H131 has been replaced by "true".  (It is already present, as 
          H72).
---  Hypothesis H132 has been replaced by "true".  (It is already present, as 
          H73).
%%%  Simplified H133 on reading formula in, to give:
     %%%  H133:  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(local_ctx__1), [i___1]) 
          and element(fld_b(local_ctx__1), [i___1]) <= 
          spark__unsigned__byte__last)
---  Hypothesis H134 has been replaced by "true".  (It is already present, as 
          H57).
---  Hypothesis H135 has been replaced by "true".  (It is already present, as 
          H58).
%%%  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:  fld_byte_count(fld_h(local_ctx__1)) >= natural__first
     using hypothesis H57.
***  Proved C2:  fld_byte_count(fld_h(local_ctx__1)) <= natural__last
     using hypothesis H58.
***  Proved C7:  fld_hash_bit_len(fld_h(local_ctx__1)) >= 
          initialized_hash_bit_length__first
     using hypotheses H1 & H51.
***  Proved C8:  fld_hash_bit_len(fld_h(local_ctx__1)) <= 
          initialized_hash_bit_length__last
     using hypotheses H2 & H51.
***  Proved C9:  fld_byte_count(fld_h(local_ctx__1)) >= 
          skein_512_block_bytes_count__first
     using hypotheses H3 & H54.
***  Proved C10:  fld_byte_count(fld_h(local_ctx__1)) <= 
          skein_512_block_bytes_count__last
     using hypotheses H4 & H54.
-S-  Applied substitution rule skein_512_fi_rules(108).
     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_fi_rules(109).
     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_fi_rules(9).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H9:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H31:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H57:  fld_byte_count(fld_h(local_ctx__1)) >= 0
<S>  New C5:  true
-S-  Applied substitution rule skein_512_fi_rules(10).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H10:  fld_byte_count(fld_h(ctx)) <= 2147483647
<S>  New H32:  fld_byte_count(fld_h(ctx)) <= 2147483647
<S>  New H58:  fld_byte_count(fld_h(local_ctx__1)) <= 2147483647
<S>  New C6:  true
<S>  New C14:  skein_512_block_bytes_index__last <= 2147483647
<S>  New C15:  true
-S-  Applied substitution rule skein_512_fi_rules(104).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H7:  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 H29:  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 H55:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> spark__unsigned__byte__first <= element(
          fld_b(local_ctx__1), [i___2]) and element(fld_b(local_ctx__1), [i___2]
          ) <= spark__unsigned__byte__last)
<S>  New H133:  for_all(i___1 : integer, skein_512_block_bytes_index__first <= 
          i___1 and i___1 <= 63 -> spark__unsigned__byte__first <= element(
          fld_b(local_ctx__1), [i___1]) and element(fld_b(local_ctx__1), [i___1]
          ) <= spark__unsigned__byte__last)
<S>  New C12:  true
<S>  New C13:  true
<S>  New C14:  true
***  Proved C3:  true
***  Proved C4:  true
***  Proved C5:  true
***  Proved C6:  true
***  Proved C15:  true
***  Proved C12:  true
***  Proved C13:  true
***  Proved C14:  true
-S-  Applied substitution rule skein_512_fi_rules(1).
     This was achieved by replacing all occurrences of skein_512_block_bytes_c 
          by:
          64.
<S>  New H48:  fld_byte_count(fld_h(ctx)) < 64
<S>  New H53:  fld_byte_count(fld_h(local_ctx__1)) < 64
-S-  Applied substitution rule skein_512_fi_rules(42).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H15:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H37:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H63:  fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(43).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H16:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 63
<S>  New H38:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 63
<S>  New H64:  fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) <= 63
-S-  Applied substitution rule skein_512_fi_rules(48).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H18:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H40:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H66:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(49).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H19:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 127
<S>  New H41:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 127
<S>  New H67:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) <= 127
-S-  Applied substitution rule skein_512_fi_rules(54).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H7:  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:  true
<S>  New H29:  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 H55:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> 0 <= element(fld_b(local_ctx__1), [i___2]) 
          and element(fld_b(local_ctx__1), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New H133:  for_all(i___1 : integer, skein_512_block_bytes_index__first <= 
          i___1 and i___1 <= 63 -> 0 <= element(fld_b(local_ctx__1), [i___1]) 
          and element(fld_b(local_ctx__1), [i___1]) <= 
          spark__unsigned__byte__last)
-S-  Applied substitution rule skein_512_fi_rules(55).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H28:  true
<S>  New H7:  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 H29:  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 H55:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> 0 <= element(fld_b(local_ctx__1), [i___2]) 
          and element(fld_b(local_ctx__1), [i___2]) <= 255)
<S>  New H133:  for_all(i___1 : integer, skein_512_block_bytes_index__first <= 
          i___1 and i___1 <= 63 -> 0 <= element(fld_b(local_ctx__1), [i___1]) 
          and element(fld_b(local_ctx__1), [i___1]) <= 255)
-S-  Applied substitution rule skein_512_fi_rules(60).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H20:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H42:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H68:  fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(61).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H21:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 65535
<S>  New H43:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 65535
<S>  New H69:  fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) <= 65535
-S-  Applied substitution rule skein_512_fi_rules(66).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H22:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H44:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H70:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(67).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H23:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 4294967295
<S>  New H45:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 4294967295
<S>  New H71:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) <= 
          4294967295
-S-  Applied substitution rule skein_512_fi_rules(72).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H8:  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 H24:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H30:  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 H46:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H56:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__1), [i___1]) and element(fld_x(local_ctx__1), [i___1]
          ) <= spark__unsigned__u64__last)
<S>  New H72:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(73).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H25:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          18446744073709551615
<S>  New H47:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          18446744073709551615
<S>  New H73:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) <= 
          18446744073709551615
<S>  New H8:  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 H30:  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 H56:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__1), [i___1]) and element(fld_x(local_ctx__1), [i___1]
          ) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_fi_rules(83).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H11:  fld_hash_bit_len(fld_h(ctx)) >= 0
<S>  New H33:  fld_hash_bit_len(fld_h(ctx)) >= 0
<S>  New H59:  fld_hash_bit_len(fld_h(local_ctx__1)) >= 0
-S-  Applied substitution rule skein_512_fi_rules(84).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H12:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H34:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H60:  fld_hash_bit_len(fld_h(local_ctx__1)) <= 2147483640
-S-  Applied substitution rule skein_512_fi_rules(88).
     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_fi_rules(89).
     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_fi_rules(93).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H8:  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 H30:  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 H56:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(local_ctx__1)
          , [i___1]) and element(fld_x(local_ctx__1), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule skein_512_fi_rules(94).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H8:  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 H30:  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 H56:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(local_ctx__1), [i___1]) and element(fld_x(local_ctx__1)
          , [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_fi_rules(98).
     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_fi_rules(99).
     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_fi_rules(103).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H7:  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 H29:  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 H55:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(local_ctx__1), [i___2]) and element(fld_b(local_ctx__1)
          , [i___2]) <= 255)
<S>  New H133:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 63 -> 0 <= 
          element(fld_b(local_ctx__1), [i___1]) and element(fld_b(local_ctx__1)
          , [i___1]) <= 255)
<S>  New C11:  true
***  Proved C11:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_final_7.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  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 H8 on reading formula in, to give:
     %%%  H8:  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 H29 on reading formula in, to give:
     %%%  H29:  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 H30 on reading formula in, to give:
     %%%  H30:  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 H31 on reading formula in, to give:
     %%%  H31:  fld_byte_count(fld_h(ctx)) >= natural__first
%%%  Simplified H32 on reading formula in, to give:
     %%%  H32:  fld_byte_count(fld_h(ctx)) <= natural__last
%%%  Simplified H33 on reading formula in, to give:
     %%%  H33:  fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u6__first
%%%  Simplified H38 on reading formula in, to give:
     %%%  H38:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u6__last
%%%  Simplified H40 on reading formula in, to give:
     %%%  H40:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u7__first
%%%  Simplified H41 on reading formula in, to give:
     %%%  H41:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u7__last
%%%  Simplified H42 on reading formula in, to give:
     %%%  H42:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u16__first
%%%  Simplified H43 on reading formula in, to give:
     %%%  H43:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u16__last
%%%  Simplified H44 on reading formula in, to give:
     %%%  H44:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u32__first
%%%  Simplified H45 on reading formula in, to give:
     %%%  H45:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u32__last
%%%  Simplified H46 on reading formula in, to give:
     %%%  H46:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u64__first
%%%  Simplified H47 on reading formula in, to give:
     %%%  H47:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u64__last
%%%  Simplified H48 on reading formula in, to give:
     %%%  H48:  not fld_byte_count(fld_h(ctx)) < skein_512_block_bytes_c
---  Hypothesis H49 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H50 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H51 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H52 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H53 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H54 has been replaced by "true".  (It is already present, as 
          H34).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as 
          H37).
---  Hypothesis H58 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H60 has been replaced by "true".  (It is already present, as 
          H40).
---  Hypothesis H61 has been replaced by "true".  (It is already present, as 
          H41).
---  Hypothesis H62 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H63 has been replaced by "true".  (It is already present, as 
          H43).
---  Hypothesis H64 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H65 has been replaced by "true".  (It is already present, as 
          H45).
---  Hypothesis H66 has been replaced by "true".  (It is already present, as 
          H46).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H47).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H69 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H70 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H71 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H72 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H73 has been replaced by "true".  (It is already present, as 
          H34).
---  Hypothesis H76 has been replaced by "true".  (It is already present, as 
          H37).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H79 has been replaced by "true".  (It is already present, as 
          H40).
---  Hypothesis H80 has been replaced by "true".  (It is already present, as 
          H41).
---  Hypothesis H81 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H82 has been replaced by "true".  (It is already present, as 
          H43).
---  Hypothesis H83 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H84 has been replaced by "true".  (It is already present, as 
          H45).
---  Hypothesis H85 has been replaced by "true".  (It is already present, as 
          H46).
---  Hypothesis H86 has been replaced by "true".  (It is already present, as 
          H47).
---  Hypothesis H87 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H88 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H89 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H90 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H91 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H92 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H93 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H94 has been replaced by "true".  (It is already present, as 
          H34).
---  Hypothesis H97 has been replaced by "true".  (It is already present, as 
          H37).
---  Hypothesis H98 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H100 has been replaced by "true".  (It is already present, as 
          H40).
---  Hypothesis H101 has been replaced by "true".  (It is already present, as 
          H41).
---  Hypothesis H102 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H103 has been replaced by "true".  (It is already present, as 
          H43).
---  Hypothesis H104 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H105 has been replaced by "true".  (It is already present, as 
          H45).
---  Hypothesis H106 has been replaced by "true".  (It is already present, as 
          H46).
---  Hypothesis H107 has been replaced by "true".  (It is already present, as 
          H47).
%%%  Simplified H108 on reading formula in, to give:
     %%%  H108:  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), [i___1]) and 
          element(fld_b(ctx), [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H109 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H110 has been replaced by "true".  (It is already present, as 
          H32).
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  fld_byte_count(fld_h(ctx)) >= natural__first
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  fld_byte_count(fld_h(ctx)) <= natural__last
%%%  Simplified C7 on reading formula in, to give:
     %%%  C7:  fld_hash_bit_len(fld_h(ctx)) >= 
          initialized_hash_bit_length__first
%%%  Simplified C8 on reading formula in, to give:
     %%%  C8:  fld_hash_bit_len(fld_h(ctx)) <= initialized_hash_bit_length__last
%%%  Simplified C9 on reading formula in, to give:
     %%%  C9:  fld_byte_count(fld_h(ctx)) >= skein_512_block_bytes_count__first
%%%  Simplified C10 on reading formula in, to give:
     %%%  C10:  fld_byte_count(fld_h(ctx)) <= skein_512_block_bytes_count__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:  fld_byte_count(fld_h(ctx)) >= natural__first
     using hypothesis H9.
***  Proved C2:  fld_byte_count(fld_h(ctx)) <= natural__last
     using hypothesis H10.
***  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.
-S-  Applied substitution rule skein_512_fi_rules(108).
     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_fi_rules(109).
     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_fi_rules(9).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H9:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H31:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New C5:  true
-S-  Applied substitution rule skein_512_fi_rules(10).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H10:  fld_byte_count(fld_h(ctx)) <= 2147483647
<S>  New H32:  fld_byte_count(fld_h(ctx)) <= 2147483647
<S>  New C6:  true
<S>  New C14:  skein_512_block_bytes_index__last <= 2147483647
<S>  New C15:  true
-S-  Applied substitution rule skein_512_fi_rules(104).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H7:  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 H29:  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 H108:  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), [i___1]) and element(fld_b(ctx), [i___1]) <= 
          spark__unsigned__byte__last)
<S>  New C12:  true
<S>  New C13:  true
<S>  New C14:  true
***  Proved C3:  true
***  Proved C4:  true
***  Proved C5:  true
***  Proved C6:  true
***  Proved C15:  true
***  Proved C12:  true
***  Proved C13:  true
***  Proved C14:  true
>>>  Restructured hypothesis H48 into:
     >>>  H48:  skein_512_block_bytes_c <= fld_byte_count(fld_h(ctx))
-S-  Applied substitution rule skein_512_fi_rules(1).
     This was achieved by replacing all occurrences of skein_512_block_bytes_c 
          by:
          64.
<S>  New H48:  64 <= fld_byte_count(fld_h(ctx))
-S-  Applied substitution rule skein_512_fi_rules(42).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H15:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H37:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(43).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H16:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 63
<S>  New H38:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 63
-S-  Applied substitution rule skein_512_fi_rules(48).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H18:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H40:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(49).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H19:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 127
<S>  New H41:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 127
-S-  Applied substitution rule skein_512_fi_rules(54).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H7:  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:  true
<S>  New H29:  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 H108:  for_all(i___1 : integer, skein_512_block_bytes_index__first <= 
          i___1 and i___1 <= 63 -> 0 <= element(fld_b(ctx), [i___1]) and 
          element(fld_b(ctx), [i___1]) <= spark__unsigned__byte__last)
-S-  Applied substitution rule skein_512_fi_rules(55).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H28:  true
<S>  New H7:  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 H29:  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 H108:  for_all(i___1 : integer, skein_512_block_bytes_index__first <= 
          i___1 and i___1 <= 63 -> 0 <= element(fld_b(ctx), [i___1]) and 
          element(fld_b(ctx), [i___1]) <= 255)
-S-  Applied substitution rule skein_512_fi_rules(60).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H20:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H42:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(61).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H21:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 65535
<S>  New H43:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 65535
-S-  Applied substitution rule skein_512_fi_rules(66).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H22:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H44:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(67).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H23:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 4294967295
<S>  New H45:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 4294967295
-S-  Applied substitution rule skein_512_fi_rules(72).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H8:  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 H24:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H30:  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 H46:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(73).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H25:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          18446744073709551615
<S>  New H47:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          18446744073709551615
<S>  New H8:  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 H30:  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_fi_rules(83).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H11:  fld_hash_bit_len(fld_h(ctx)) >= 0
<S>  New H33:  fld_hash_bit_len(fld_h(ctx)) >= 0
-S-  Applied substitution rule skein_512_fi_rules(84).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H12:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H34:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
-S-  Applied substitution rule skein_512_fi_rules(88).
     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_fi_rules(89).
     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_fi_rules(93).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H8:  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 H30:  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_fi_rules(94).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H8:  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 H30:  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_fi_rules(98).
     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_fi_rules(99).
     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_fi_rules(103).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H7:  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 H29:  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 H108:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 63 -> 0 <= 
          element(fld_b(ctx), [i___1]) and element(fld_b(ctx), [i___1]) <= 255)
<S>  New C11:  true
%%%  Hypotheses H48 & H4 together imply that
          64 = fld_byte_count(fld_h(ctx)).
     H48 & H4 have therefore been deleted and a new H111 added to this effect.
***  Proved C11:  true
***  PROVED VC.


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


@@@@@@@@@@  VC: procedure_skein_512_final_9.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  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 H8 on reading formula in, to give:
     %%%  H8:  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 H29 on reading formula in, to give:
     %%%  H29:  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 H30 on reading formula in, to give:
     %%%  H30:  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 H31 on reading formula in, to give:
     %%%  H31:  fld_byte_count(fld_h(ctx)) >= natural__first
%%%  Simplified H32 on reading formula in, to give:
     %%%  H32:  fld_byte_count(fld_h(ctx)) <= natural__last
%%%  Simplified H33 on reading formula in, to give:
     %%%  H33:  fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u6__first
%%%  Simplified H38 on reading formula in, to give:
     %%%  H38:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u6__last
%%%  Simplified H40 on reading formula in, to give:
     %%%  H40:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u7__first
%%%  Simplified H41 on reading formula in, to give:
     %%%  H41:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u7__last
%%%  Simplified H42 on reading formula in, to give:
     %%%  H42:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u16__first
%%%  Simplified H43 on reading formula in, to give:
     %%%  H43:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u16__last
%%%  Simplified H44 on reading formula in, to give:
     %%%  H44:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u32__first
%%%  Simplified H45 on reading formula in, to give:
     %%%  H45:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u32__last
%%%  Simplified H46 on reading formula in, to give:
     %%%  H46:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u64__first
%%%  Simplified H47 on reading formula in, to give:
     %%%  H47:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u64__last
%%%  Simplified H48 on reading formula in, to give:
     %%%  H48:  not fld_byte_count(fld_h(ctx)) < skein_512_block_bytes_c
---  Hypothesis H49 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H50 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H51 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H52 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H53 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H54 has been replaced by "true".  (It is already present, as 
          H34).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as 
          H37).
---  Hypothesis H58 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H60 has been replaced by "true".  (It is already present, as 
          H40).
---  Hypothesis H61 has been replaced by "true".  (It is already present, as 
          H41).
---  Hypothesis H62 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H63 has been replaced by "true".  (It is already present, as 
          H43).
---  Hypothesis H64 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H65 has been replaced by "true".  (It is already present, as 
          H45).
---  Hypothesis H66 has been replaced by "true".  (It is already present, as 
          H46).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H47).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H69 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H70 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H71 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H72 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H73 has been replaced by "true".  (It is already present, as 
          H34).
---  Hypothesis H76 has been replaced by "true".  (It is already present, as 
          H37).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H79 has been replaced by "true".  (It is already present, as 
          H40).
---  Hypothesis H80 has been replaced by "true".  (It is already present, as 
          H41).
---  Hypothesis H81 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H82 has been replaced by "true".  (It is already present, as 
          H43).
---  Hypothesis H83 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H84 has been replaced by "true".  (It is already present, as 
          H45).
---  Hypothesis H85 has been replaced by "true".  (It is already present, as 
          H46).
---  Hypothesis H86 has been replaced by "true".  (It is already present, as 
          H47).
---  Hypothesis H87 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H88 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H89 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H90 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H91 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H92 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H93 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H94 has been replaced by "true".  (It is already present, as 
          H34).
---  Hypothesis H97 has been replaced by "true".  (It is already present, as 
          H37).
---  Hypothesis H98 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H100 has been replaced by "true".  (It is already present, as 
          H40).
---  Hypothesis H101 has been replaced by "true".  (It is already present, as 
          H41).
---  Hypothesis H102 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H103 has been replaced by "true".  (It is already present, as 
          H43).
---  Hypothesis H104 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H105 has been replaced by "true".  (It is already present, as 
          H45).
---  Hypothesis H106 has been replaced by "true".  (It is already present, as 
          H46).
---  Hypothesis H107 has been replaced by "true".  (It is already present, as 
          H47).
%%%  Simplified H108 on reading formula in, to give:
     %%%  H108:  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), [i___1]) and 
          element(fld_b(ctx), [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H109 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H110 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H111 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H112 has been replaced by "true".  (It is already present, as 
          H32).
%%%  Simplified H117 on reading formula in, to give:
     %%%  H117:  fld_hash_bit_len(fld_h(ctx)) >= 
          initialized_hash_bit_length__first
%%%  Simplified H118 on reading formula in, to give:
     %%%  H118:  fld_hash_bit_len(fld_h(ctx)) <= 
          initialized_hash_bit_length__last
%%%  Simplified H119 on reading formula in, to give:
     %%%  H119:  fld_byte_count(fld_h(ctx)) >= 
          skein_512_block_bytes_count__first
%%%  Simplified H120 on reading formula in, to give:
     %%%  H120:  fld_byte_count(fld_h(ctx)) <= skein_512_block_bytes_count__last
%%%  Simplified H122 on reading formula in, to give:
     %%%  H122:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H123 on reading formula in, to give:
     %%%  H123:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H125 on reading formula in, to give:
     %%%  H125:  63 <= natural__last
%%%  Simplified H128 on reading formula in, to give:
     %%%  H128:  fld_hash_bit_len(fld_h(local_ctx__2)) = fld_hash_bit_len(fld_h(
          ctx))
%%%  Simplified H131 on reading formula in, to give:
     %%%  H131:  fld_byte_count(fld_h(local_ctx__2)) = fld_byte_count(fld_h(ctx)
          )
%%%  Simplified H132 on reading formula in, to give:
     %%%  H132:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx__2), [i___2]) 
          and element(fld_b(local_ctx__2), [i___2]) <= 
          spark__unsigned__byte__last)
%%%  Simplified H133 on reading formula in, to give:
     %%%  H133:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx__2), [i___1]) 
          and element(fld_x(local_ctx__2), [i___1]) <= 
          spark__unsigned__u64__last)
---  Hypothesis H151 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H152 has been replaced by "true".  (It is already present, as 
          H133).
---  Hypothesis H153 has been replaced by "true".  (It is already present, as 
          H134).
---  Hypothesis H154 has been replaced by "true".  (It is already present, as 
          H135).
---  Hypothesis H155 has been replaced by "true".  (It is already present, as 
          H136).
---  Hypothesis H156 has been replaced by "true".  (It is already present, as 
          H137).
---  Hypothesis H159 has been replaced by "true".  (It is already present, as 
          H140).
---  Hypothesis H160 has been replaced by "true".  (It is already present, as 
          H141).
---  Hypothesis H162 has been replaced by "true".  (It is already present, as 
          H143).
---  Hypothesis H163 has been replaced by "true".  (It is already present, as 
          H144).
---  Hypothesis H164 has been replaced by "true".  (It is already present, as 
          H145).
---  Hypothesis H165 has been replaced by "true".  (It is already present, as 
          H146).
---  Hypothesis H166 has been replaced by "true".  (It is already present, as 
          H147).
---  Hypothesis H167 has been replaced by "true".  (It is already present, as 
          H148).
---  Hypothesis H168 has been replaced by "true".  (It is already present, as 
          H149).
---  Hypothesis H169 has been replaced by "true".  (It is already present, as 
          H150).
%%%  Simplified C3 on reading formula in, to give:
     %%%  C3:  true
***  Proved C3:  true
-S-  Applied substitution rule skein_512_fi_rules(125).
     This was achieved by replacing all occurrences of 
          output_byte_count_t__first by:
          1.
<S>  New C1:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 >= 1
-S-  Applied substitution rule skein_512_fi_rules(126).
     This was achieved by replacing all occurrences of 
          output_byte_count_t__last by:
          268435455.
<S>  New C2:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 <= 268435455
-S-  Applied substitution rule skein_512_fi_rules(6).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New C4:  fld_hash_bit_len(fld_h(local_ctx__2)) >= - 2147483655
-S-  Applied substitution rule skein_512_fi_rules(7).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New C5:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 2147483640
***  Proved C4:  fld_hash_bit_len(fld_h(local_ctx__2)) >= - 2147483655
     using hypotheses H26 & H128.
>>>  Restructured hypothesis H48 into:
     >>>  H48:  skein_512_block_bytes_c <= fld_byte_count(fld_h(ctx))
-S-  Applied substitution rule skein_512_fi_rules(1).
     This was achieved by replacing all occurrences of skein_512_block_bytes_c 
          by:
          64.
<S>  New H48:  64 <= fld_byte_count(fld_h(ctx))
-S-  Applied substitution rule skein_512_fi_rules(9).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H9:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H31:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H115:  true
<S>  New H134:  fld_byte_count(fld_h(local_ctx__2)) >= 0
-S-  Applied substitution rule skein_512_fi_rules(10).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H10:  fld_byte_count(fld_h(ctx)) <= 2147483647
<S>  New H32:  fld_byte_count(fld_h(ctx)) <= 2147483647
<S>  New H116:  true
<S>  New H124:  skein_512_block_bytes_index__last <= 2147483647
<S>  New H125:  true
<S>  New H135:  fld_byte_count(fld_h(local_ctx__2)) <= 2147483647
-S-  Applied substitution rule skein_512_fi_rules(42).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H15:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H37:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H140:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(43).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H16:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 63
<S>  New H38:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 63
<S>  New H141:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) <= 63
-S-  Applied substitution rule skein_512_fi_rules(48).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H18:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H40:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H143:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(49).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H19:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 127
<S>  New H41:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 127
<S>  New H144:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) <= 127
-S-  Applied substitution rule skein_512_fi_rules(54).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H7:  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:  true
<S>  New H29:  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 H108:  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), [i___1]) and element(fld_b(ctx), [i___1]) <= 
          spark__unsigned__byte__last)
<S>  New H132:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__2), [i___2]) and element(fld_b(local_ctx__2), [i___2]
          ) <= spark__unsigned__byte__last)
-S-  Applied substitution rule skein_512_fi_rules(55).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H28:  true
<S>  New H7:  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 H29:  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 H108:  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), [i___1]) and element(fld_b(ctx), [i___1]) <= 255)
<S>  New H132:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__2), [i___2]) and element(fld_b(local_ctx__2), [i___2]
          ) <= 255)
-S-  Applied substitution rule skein_512_fi_rules(60).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H20:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H42:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H145:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(61).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H21:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 65535
<S>  New H43:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 65535
<S>  New H146:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) <= 65535
-S-  Applied substitution rule skein_512_fi_rules(66).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H22:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H44:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H147:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(67).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H23:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 4294967295
<S>  New H45:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 4294967295
<S>  New H148:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) <= 
          4294967295
-S-  Applied substitution rule skein_512_fi_rules(72).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H8:  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 H24:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H30:  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 H46:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H133:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__2), [i___1]) and element(fld_x(local_ctx__2), [i___1]
          ) <= spark__unsigned__u64__last)
<S>  New H149:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(73).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H25:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          18446744073709551615
<S>  New H47:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          18446744073709551615
<S>  New H150:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) <= 
          18446744073709551615
<S>  New H8:  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 H30:  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 H133:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__2), [i___1]) and element(fld_x(local_ctx__2), [i___1]
          ) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_fi_rules(83).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H11:  fld_hash_bit_len(fld_h(ctx)) >= 0
<S>  New H33:  fld_hash_bit_len(fld_h(ctx)) >= 0
<S>  New H136:  fld_hash_bit_len(fld_h(local_ctx__2)) >= 0
-S-  Applied substitution rule skein_512_fi_rules(84).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H12:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H34:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H137:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 2147483640
-S-  Applied substitution rule skein_512_fi_rules(88).
     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 H117:  fld_hash_bit_len(fld_h(ctx)) >= 1
<S>  New H126:  fld_hash_bit_len(fld_h(local_ctx__2)) >= 1
-S-  Applied substitution rule skein_512_fi_rules(89).
     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 H118:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H127:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 2147483640
-S-  Applied substitution rule skein_512_fi_rules(93).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H8:  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 H30:  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 H133:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(local_ctx__2)
          , [i___1]) and element(fld_x(local_ctx__2), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule skein_512_fi_rules(94).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H8:  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 H30:  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 H133:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(local_ctx__2), [i___1]) and element(fld_x(local_ctx__2)
          , [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_fi_rules(98).
     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 H119:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H129:  fld_byte_count(fld_h(local_ctx__2)) >= 0
-S-  Applied substitution rule skein_512_fi_rules(99).
     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 H120:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New H130:  fld_byte_count(fld_h(local_ctx__2)) <= 64
-S-  Applied substitution rule skein_512_fi_rules(103).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H121:  true
<S>  New H7:  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 H29:  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 H108:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(ctx), [i___1])
           and element(fld_b(ctx), [i___1]) <= 255)
<S>  New H132:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(local_ctx__2)
          , [i___2]) and element(fld_b(local_ctx__2), [i___2]) <= 255)
-S-  Applied substitution rule skein_512_fi_rules(104).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H122:  true
<S>  New H123:  true
<S>  New H124:  true
<S>  New H7:  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 H29:  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 H108:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 63 -> 0 <= 
          element(fld_b(ctx), [i___1]) and element(fld_b(ctx), [i___1]) <= 255)
<S>  New H132:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(local_ctx__2), [i___2]) and element(fld_b(local_ctx__2)
          , [i___2]) <= 255)
-S-  Applied substitution rule skein_512_fi_rules(108).
     This was achieved by replacing all occurrences of 
          positive_block_512_count_t__first by:
          1.
<S>  New H113:  true
-S-  Applied substitution rule skein_512_fi_rules(109).
     This was achieved by replacing all occurrences of 
          positive_block_512_count_t__last by:
          33554431.
<S>  New H114:  true
%%%  Hypotheses H48 & H4 together imply that
          64 = fld_byte_count(fld_h(ctx)).
     H48 & H4 have therefore been deleted and a new H170 added to this effect.
***  Proved C5:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 2147483640
     using hypothesis H137.
---  Eliminated hypothesis H13 (true-hypothesis).
---  Eliminated hypothesis H14 (true-hypothesis).
---  Eliminated hypothesis H17 (true-hypothesis).
---  Eliminated hypothesis H35 (true-hypothesis).
---  Eliminated hypothesis H36 (true-hypothesis).
---  Eliminated hypothesis H39 (true-hypothesis).
---  Eliminated hypothesis H49 (true-hypothesis).
---  Eliminated hypothesis H50 (true-hypothesis).
---  Eliminated hypothesis H51 (true-hypothesis).
---  Eliminated hypothesis H52 (true-hypothesis).
---  Eliminated hypothesis H53 (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 H63 (true-hypothesis).
---  Eliminated hypothesis H64 (true-hypothesis).
---  Eliminated hypothesis H65 (true-hypothesis).
---  Eliminated hypothesis H66 (true-hypothesis).
---  Eliminated hypothesis H67 (true-hypothesis).
---  Eliminated hypothesis H68 (true-hypothesis).
---  Eliminated hypothesis H69 (true-hypothesis).
---  Eliminated hypothesis H70 (true-hypothesis).
---  Eliminated hypothesis H71 (true-hypothesis).
---  Eliminated hypothesis H72 (true-hypothesis).
---  Eliminated hypothesis H73 (true-hypothesis).
---  Eliminated hypothesis H74 (true-hypothesis).
---  Eliminated hypothesis H75 (true-hypothesis).
---  Eliminated hypothesis H76 (true-hypothesis).
---  Eliminated hypothesis H77 (true-hypothesis).
---  Eliminated hypothesis H78 (true-hypothesis).
---  Eliminated hypothesis H79 (true-hypothesis).
---  Eliminated hypothesis H80 (true-hypothesis).
---  Eliminated hypothesis H81 (true-hypothesis).
---  Eliminated hypothesis H82 (true-hypothesis).
---  Eliminated hypothesis H83 (true-hypothesis).
---  Eliminated hypothesis H84 (true-hypothesis).
---  Eliminated hypothesis H85 (true-hypothesis).
---  Eliminated hypothesis H86 (true-hypothesis).
---  Eliminated hypothesis H87 (true-hypothesis).
---  Eliminated hypothesis H88 (true-hypothesis).
---  Eliminated hypothesis H89 (true-hypothesis).
---  Eliminated hypothesis H90 (true-hypothesis).
---  Eliminated hypothesis H91 (true-hypothesis).
---  Eliminated hypothesis H92 (true-hypothesis).
---  Eliminated hypothesis H93 (true-hypothesis).
---  Eliminated hypothesis H94 (true-hypothesis).
---  Eliminated hypothesis H95 (true-hypothesis).
---  Eliminated hypothesis H96 (true-hypothesis).
---  Eliminated hypothesis H97 (true-hypothesis).
---  Eliminated hypothesis H98 (true-hypothesis).
---  Eliminated hypothesis H99 (true-hypothesis).
---  Eliminated hypothesis H100 (true-hypothesis).
---  Eliminated hypothesis H101 (true-hypothesis).
---  Eliminated hypothesis H102 (true-hypothesis).
---  Eliminated hypothesis H103 (true-hypothesis).
---  Eliminated hypothesis H104 (true-hypothesis).
---  Eliminated hypothesis H105 (true-hypothesis).
---  Eliminated hypothesis H106 (true-hypothesis).
---  Eliminated hypothesis H107 (true-hypothesis).
---  Eliminated hypothesis H109 (true-hypothesis).
---  Eliminated hypothesis H110 (true-hypothesis).
---  Eliminated hypothesis H111 (true-hypothesis).
---  Eliminated hypothesis H112 (true-hypothesis).
---  Eliminated hypothesis H138 (true-hypothesis).
---  Eliminated hypothesis H139 (true-hypothesis).
---  Eliminated hypothesis H142 (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 H156 (true-hypothesis).
---  Eliminated hypothesis H157 (true-hypothesis).
---  Eliminated hypothesis H158 (true-hypothesis).
---  Eliminated hypothesis H159 (true-hypothesis).
---  Eliminated hypothesis H160 (true-hypothesis).
---  Eliminated hypothesis H161 (true-hypothesis).
---  Eliminated hypothesis H162 (true-hypothesis).
---  Eliminated hypothesis H163 (true-hypothesis).
---  Eliminated hypothesis H164 (true-hypothesis).
---  Eliminated hypothesis H165 (true-hypothesis).
---  Eliminated hypothesis H166 (true-hypothesis).
---  Eliminated hypothesis H167 (true-hypothesis).
---  Eliminated hypothesis H168 (true-hypothesis).
---  Eliminated hypothesis H169 (true-hypothesis).
---  Eliminated hypothesis H115 (true-hypothesis).
---  Eliminated hypothesis H116 (true-hypothesis).
---  Eliminated hypothesis H125 (true-hypothesis).
---  Eliminated hypothesis H27 (true-hypothesis).
---  Eliminated hypothesis H28 (true-hypothesis).
---  Eliminated hypothesis H121 (true-hypothesis).
---  Eliminated hypothesis H122 (true-hypothesis).
---  Eliminated hypothesis H123 (true-hypothesis).
---  Eliminated hypothesis H124 (true-hypothesis).
---  Eliminated hypothesis H113 (true-hypothesis).
---  Eliminated hypothesis H114 (true-hypothesis).
---  Eliminated hypothesis H117 (duplicate of H26).
---  Eliminated hypothesis H31 (duplicate of H9).
---  Eliminated hypothesis H119 (duplicate of H9).
---  Eliminated hypothesis H32 (duplicate of H10).
---  Eliminated hypothesis H37 (duplicate of H15).
---  Eliminated hypothesis H38 (duplicate of H16).
---  Eliminated hypothesis H40 (duplicate of H18).
---  Eliminated hypothesis H41 (duplicate of H19).
---  Eliminated hypothesis H42 (duplicate of H20).
---  Eliminated hypothesis H43 (duplicate of H21).
---  Eliminated hypothesis H44 (duplicate of H22).
---  Eliminated hypothesis H45 (duplicate of H23).
---  Eliminated hypothesis H46 (duplicate of H24).
---  Eliminated hypothesis H47 (duplicate of H25).
---  Eliminated hypothesis H33 (duplicate of H11).
---  Eliminated hypothesis H34 (duplicate of H12).
---  Eliminated hypothesis H118 (duplicate of H12).
---  Eliminated hypothesis H12 (duplicate of H2).
---  Eliminated hypothesis H137 (duplicate of H127).
---  Eliminated hypothesis H30 (duplicate of H8).
---  Eliminated hypothesis H9 (duplicate of H3).
---  Eliminated hypothesis H134 (duplicate of H129).
---  Eliminated hypothesis H29 (duplicate of H7).
---  Eliminated hypothesis H26 (duplicate of H1).
---  Eliminated hypothesis H3 (redundant, given H170).
---  Eliminated hypothesis H10 (redundant, given H120).
---  Eliminated hypothesis H11 (redundant, given H1).
---  Eliminated hypothesis H120 (redundant, given H170).
---  Eliminated hypothesis H135 (redundant, given H130).
---  Eliminated hypothesis H136 (redundant, given H126).
-S-  Substituted hypothesis H128.
     This was achieved by replacing all occurrences of fld_hash_bit_len(fld_h(
          local_ctx__2)) by:
          fld_hash_bit_len(fld_h(ctx)).
-S-  Substituted hypothesis H131.
     This was achieved by replacing all occurrences of fld_byte_count(fld_h(
          local_ctx__2)) by:
          fld_byte_count(fld_h(ctx)).
***  Proved C1:  (fld_hash_bit_len(fld_h(ctx)) + 7) div 8 >= 1
     using hypothesis H1.
***  Proved C2:  (fld_hash_bit_len(fld_h(ctx)) + 7) div 8 <= 268435455
     using hypothesis H12.
***  PROVED VC.


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


@@@@@@@@@@  VC: procedure_skein_512_final_11.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  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 H8 on reading formula in, to give:
     %%%  H8:  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 H29 on reading formula in, to give:
     %%%  H29:  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 H30 on reading formula in, to give:
     %%%  H30:  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 H31 on reading formula in, to give:
     %%%  H31:  fld_byte_count(fld_h(ctx)) >= natural__first
%%%  Simplified H32 on reading formula in, to give:
     %%%  H32:  fld_byte_count(fld_h(ctx)) <= natural__last
%%%  Simplified H33 on reading formula in, to give:
     %%%  H33:  fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u6__first
%%%  Simplified H38 on reading formula in, to give:
     %%%  H38:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u6__last
%%%  Simplified H40 on reading formula in, to give:
     %%%  H40:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u7__first
%%%  Simplified H41 on reading formula in, to give:
     %%%  H41:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u7__last
%%%  Simplified H42 on reading formula in, to give:
     %%%  H42:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u16__first
%%%  Simplified H43 on reading formula in, to give:
     %%%  H43:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u16__last
%%%  Simplified H44 on reading formula in, to give:
     %%%  H44:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u32__first
%%%  Simplified H45 on reading formula in, to give:
     %%%  H45:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u32__last
%%%  Simplified H46 on reading formula in, to give:
     %%%  H46:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u64__first
%%%  Simplified H47 on reading formula in, to give:
     %%%  H47:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u64__last
%%%  Simplified H48 on reading formula in, to give:
     %%%  H48:  not fld_byte_count(fld_h(ctx)) < skein_512_block_bytes_c
---  Hypothesis H49 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H50 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H51 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H52 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H53 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H54 has been replaced by "true".  (It is already present, as 
          H34).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as 
          H37).
---  Hypothesis H58 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H60 has been replaced by "true".  (It is already present, as 
          H40).
---  Hypothesis H61 has been replaced by "true".  (It is already present, as 
          H41).
---  Hypothesis H62 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H63 has been replaced by "true".  (It is already present, as 
          H43).
---  Hypothesis H64 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H65 has been replaced by "true".  (It is already present, as 
          H45).
---  Hypothesis H66 has been replaced by "true".  (It is already present, as 
          H46).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H47).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H69 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H70 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H71 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H72 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H73 has been replaced by "true".  (It is already present, as 
          H34).
---  Hypothesis H76 has been replaced by "true".  (It is already present, as 
          H37).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H79 has been replaced by "true".  (It is already present, as 
          H40).
---  Hypothesis H80 has been replaced by "true".  (It is already present, as 
          H41).
---  Hypothesis H81 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H82 has been replaced by "true".  (It is already present, as 
          H43).
---  Hypothesis H83 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H84 has been replaced by "true".  (It is already present, as 
          H45).
---  Hypothesis H85 has been replaced by "true".  (It is already present, as 
          H46).
---  Hypothesis H86 has been replaced by "true".  (It is already present, as 
          H47).
---  Hypothesis H87 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H88 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H89 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H90 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H91 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H92 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H93 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H94 has been replaced by "true".  (It is already present, as 
          H34).
---  Hypothesis H97 has been replaced by "true".  (It is already present, as 
          H37).
---  Hypothesis H98 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H100 has been replaced by "true".  (It is already present, as 
          H40).
---  Hypothesis H101 has been replaced by "true".  (It is already present, as 
          H41).
---  Hypothesis H102 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H103 has been replaced by "true".  (It is already present, as 
          H43).
---  Hypothesis H104 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H105 has been replaced by "true".  (It is already present, as 
          H45).
---  Hypothesis H106 has been replaced by "true".  (It is already present, as 
          H46).
---  Hypothesis H107 has been replaced by "true".  (It is already present, as 
          H47).
%%%  Simplified H108 on reading formula in, to give:
     %%%  H108:  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), [i___1]) and 
          element(fld_b(ctx), [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H109 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H110 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H111 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H112 has been replaced by "true".  (It is already present, as 
          H32).
%%%  Simplified H117 on reading formula in, to give:
     %%%  H117:  fld_hash_bit_len(fld_h(ctx)) >= 
          initialized_hash_bit_length__first
%%%  Simplified H118 on reading formula in, to give:
     %%%  H118:  fld_hash_bit_len(fld_h(ctx)) <= 
          initialized_hash_bit_length__last
%%%  Simplified H119 on reading formula in, to give:
     %%%  H119:  fld_byte_count(fld_h(ctx)) >= 
          skein_512_block_bytes_count__first
%%%  Simplified H120 on reading formula in, to give:
     %%%  H120:  fld_byte_count(fld_h(ctx)) <= skein_512_block_bytes_count__last
%%%  Simplified H122 on reading formula in, to give:
     %%%  H122:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H123 on reading formula in, to give:
     %%%  H123:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H125 on reading formula in, to give:
     %%%  H125:  63 <= natural__last
%%%  Simplified H128 on reading formula in, to give:
     %%%  H128:  fld_hash_bit_len(fld_h(local_ctx__2)) = fld_hash_bit_len(fld_h(
          ctx))
%%%  Simplified H131 on reading formula in, to give:
     %%%  H131:  fld_byte_count(fld_h(local_ctx__2)) = fld_byte_count(fld_h(ctx)
          )
%%%  Simplified H132 on reading formula in, to give:
     %%%  H132:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx__2), [i___2]) 
          and element(fld_b(local_ctx__2), [i___2]) <= 
          spark__unsigned__byte__last)
%%%  Simplified H133 on reading formula in, to give:
     %%%  H133:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx__2), [i___1]) 
          and element(fld_x(local_ctx__2), [i___1]) <= 
          spark__unsigned__u64__last)
---  Hypothesis H151 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H152 has been replaced by "true".  (It is already present, as 
          H133).
---  Hypothesis H153 has been replaced by "true".  (It is already present, as 
          H134).
---  Hypothesis H154 has been replaced by "true".  (It is already present, as 
          H135).
---  Hypothesis H155 has been replaced by "true".  (It is already present, as 
          H136).
---  Hypothesis H156 has been replaced by "true".  (It is already present, as 
          H137).
---  Hypothesis H159 has been replaced by "true".  (It is already present, as 
          H140).
---  Hypothesis H160 has been replaced by "true".  (It is already present, as 
          H141).
---  Hypothesis H162 has been replaced by "true".  (It is already present, as 
          H143).
---  Hypothesis H163 has been replaced by "true".  (It is already present, as 
          H144).
---  Hypothesis H164 has been replaced by "true".  (It is already present, as 
          H145).
---  Hypothesis H165 has been replaced by "true".  (It is already present, as 
          H146).
---  Hypothesis H166 has been replaced by "true".  (It is already present, as 
          H147).
---  Hypothesis H167 has been replaced by "true".  (It is already present, as 
          H148).
---  Hypothesis H168 has been replaced by "true".  (It is already present, as 
          H149).
---  Hypothesis H169 has been replaced by "true".  (It is already present, as 
          H150).
%%%  Simplified H172 on reading formula in, to give:
     %%%  H172:  true
>>>  Restructured hypothesis H48 into:
     >>>  H48:  skein_512_block_bytes_c <= fld_byte_count(fld_h(ctx))
-S-  Applied substitution rule skein_512_fi_rules(1).
     This was achieved by replacing all occurrences of skein_512_block_bytes_c 
          by:
          64.
<S>  New H48:  64 <= fld_byte_count(fld_h(ctx))
-S-  Applied substitution rule skein_512_fi_rules(6).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H173:  fld_hash_bit_len(fld_h(local_ctx__2)) >= - 2147483655
-S-  Applied substitution rule skein_512_fi_rules(7).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H174:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 2147483640
-S-  Applied substitution rule skein_512_fi_rules(9).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H9:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H31:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H115:  true
<S>  New H134:  fld_byte_count(fld_h(local_ctx__2)) >= 0
-S-  Applied substitution rule skein_512_fi_rules(10).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H10:  fld_byte_count(fld_h(ctx)) <= 2147483647
<S>  New H32:  fld_byte_count(fld_h(ctx)) <= 2147483647
<S>  New H116:  true
<S>  New H124:  skein_512_block_bytes_index__last <= 2147483647
<S>  New H125:  true
<S>  New H135:  fld_byte_count(fld_h(local_ctx__2)) <= 2147483647
-S-  Applied substitution rule skein_512_fi_rules(42).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H15:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H37:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H140:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(43).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H16:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 63
<S>  New H38:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 63
<S>  New H141:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) <= 63
-S-  Applied substitution rule skein_512_fi_rules(48).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H18:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H40:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H143:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(49).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H19:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 127
<S>  New H41:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 127
<S>  New H144:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) <= 127
-S-  Applied substitution rule skein_512_fi_rules(54).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H7:  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:  true
<S>  New H29:  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 H108:  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), [i___1]) and element(fld_b(ctx), [i___1]) <= 
          spark__unsigned__byte__last)
<S>  New H132:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__2), [i___2]) and element(fld_b(local_ctx__2), [i___2]
          ) <= spark__unsigned__byte__last)
-S-  Applied substitution rule skein_512_fi_rules(55).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H28:  true
<S>  New H7:  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 H29:  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 H108:  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), [i___1]) and element(fld_b(ctx), [i___1]) <= 255)
<S>  New H132:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__2), [i___2]) and element(fld_b(local_ctx__2), [i___2]
          ) <= 255)
-S-  Applied substitution rule skein_512_fi_rules(60).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H20:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H42:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H145:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(61).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H21:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 65535
<S>  New H43:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 65535
<S>  New H146:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) <= 65535
-S-  Applied substitution rule skein_512_fi_rules(66).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H22:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H44:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H147:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(67).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H23:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 4294967295
<S>  New H45:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 4294967295
<S>  New H148:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) <= 
          4294967295
-S-  Applied substitution rule skein_512_fi_rules(72).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H8:  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 H24:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H30:  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 H46:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H133:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__2), [i___1]) and element(fld_x(local_ctx__2), [i___1]
          ) <= spark__unsigned__u64__last)
<S>  New H149:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(73).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H25:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          18446744073709551615
<S>  New H47:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          18446744073709551615
<S>  New H150:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) <= 
          18446744073709551615
<S>  New H8:  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 H30:  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 H133:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__2), [i___1]) and element(fld_x(local_ctx__2), [i___1]
          ) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_fi_rules(83).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H11:  fld_hash_bit_len(fld_h(ctx)) >= 0
<S>  New H33:  fld_hash_bit_len(fld_h(ctx)) >= 0
<S>  New H136:  fld_hash_bit_len(fld_h(local_ctx__2)) >= 0
-S-  Applied substitution rule skein_512_fi_rules(84).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H12:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H34:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H137:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 2147483640
-S-  Applied substitution rule skein_512_fi_rules(88).
     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 H117:  fld_hash_bit_len(fld_h(ctx)) >= 1
<S>  New H126:  fld_hash_bit_len(fld_h(local_ctx__2)) >= 1
-S-  Applied substitution rule skein_512_fi_rules(89).
     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 H118:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H127:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 2147483640
-S-  Applied substitution rule skein_512_fi_rules(93).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H8:  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 H30:  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 H133:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(local_ctx__2)
          , [i___1]) and element(fld_x(local_ctx__2), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule skein_512_fi_rules(94).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H8:  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 H30:  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 H133:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(local_ctx__2), [i___1]) and element(fld_x(local_ctx__2)
          , [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_fi_rules(98).
     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 H119:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H129:  fld_byte_count(fld_h(local_ctx__2)) >= 0
-S-  Applied substitution rule skein_512_fi_rules(99).
     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 H120:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New H130:  fld_byte_count(fld_h(local_ctx__2)) <= 64
-S-  Applied substitution rule skein_512_fi_rules(103).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H121:  true
<S>  New H7:  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 H29:  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 H108:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(ctx), [i___1])
           and element(fld_b(ctx), [i___1]) <= 255)
<S>  New H132:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(local_ctx__2)
          , [i___2]) and element(fld_b(local_ctx__2), [i___2]) <= 255)
-S-  Applied substitution rule skein_512_fi_rules(104).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H122:  true
<S>  New H123:  true
<S>  New H124:  true
<S>  New H7:  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 H29:  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 H108:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 63 -> 0 <= 
          element(fld_b(ctx), [i___1]) and element(fld_b(ctx), [i___1]) <= 255)
<S>  New H132:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(local_ctx__2), [i___2]) and element(fld_b(local_ctx__2)
          , [i___2]) <= 255)
-S-  Applied substitution rule skein_512_fi_rules(108).
     This was achieved by replacing all occurrences of 
          positive_block_512_count_t__first by:
          1.
<S>  New H113:  true
-S-  Applied substitution rule skein_512_fi_rules(109).
     This was achieved by replacing all occurrences of 
          positive_block_512_count_t__last by:
          33554431.
<S>  New H114:  true
-S-  Applied substitution rule skein_512_fi_rules(125).
     This was achieved by replacing all occurrences of 
          output_byte_count_t__first by:
          1.
<S>  New H170:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 >= 1
-S-  Applied substitution rule skein_512_fi_rules(126).
     This was achieved by replacing all occurrences of 
          output_byte_count_t__last by:
          268435455.
<S>  New H171:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 <= 268435455
%%%  Hypotheses H48 & H4 together imply that
          64 = fld_byte_count(fld_h(ctx)).
     H48 & H4 have therefore been deleted and a new H175 added to this effect.
---  Eliminated hypothesis H13 (true-hypothesis).
---  Eliminated hypothesis H14 (true-hypothesis).
---  Eliminated hypothesis H17 (true-hypothesis).
---  Eliminated hypothesis H35 (true-hypothesis).
---  Eliminated hypothesis H36 (true-hypothesis).
---  Eliminated hypothesis H39 (true-hypothesis).
---  Eliminated hypothesis H49 (true-hypothesis).
---  Eliminated hypothesis H50 (true-hypothesis).
---  Eliminated hypothesis H51 (true-hypothesis).
---  Eliminated hypothesis H52 (true-hypothesis).
---  Eliminated hypothesis H53 (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 H63 (true-hypothesis).
---  Eliminated hypothesis H64 (true-hypothesis).
---  Eliminated hypothesis H65 (true-hypothesis).
---  Eliminated hypothesis H66 (true-hypothesis).
---  Eliminated hypothesis H67 (true-hypothesis).
---  Eliminated hypothesis H68 (true-hypothesis).
---  Eliminated hypothesis H69 (true-hypothesis).
---  Eliminated hypothesis H70 (true-hypothesis).
---  Eliminated hypothesis H71 (true-hypothesis).
---  Eliminated hypothesis H72 (true-hypothesis).
---  Eliminated hypothesis H73 (true-hypothesis).
---  Eliminated hypothesis H74 (true-hypothesis).
---  Eliminated hypothesis H75 (true-hypothesis).
---  Eliminated hypothesis H76 (true-hypothesis).
---  Eliminated hypothesis H77 (true-hypothesis).
---  Eliminated hypothesis H78 (true-hypothesis).
---  Eliminated hypothesis H79 (true-hypothesis).
---  Eliminated hypothesis H80 (true-hypothesis).
---  Eliminated hypothesis H81 (true-hypothesis).
---  Eliminated hypothesis H82 (true-hypothesis).
---  Eliminated hypothesis H83 (true-hypothesis).
---  Eliminated hypothesis H84 (true-hypothesis).
---  Eliminated hypothesis H85 (true-hypothesis).
---  Eliminated hypothesis H86 (true-hypothesis).
---  Eliminated hypothesis H87 (true-hypothesis).
---  Eliminated hypothesis H88 (true-hypothesis).
---  Eliminated hypothesis H89 (true-hypothesis).
---  Eliminated hypothesis H90 (true-hypothesis).
---  Eliminated hypothesis H91 (true-hypothesis).
---  Eliminated hypothesis H92 (true-hypothesis).
---  Eliminated hypothesis H93 (true-hypothesis).
---  Eliminated hypothesis H94 (true-hypothesis).
---  Eliminated hypothesis H95 (true-hypothesis).
---  Eliminated hypothesis H96 (true-hypothesis).
---  Eliminated hypothesis H97 (true-hypothesis).
---  Eliminated hypothesis H98 (true-hypothesis).
---  Eliminated hypothesis H99 (true-hypothesis).
---  Eliminated hypothesis H100 (true-hypothesis).
---  Eliminated hypothesis H101 (true-hypothesis).
---  Eliminated hypothesis H102 (true-hypothesis).
---  Eliminated hypothesis H103 (true-hypothesis).
---  Eliminated hypothesis H104 (true-hypothesis).
---  Eliminated hypothesis H105 (true-hypothesis).
---  Eliminated hypothesis H106 (true-hypothesis).
---  Eliminated hypothesis H107 (true-hypothesis).
---  Eliminated hypothesis H109 (true-hypothesis).
---  Eliminated hypothesis H110 (true-hypothesis).
---  Eliminated hypothesis H111 (true-hypothesis).
---  Eliminated hypothesis H112 (true-hypothesis).
---  Eliminated hypothesis H138 (true-hypothesis).
---  Eliminated hypothesis H139 (true-hypothesis).
---  Eliminated hypothesis H142 (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 H156 (true-hypothesis).
---  Eliminated hypothesis H157 (true-hypothesis).
---  Eliminated hypothesis H158 (true-hypothesis).
---  Eliminated hypothesis H159 (true-hypothesis).
---  Eliminated hypothesis H160 (true-hypothesis).
---  Eliminated hypothesis H161 (true-hypothesis).
---  Eliminated hypothesis H162 (true-hypothesis).
---  Eliminated hypothesis H163 (true-hypothesis).
---  Eliminated hypothesis H164 (true-hypothesis).
---  Eliminated hypothesis H165 (true-hypothesis).
---  Eliminated hypothesis H166 (true-hypothesis).
---  Eliminated hypothesis H167 (true-hypothesis).
---  Eliminated hypothesis H168 (true-hypothesis).
---  Eliminated hypothesis H169 (true-hypothesis).
---  Eliminated hypothesis H172 (true-hypothesis).
---  Eliminated hypothesis H115 (true-hypothesis).
---  Eliminated hypothesis H116 (true-hypothesis).
---  Eliminated hypothesis H125 (true-hypothesis).
---  Eliminated hypothesis H27 (true-hypothesis).
---  Eliminated hypothesis H28 (true-hypothesis).
---  Eliminated hypothesis H121 (true-hypothesis).
---  Eliminated hypothesis H122 (true-hypothesis).
---  Eliminated hypothesis H123 (true-hypothesis).
---  Eliminated hypothesis H124 (true-hypothesis).
---  Eliminated hypothesis H113 (true-hypothesis).
---  Eliminated hypothesis H114 (true-hypothesis).
---  Eliminated hypothesis H117 (duplicate of H26).
---  Eliminated hypothesis H31 (duplicate of H9).
---  Eliminated hypothesis H119 (duplicate of H9).
---  Eliminated hypothesis H32 (duplicate of H10).
---  Eliminated hypothesis H37 (duplicate of H15).
---  Eliminated hypothesis H38 (duplicate of H16).
---  Eliminated hypothesis H40 (duplicate of H18).
---  Eliminated hypothesis H41 (duplicate of H19).
---  Eliminated hypothesis H42 (duplicate of H20).
---  Eliminated hypothesis H43 (duplicate of H21).
---  Eliminated hypothesis H44 (duplicate of H22).
---  Eliminated hypothesis H45 (duplicate of H23).
---  Eliminated hypothesis H46 (duplicate of H24).
---  Eliminated hypothesis H47 (duplicate of H25).
---  Eliminated hypothesis H33 (duplicate of H11).
---  Eliminated hypothesis H34 (duplicate of H12).
---  Eliminated hypothesis H118 (duplicate of H12).
---  Eliminated hypothesis H174 (duplicate of H137).
---  Eliminated hypothesis H12 (duplicate of H2).
---  Eliminated hypothesis H137 (duplicate of H127).
---  Eliminated hypothesis H30 (duplicate of H8).
---  Eliminated hypothesis H9 (duplicate of H3).
---  Eliminated hypothesis H134 (duplicate of H129).
---  Eliminated hypothesis H29 (duplicate of H7).
---  Eliminated hypothesis H26 (duplicate of H1).
---  Eliminated hypothesis H3 (redundant, given H175).
---  Eliminated hypothesis H10 (redundant, given H120).
---  Eliminated hypothesis H11 (redundant, given H1).
---  Eliminated hypothesis H120 (redundant, given H175).
---  Eliminated hypothesis H135 (redundant, given H130).
---  Eliminated hypothesis H136 (redundant, given H126).
---  Eliminated hypothesis H173 (redundant, given H126).
-S-  Substituted hypothesis H128.
     This was achieved by replacing all occurrences of fld_hash_bit_len(fld_h(
          local_ctx__2)) by:
          fld_hash_bit_len(fld_h(ctx)).
-S-  Substituted hypothesis H131.
     This was achieved by replacing all occurrences of fld_byte_count(fld_h(
          local_ctx__2)) by:
          fld_byte_count(fld_h(ctx)).
***  Proved C1:  (fld_hash_bit_len(fld_h(ctx)) + 7) div 8 <= 
          result__index__subtype__1__last + 1
     using hypothesis H6.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_final_12.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  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 H8 on reading formula in, to give:
     %%%  H8:  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 H29 on reading formula in, to give:
     %%%  H29:  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 H30 on reading formula in, to give:
     %%%  H30:  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 H31 on reading formula in, to give:
     %%%  H31:  fld_byte_count(fld_h(ctx)) >= natural__first
%%%  Simplified H32 on reading formula in, to give:
     %%%  H32:  fld_byte_count(fld_h(ctx)) <= natural__last
%%%  Simplified H33 on reading formula in, to give:
     %%%  H33:  fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u6__first
%%%  Simplified H38 on reading formula in, to give:
     %%%  H38:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u6__last
%%%  Simplified H40 on reading formula in, to give:
     %%%  H40:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u7__first
%%%  Simplified H41 on reading formula in, to give:
     %%%  H41:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u7__last
%%%  Simplified H42 on reading formula in, to give:
     %%%  H42:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u16__first
%%%  Simplified H43 on reading formula in, to give:
     %%%  H43:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u16__last
%%%  Simplified H44 on reading formula in, to give:
     %%%  H44:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u32__first
%%%  Simplified H45 on reading formula in, to give:
     %%%  H45:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u32__last
%%%  Simplified H46 on reading formula in, to give:
     %%%  H46:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u64__first
%%%  Simplified H47 on reading formula in, to give:
     %%%  H47:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u64__last
%%%  Simplified H48 on reading formula in, to give:
     %%%  H48:  fld_byte_count(fld_h(ctx)) < skein_512_block_bytes_c
---  Hypothesis H49 has been replaced by "true".  (It is already present, as 
          H48).
%%%  Simplified H50 on reading formula in, to give:
     %%%  H50:  fld_hash_bit_len(fld_h(ctx)) > 0
%%%  Simplified H51 on reading formula in, to give:
     %%%  H51:  fld_hash_bit_len(fld_h(local_ctx__1)) = fld_hash_bit_len(fld_h(
          ctx))
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  fld_byte_count(fld_h(local_ctx__1)) = fld_byte_count(fld_h(ctx))
%%%  Simplified H55 on reading formula in, to give:
     %%%  H55:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx__1), [i___2]) 
          and element(fld_b(local_ctx__1), [i___2]) <= 
          spark__unsigned__byte__last)
%%%  Simplified H56 on reading formula in, to give:
     %%%  H56:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx__1), [i___1]) 
          and element(fld_x(local_ctx__1), [i___1]) <= 
          spark__unsigned__u64__last)
---  Hypothesis H74 has been replaced by "true".  (It is already present, as 
          H55).
---  Hypothesis H75 has been replaced by "true".  (It is already present, as 
          H56).
---  Hypothesis H76 has been replaced by "true".  (It is already present, as 
          H57).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H58).
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H59).
---  Hypothesis H79 has been replaced by "true".  (It is already present, as 
          H60).
---  Hypothesis H82 has been replaced by "true".  (It is already present, as 
          H63).
---  Hypothesis H83 has been replaced by "true".  (It is already present, as 
          H64).
---  Hypothesis H85 has been replaced by "true".  (It is already present, as 
          H66).
---  Hypothesis H86 has been replaced by "true".  (It is already present, as 
          H67).
---  Hypothesis H87 has been replaced by "true".  (It is already present, as 
          H68).
---  Hypothesis H88 has been replaced by "true".  (It is already present, as 
          H69).
---  Hypothesis H89 has been replaced by "true".  (It is already present, as 
          H70).
---  Hypothesis H90 has been replaced by "true".  (It is already present, as 
          H71).
---  Hypothesis H91 has been replaced by "true".  (It is already present, as 
          H72).
---  Hypothesis H92 has been replaced by "true".  (It is already present, as 
          H73).
---  Hypothesis H93 has been replaced by "true".  (It is already present, as 
          H55).
---  Hypothesis H94 has been replaced by "true".  (It is already present, as 
          H56).
---  Hypothesis H95 has been replaced by "true".  (It is already present, as 
          H57).
---  Hypothesis H96 has been replaced by "true".  (It is already present, as 
          H58).
---  Hypothesis H97 has been replaced by "true".  (It is already present, as 
          H59).
---  Hypothesis H98 has been replaced by "true".  (It is already present, as 
          H60).
---  Hypothesis H101 has been replaced by "true".  (It is already present, as 
          H63).
---  Hypothesis H102 has been replaced by "true".  (It is already present, as 
          H64).
---  Hypothesis H104 has been replaced by "true".  (It is already present, as 
          H66).
---  Hypothesis H105 has been replaced by "true".  (It is already present, as 
          H67).
---  Hypothesis H106 has been replaced by "true".  (It is already present, as 
          H68).
---  Hypothesis H107 has been replaced by "true".  (It is already present, as 
          H69).
---  Hypothesis H108 has been replaced by "true".  (It is already present, as 
          H70).
---  Hypothesis H109 has been replaced by "true".  (It is already present, as 
          H71).
---  Hypothesis H110 has been replaced by "true".  (It is already present, as 
          H72).
---  Hypothesis H111 has been replaced by "true".  (It is already present, as 
          H73).
---  Hypothesis H112 has been replaced by "true".  (It is already present, as 
          H57).
---  Hypothesis H113 has been replaced by "true".  (It is already present, as 
          H58).
---  Hypothesis H114 has been replaced by "true".  (It is already present, as 
          H55).
---  Hypothesis H115 has been replaced by "true".  (It is already present, as 
          H56).
---  Hypothesis H116 has been replaced by "true".  (It is already present, as 
          H57).
---  Hypothesis H117 has been replaced by "true".  (It is already present, as 
          H58).
---  Hypothesis H118 has been replaced by "true".  (It is already present, as 
          H59).
---  Hypothesis H119 has been replaced by "true".  (It is already present, as 
          H60).
---  Hypothesis H122 has been replaced by "true".  (It is already present, as 
          H63).
---  Hypothesis H123 has been replaced by "true".  (It is already present, as 
          H64).
---  Hypothesis H125 has been replaced by "true".  (It is already present, as 
          H66).
---  Hypothesis H126 has been replaced by "true".  (It is already present, as 
          H67).
---  Hypothesis H127 has been replaced by "true".  (It is already present, as 
          H68).
---  Hypothesis H128 has been replaced by "true".  (It is already present, as 
          H69).
---  Hypothesis H129 has been replaced by "true".  (It is already present, as 
          H70).
---  Hypothesis H130 has been replaced by "true".  (It is already present, as 
          H71).
---  Hypothesis H131 has been replaced by "true".  (It is already present, as 
          H72).
---  Hypothesis H132 has been replaced by "true".  (It is already present, as 
          H73).
%%%  Simplified H133 on reading formula in, to give:
     %%%  H133:  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(local_ctx__1), [i___1]) 
          and element(fld_b(local_ctx__1), [i___1]) <= 
          spark__unsigned__byte__last)
---  Hypothesis H134 has been replaced by "true".  (It is already present, as 
          H57).
---  Hypothesis H135 has been replaced by "true".  (It is already present, as 
          H58).
---  Hypothesis H136 has been replaced by "true".  (It is already present, as 
          H57).
---  Hypothesis H137 has been replaced by "true".  (It is already present, as 
          H58).
%%%  Simplified H147 on reading formula in, to give:
     %%%  H147:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H148 on reading formula in, to give:
     %%%  H148:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H150 on reading formula in, to give:
     %%%  H150:  63 <= natural__last
%%%  Simplified H157 on reading formula in, to give:
     %%%  H157:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx__2), [i___2]) 
          and element(fld_b(local_ctx__2), [i___2]) <= 
          spark__unsigned__byte__last)
%%%  Simplified H158 on reading formula in, to give:
     %%%  H158:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx__2), [i___1]) 
          and element(fld_x(local_ctx__2), [i___1]) <= 
          spark__unsigned__u64__last)
---  Hypothesis H176 has been replaced by "true".  (It is already present, as 
          H157).
---  Hypothesis H177 has been replaced by "true".  (It is already present, as 
          H158).
---  Hypothesis H178 has been replaced by "true".  (It is already present, as 
          H159).
---  Hypothesis H179 has been replaced by "true".  (It is already present, as 
          H160).
---  Hypothesis H180 has been replaced by "true".  (It is already present, as 
          H161).
---  Hypothesis H181 has been replaced by "true".  (It is already present, as 
          H162).
---  Hypothesis H184 has been replaced by "true".  (It is already present, as 
          H165).
---  Hypothesis H185 has been replaced by "true".  (It is already present, as 
          H166).
---  Hypothesis H187 has been replaced by "true".  (It is already present, as 
          H168).
---  Hypothesis H188 has been replaced by "true".  (It is already present, as 
          H169).
---  Hypothesis H189 has been replaced by "true".  (It is already present, as 
          H170).
---  Hypothesis H190 has been replaced by "true".  (It is already present, as 
          H171).
---  Hypothesis H191 has been replaced by "true".  (It is already present, as 
          H172).
---  Hypothesis H192 has been replaced by "true".  (It is already present, as 
          H173).
---  Hypothesis H193 has been replaced by "true".  (It is already present, as 
          H174).
---  Hypothesis H194 has been replaced by "true".  (It is already present, as 
          H175).
%%%  Simplified H197 on reading formula in, to give:
     %%%  H197:  true
***  Proved C1:  0 >= spark__unsigned__byte__first
     using hypothesis H27.
***  Proved C2:  0 <= spark__unsigned__byte__last
     using hypothesis H28.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_final_13.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  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 H8 on reading formula in, to give:
     %%%  H8:  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 H29 on reading formula in, to give:
     %%%  H29:  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 H30 on reading formula in, to give:
     %%%  H30:  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 H31 on reading formula in, to give:
     %%%  H31:  fld_byte_count(fld_h(ctx)) >= natural__first
%%%  Simplified H32 on reading formula in, to give:
     %%%  H32:  fld_byte_count(fld_h(ctx)) <= natural__last
%%%  Simplified H33 on reading formula in, to give:
     %%%  H33:  fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u6__first
%%%  Simplified H38 on reading formula in, to give:
     %%%  H38:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u6__last
%%%  Simplified H40 on reading formula in, to give:
     %%%  H40:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u7__first
%%%  Simplified H41 on reading formula in, to give:
     %%%  H41:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u7__last
%%%  Simplified H42 on reading formula in, to give:
     %%%  H42:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u16__first
%%%  Simplified H43 on reading formula in, to give:
     %%%  H43:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u16__last
%%%  Simplified H44 on reading formula in, to give:
     %%%  H44:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u32__first
%%%  Simplified H45 on reading formula in, to give:
     %%%  H45:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u32__last
%%%  Simplified H46 on reading formula in, to give:
     %%%  H46:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u64__first
%%%  Simplified H47 on reading formula in, to give:
     %%%  H47:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u64__last
%%%  Simplified H48 on reading formula in, to give:
     %%%  H48:  not fld_byte_count(fld_h(ctx)) < skein_512_block_bytes_c
---  Hypothesis H49 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H50 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H51 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H52 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H53 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H54 has been replaced by "true".  (It is already present, as 
          H34).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as 
          H37).
---  Hypothesis H58 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H60 has been replaced by "true".  (It is already present, as 
          H40).
---  Hypothesis H61 has been replaced by "true".  (It is already present, as 
          H41).
---  Hypothesis H62 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H63 has been replaced by "true".  (It is already present, as 
          H43).
---  Hypothesis H64 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H65 has been replaced by "true".  (It is already present, as 
          H45).
---  Hypothesis H66 has been replaced by "true".  (It is already present, as 
          H46).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H47).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H69 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H70 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H71 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H72 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H73 has been replaced by "true".  (It is already present, as 
          H34).
---  Hypothesis H76 has been replaced by "true".  (It is already present, as 
          H37).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H79 has been replaced by "true".  (It is already present, as 
          H40).
---  Hypothesis H80 has been replaced by "true".  (It is already present, as 
          H41).
---  Hypothesis H81 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H82 has been replaced by "true".  (It is already present, as 
          H43).
---  Hypothesis H83 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H84 has been replaced by "true".  (It is already present, as 
          H45).
---  Hypothesis H85 has been replaced by "true".  (It is already present, as 
          H46).
---  Hypothesis H86 has been replaced by "true".  (It is already present, as 
          H47).
---  Hypothesis H87 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H88 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H89 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H90 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H91 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H92 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H93 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H94 has been replaced by "true".  (It is already present, as 
          H34).
---  Hypothesis H97 has been replaced by "true".  (It is already present, as 
          H37).
---  Hypothesis H98 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H100 has been replaced by "true".  (It is already present, as 
          H40).
---  Hypothesis H101 has been replaced by "true".  (It is already present, as 
          H41).
---  Hypothesis H102 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H103 has been replaced by "true".  (It is already present, as 
          H43).
---  Hypothesis H104 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H105 has been replaced by "true".  (It is already present, as 
          H45).
---  Hypothesis H106 has been replaced by "true".  (It is already present, as 
          H46).
---  Hypothesis H107 has been replaced by "true".  (It is already present, as 
          H47).
%%%  Simplified H108 on reading formula in, to give:
     %%%  H108:  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), [i___1]) and 
          element(fld_b(ctx), [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H109 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H110 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H111 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H112 has been replaced by "true".  (It is already present, as 
          H32).
%%%  Simplified H117 on reading formula in, to give:
     %%%  H117:  fld_hash_bit_len(fld_h(ctx)) >= 
          initialized_hash_bit_length__first
%%%  Simplified H118 on reading formula in, to give:
     %%%  H118:  fld_hash_bit_len(fld_h(ctx)) <= 
          initialized_hash_bit_length__last
%%%  Simplified H119 on reading formula in, to give:
     %%%  H119:  fld_byte_count(fld_h(ctx)) >= 
          skein_512_block_bytes_count__first
%%%  Simplified H120 on reading formula in, to give:
     %%%  H120:  fld_byte_count(fld_h(ctx)) <= skein_512_block_bytes_count__last
%%%  Simplified H122 on reading formula in, to give:
     %%%  H122:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H123 on reading formula in, to give:
     %%%  H123:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H125 on reading formula in, to give:
     %%%  H125:  63 <= natural__last
%%%  Simplified H128 on reading formula in, to give:
     %%%  H128:  fld_hash_bit_len(fld_h(local_ctx__2)) = fld_hash_bit_len(fld_h(
          ctx))
%%%  Simplified H131 on reading formula in, to give:
     %%%  H131:  fld_byte_count(fld_h(local_ctx__2)) = fld_byte_count(fld_h(ctx)
          )
%%%  Simplified H132 on reading formula in, to give:
     %%%  H132:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx__2), [i___2]) 
          and element(fld_b(local_ctx__2), [i___2]) <= 
          spark__unsigned__byte__last)
%%%  Simplified H133 on reading formula in, to give:
     %%%  H133:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx__2), [i___1]) 
          and element(fld_x(local_ctx__2), [i___1]) <= 
          spark__unsigned__u64__last)
---  Hypothesis H151 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H152 has been replaced by "true".  (It is already present, as 
          H133).
---  Hypothesis H153 has been replaced by "true".  (It is already present, as 
          H134).
---  Hypothesis H154 has been replaced by "true".  (It is already present, as 
          H135).
---  Hypothesis H155 has been replaced by "true".  (It is already present, as 
          H136).
---  Hypothesis H156 has been replaced by "true".  (It is already present, as 
          H137).
---  Hypothesis H159 has been replaced by "true".  (It is already present, as 
          H140).
---  Hypothesis H160 has been replaced by "true".  (It is already present, as 
          H141).
---  Hypothesis H162 has been replaced by "true".  (It is already present, as 
          H143).
---  Hypothesis H163 has been replaced by "true".  (It is already present, as 
          H144).
---  Hypothesis H164 has been replaced by "true".  (It is already present, as 
          H145).
---  Hypothesis H165 has been replaced by "true".  (It is already present, as 
          H146).
---  Hypothesis H166 has been replaced by "true".  (It is already present, as 
          H147).
---  Hypothesis H167 has been replaced by "true".  (It is already present, as 
          H148).
---  Hypothesis H168 has been replaced by "true".  (It is already present, as 
          H149).
---  Hypothesis H169 has been replaced by "true".  (It is already present, as 
          H150).
%%%  Simplified H172 on reading formula in, to give:
     %%%  H172:  true
***  Proved C1:  0 >= spark__unsigned__byte__first
     using hypothesis H27.
***  Proved C2:  0 <= spark__unsigned__byte__last
     using hypothesis H28.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_final_14.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  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 H8 on reading formula in, to give:
     %%%  H8:  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 H29 on reading formula in, to give:
     %%%  H29:  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 H30 on reading formula in, to give:
     %%%  H30:  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 H31 on reading formula in, to give:
     %%%  H31:  fld_byte_count(fld_h(ctx)) >= natural__first
%%%  Simplified H32 on reading formula in, to give:
     %%%  H32:  fld_byte_count(fld_h(ctx)) <= natural__last
%%%  Simplified H33 on reading formula in, to give:
     %%%  H33:  fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u6__first
%%%  Simplified H38 on reading formula in, to give:
     %%%  H38:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u6__last
%%%  Simplified H40 on reading formula in, to give:
     %%%  H40:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u7__first
%%%  Simplified H41 on reading formula in, to give:
     %%%  H41:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u7__last
%%%  Simplified H42 on reading formula in, to give:
     %%%  H42:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u16__first
%%%  Simplified H43 on reading formula in, to give:
     %%%  H43:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u16__last
%%%  Simplified H44 on reading formula in, to give:
     %%%  H44:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u32__first
%%%  Simplified H45 on reading formula in, to give:
     %%%  H45:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u32__last
%%%  Simplified H46 on reading formula in, to give:
     %%%  H46:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u64__first
%%%  Simplified H47 on reading formula in, to give:
     %%%  H47:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u64__last
%%%  Simplified H48 on reading formula in, to give:
     %%%  H48:  fld_byte_count(fld_h(ctx)) < skein_512_block_bytes_c
---  Hypothesis H49 has been replaced by "true".  (It is already present, as 
          H48).
%%%  Simplified H50 on reading formula in, to give:
     %%%  H50:  fld_hash_bit_len(fld_h(ctx)) > 0
%%%  Simplified H51 on reading formula in, to give:
     %%%  H51:  fld_hash_bit_len(fld_h(local_ctx__1)) = fld_hash_bit_len(fld_h(
          ctx))
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  fld_byte_count(fld_h(local_ctx__1)) = fld_byte_count(fld_h(ctx))
%%%  Simplified H55 on reading formula in, to give:
     %%%  H55:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx__1), [i___2]) 
          and element(fld_b(local_ctx__1), [i___2]) <= 
          spark__unsigned__byte__last)
%%%  Simplified H56 on reading formula in, to give:
     %%%  H56:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx__1), [i___1]) 
          and element(fld_x(local_ctx__1), [i___1]) <= 
          spark__unsigned__u64__last)
---  Hypothesis H74 has been replaced by "true".  (It is already present, as 
          H55).
---  Hypothesis H75 has been replaced by "true".  (It is already present, as 
          H56).
---  Hypothesis H76 has been replaced by "true".  (It is already present, as 
          H57).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H58).
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H59).
---  Hypothesis H79 has been replaced by "true".  (It is already present, as 
          H60).
---  Hypothesis H82 has been replaced by "true".  (It is already present, as 
          H63).
---  Hypothesis H83 has been replaced by "true".  (It is already present, as 
          H64).
---  Hypothesis H85 has been replaced by "true".  (It is already present, as 
          H66).
---  Hypothesis H86 has been replaced by "true".  (It is already present, as 
          H67).
---  Hypothesis H87 has been replaced by "true".  (It is already present, as 
          H68).
---  Hypothesis H88 has been replaced by "true".  (It is already present, as 
          H69).
---  Hypothesis H89 has been replaced by "true".  (It is already present, as 
          H70).
---  Hypothesis H90 has been replaced by "true".  (It is already present, as 
          H71).
---  Hypothesis H91 has been replaced by "true".  (It is already present, as 
          H72).
---  Hypothesis H92 has been replaced by "true".  (It is already present, as 
          H73).
---  Hypothesis H93 has been replaced by "true".  (It is already present, as 
          H55).
---  Hypothesis H94 has been replaced by "true".  (It is already present, as 
          H56).
---  Hypothesis H95 has been replaced by "true".  (It is already present, as 
          H57).
---  Hypothesis H96 has been replaced by "true".  (It is already present, as 
          H58).
---  Hypothesis H97 has been replaced by "true".  (It is already present, as 
          H59).
---  Hypothesis H98 has been replaced by "true".  (It is already present, as 
          H60).
---  Hypothesis H101 has been replaced by "true".  (It is already present, as 
          H63).
---  Hypothesis H102 has been replaced by "true".  (It is already present, as 
          H64).
---  Hypothesis H104 has been replaced by "true".  (It is already present, as 
          H66).
---  Hypothesis H105 has been replaced by "true".  (It is already present, as 
          H67).
---  Hypothesis H106 has been replaced by "true".  (It is already present, as 
          H68).
---  Hypothesis H107 has been replaced by "true".  (It is already present, as 
          H69).
---  Hypothesis H108 has been replaced by "true".  (It is already present, as 
          H70).
---  Hypothesis H109 has been replaced by "true".  (It is already present, as 
          H71).
---  Hypothesis H110 has been replaced by "true".  (It is already present, as 
          H72).
---  Hypothesis H111 has been replaced by "true".  (It is already present, as 
          H73).
---  Hypothesis H112 has been replaced by "true".  (It is already present, as 
          H57).
---  Hypothesis H113 has been replaced by "true".  (It is already present, as 
          H58).
---  Hypothesis H114 has been replaced by "true".  (It is already present, as 
          H55).
---  Hypothesis H115 has been replaced by "true".  (It is already present, as 
          H56).
---  Hypothesis H116 has been replaced by "true".  (It is already present, as 
          H57).
---  Hypothesis H117 has been replaced by "true".  (It is already present, as 
          H58).
---  Hypothesis H118 has been replaced by "true".  (It is already present, as 
          H59).
---  Hypothesis H119 has been replaced by "true".  (It is already present, as 
          H60).
---  Hypothesis H122 has been replaced by "true".  (It is already present, as 
          H63).
---  Hypothesis H123 has been replaced by "true".  (It is already present, as 
          H64).
---  Hypothesis H125 has been replaced by "true".  (It is already present, as 
          H66).
---  Hypothesis H126 has been replaced by "true".  (It is already present, as 
          H67).
---  Hypothesis H127 has been replaced by "true".  (It is already present, as 
          H68).
---  Hypothesis H128 has been replaced by "true".  (It is already present, as 
          H69).
---  Hypothesis H129 has been replaced by "true".  (It is already present, as 
          H70).
---  Hypothesis H130 has been replaced by "true".  (It is already present, as 
          H71).
---  Hypothesis H131 has been replaced by "true".  (It is already present, as 
          H72).
---  Hypothesis H132 has been replaced by "true".  (It is already present, as 
          H73).
%%%  Simplified H133 on reading formula in, to give:
     %%%  H133:  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(local_ctx__1), [i___1]) 
          and element(fld_b(local_ctx__1), [i___1]) <= 
          spark__unsigned__byte__last)
---  Hypothesis H134 has been replaced by "true".  (It is already present, as 
          H57).
---  Hypothesis H135 has been replaced by "true".  (It is already present, as 
          H58).
---  Hypothesis H136 has been replaced by "true".  (It is already present, as 
          H57).
---  Hypothesis H137 has been replaced by "true".  (It is already present, as 
          H58).
%%%  Simplified H147 on reading formula in, to give:
     %%%  H147:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H148 on reading formula in, to give:
     %%%  H148:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H150 on reading formula in, to give:
     %%%  H150:  63 <= natural__last
%%%  Simplified H157 on reading formula in, to give:
     %%%  H157:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx__2), [i___2]) 
          and element(fld_b(local_ctx__2), [i___2]) <= 
          spark__unsigned__byte__last)
%%%  Simplified H158 on reading formula in, to give:
     %%%  H158:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx__2), [i___1]) 
          and element(fld_x(local_ctx__2), [i___1]) <= 
          spark__unsigned__u64__last)
---  Hypothesis H176 has been replaced by "true".  (It is already present, as 
          H157).
---  Hypothesis H177 has been replaced by "true".  (It is already present, as 
          H158).
---  Hypothesis H178 has been replaced by "true".  (It is already present, as 
          H159).
---  Hypothesis H179 has been replaced by "true".  (It is already present, as 
          H160).
---  Hypothesis H180 has been replaced by "true".  (It is already present, as 
          H161).
---  Hypothesis H181 has been replaced by "true".  (It is already present, as 
          H162).
---  Hypothesis H184 has been replaced by "true".  (It is already present, as 
          H165).
---  Hypothesis H185 has been replaced by "true".  (It is already present, as 
          H166).
---  Hypothesis H187 has been replaced by "true".  (It is already present, as 
          H168).
---  Hypothesis H188 has been replaced by "true".  (It is already present, as 
          H169).
---  Hypothesis H189 has been replaced by "true".  (It is already present, as 
          H170).
---  Hypothesis H190 has been replaced by "true".  (It is already present, as 
          H171).
---  Hypothesis H191 has been replaced by "true".  (It is already present, as 
          H172).
---  Hypothesis H192 has been replaced by "true".  (It is already present, as 
          H173).
---  Hypothesis H193 has been replaced by "true".  (It is already present, as 
          H174).
---  Hypothesis H194 has been replaced by "true".  (It is already present, as 
          H175).
%%%  Simplified H197 on reading formula in, to give:
     %%%  H197:  true
---  Hypothesis H201 has been replaced by "true".  (It is already present, as 
          H27).
---  Hypothesis H202 has been replaced by "true".  (It is already present, as 
          H28).
%%%  Simplified H203 on reading formula in, to give:
     %%%  H203:  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 <= 0 and 0 <= 
          spark__unsigned__byte__last)
%%%  Simplified H204 on reading formula in, to give:
     %%%  H204:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx__2), [i___1]) 
          and element(fld_x(local_ctx__2), [i___1]) <= 
          spark__unsigned__u64__last)
%%%  Simplified H205 on reading formula in, to give:
     %%%  H205:  fld_byte_count(fld_h(local_ctx__2)) >= natural__first
%%%  Simplified H206 on reading formula in, to give:
     %%%  H206:  fld_byte_count(fld_h(local_ctx__2)) <= natural__last
%%%  Simplified H207 on reading formula in, to give:
     %%%  H207:  fld_hash_bit_len(fld_h(local_ctx__2)) >= hash_bit_length__first
%%%  Simplified H208 on reading formula in, to give:
     %%%  H208:  fld_hash_bit_len(fld_h(local_ctx__2)) <= hash_bit_length__last
%%%  Simplified H211 on reading formula in, to give:
     %%%  H211:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) >= 
          spark__unsigned__u6__first
%%%  Simplified H212 on reading formula in, to give:
     %%%  H212:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) <= 
          spark__unsigned__u6__last
%%%  Simplified H214 on reading formula in, to give:
     %%%  H214:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) >= 
          spark__unsigned__u7__first
%%%  Simplified H215 on reading formula in, to give:
     %%%  H215:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) <= 
          spark__unsigned__u7__last
%%%  Simplified H216 on reading formula in, to give:
     %%%  H216:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) >= 
          spark__unsigned__u16__first
%%%  Simplified H217 on reading formula in, to give:
     %%%  H217:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) <= 
          spark__unsigned__u16__last
%%%  Simplified H218 on reading formula in, to give:
     %%%  H218:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) >= 
          spark__unsigned__u32__first
%%%  Simplified H219 on reading formula in, to give:
     %%%  H219:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) <= 
          spark__unsigned__u32__last
%%%  Simplified H220 on reading formula in, to give:
     %%%  H220:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) >= 
          spark__unsigned__u64__first
%%%  Simplified H221 on reading formula in, to give:
     %%%  H221:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) <= 
          spark__unsigned__u64__last
---  Hypothesis H222 has been replaced by "true".  (It is already present, as 
          H195).
---  Hypothesis H223 has been replaced by "true".  (It is already present, as 
          H196).
%%%  Simplified C3 on reading formula in, to give:
     %%%  C3:  true
***  Proved C3:  true
-S-  Applied substitution rule skein_512_fi_rules(135).
     This was achieved by replacing all occurrences of 
          positive_output_block_count_t__first by:
          1.
<S>  New C1:  ((fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 + 63) div 64 
          >= 1
-S-  Applied substitution rule skein_512_fi_rules(136).
     This was achieved by replacing all occurrences of 
          positive_output_block_count_t__last by:
          4194304.
<S>  New C2:  ((fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 + 63) div 64 
          <= 4194304
-S-  Applied substitution rule skein_512_fi_rules(6).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H198:  fld_hash_bit_len(fld_h(local_ctx__2)) >= - 2147483655
<S>  New C4:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 >= - 2147483711
-S-  Applied substitution rule skein_512_fi_rules(7).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H199:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 2147483640
<S>  New C5:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 <= 2147483584
-S-  Applied substitution rule skein_512_fi_rules(1).
     This was achieved by replacing all occurrences of skein_512_block_bytes_c 
          by:
          64.
<S>  New H48:  fld_byte_count(fld_h(ctx)) < 64
<S>  New H53:  fld_byte_count(fld_h(local_ctx__1)) < 64
-S-  Applied substitution rule skein_512_fi_rules(9).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H9:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H31:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H57:  fld_byte_count(fld_h(local_ctx__1)) >= 0
<S>  New H140:  true
<S>  New H159:  fld_byte_count(fld_h(local_ctx__2)) >= 0
<S>  New H205:  fld_byte_count(fld_h(local_ctx__2)) >= 0
-S-  Applied substitution rule skein_512_fi_rules(10).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H10:  fld_byte_count(fld_h(ctx)) <= 2147483647
<S>  New H32:  fld_byte_count(fld_h(ctx)) <= 2147483647
<S>  New H58:  fld_byte_count(fld_h(local_ctx__1)) <= 2147483647
<S>  New H141:  true
<S>  New H149:  skein_512_block_bytes_index__last <= 2147483647
<S>  New H150:  true
<S>  New H160:  fld_byte_count(fld_h(local_ctx__2)) <= 2147483647
<S>  New H206:  fld_byte_count(fld_h(local_ctx__2)) <= 2147483647
-S-  Applied substitution rule skein_512_fi_rules(42).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H15:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H37:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H63:  fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) >= 0
<S>  New H165:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) >= 0
<S>  New H211:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(43).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H16:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 63
<S>  New H38:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 63
<S>  New H64:  fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) <= 63
<S>  New H166:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) <= 63
<S>  New H212:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) <= 63
-S-  Applied substitution rule skein_512_fi_rules(48).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H18:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H40:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H66:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) >= 0
<S>  New H168:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) >= 0
<S>  New H214:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(49).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H19:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 127
<S>  New H41:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 127
<S>  New H67:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) <= 127
<S>  New H169:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) <= 127
<S>  New H215:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) <= 127
-S-  Applied substitution rule skein_512_fi_rules(54).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H7:  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:  true
<S>  New H29:  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 H55:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__1), [i___2]) and element(fld_b(local_ctx__1), [i___2]
          ) <= spark__unsigned__byte__last)
<S>  New H133:  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(local_ctx__1), [i___1]) and element(fld_b(local_ctx__1), [i___1]
          ) <= spark__unsigned__byte__last)
<S>  New H157:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__2), [i___2]) and element(fld_b(local_ctx__2), [i___2]
          ) <= spark__unsigned__byte__last)
<S>  New H203:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= 
          spark__unsigned__byte__last)
-S-  Applied substitution rule skein_512_fi_rules(55).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H28:  true
<S>  New H7:  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 H29:  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 H55:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__1), [i___2]) and element(fld_b(local_ctx__1), [i___2]
          ) <= 255)
<S>  New H133:  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(local_ctx__1), [i___1]) and element(fld_b(local_ctx__1), [i___1]
          ) <= 255)
<S>  New H157:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__2), [i___2]) and element(fld_b(local_ctx__2), [i___2]
          ) <= 255)
<S>  New H203:  true
-S-  Applied substitution rule skein_512_fi_rules(60).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H20:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H42:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H68:  fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) >= 0
<S>  New H170:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) >= 0
<S>  New H216:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(61).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H21:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 65535
<S>  New H43:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 65535
<S>  New H69:  fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) <= 65535
<S>  New H171:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) <= 65535
<S>  New H217:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) <= 65535
-S-  Applied substitution rule skein_512_fi_rules(66).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H22:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H44:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H70:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) >= 0
<S>  New H172:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) >= 0
<S>  New H218:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(67).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H23:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 4294967295
<S>  New H45:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 4294967295
<S>  New H71:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) <= 
          4294967295
<S>  New H173:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) <= 
          4294967295
<S>  New H219:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) <= 
          4294967295
-S-  Applied substitution rule skein_512_fi_rules(72).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H8:  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 H24:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H30:  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 H46:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H56:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__1), [i___1]) and element(fld_x(local_ctx__1), [i___1]
          ) <= spark__unsigned__u64__last)
<S>  New H72:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) >= 0
<S>  New H158:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__2), [i___1]) and element(fld_x(local_ctx__2), [i___1]
          ) <= spark__unsigned__u64__last)
<S>  New H174:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) >= 0
<S>  New H204:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__2), [i___1]) and element(fld_x(local_ctx__2), [i___1]
          ) <= spark__unsigned__u64__last)
<S>  New H220:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(73).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H25:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          18446744073709551615
<S>  New H47:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          18446744073709551615
<S>  New H73:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) <= 
          18446744073709551615
<S>  New H175:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) <= 
          18446744073709551615
<S>  New H221:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) <= 
          18446744073709551615
<S>  New H8:  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 H30:  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 H56:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__1), [i___1]) and element(fld_x(local_ctx__1), [i___1]
          ) <= 18446744073709551615)
<S>  New H158:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__2), [i___1]) and element(fld_x(local_ctx__2), [i___1]
          ) <= 18446744073709551615)
<S>  New H204:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__2), [i___1]) and element(fld_x(local_ctx__2), [i___1]
          ) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_fi_rules(83).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H11:  fld_hash_bit_len(fld_h(ctx)) >= 0
<S>  New H33:  fld_hash_bit_len(fld_h(ctx)) >= 0
<S>  New H59:  fld_hash_bit_len(fld_h(local_ctx__1)) >= 0
<S>  New H161:  fld_hash_bit_len(fld_h(local_ctx__2)) >= 0
<S>  New H207:  fld_hash_bit_len(fld_h(local_ctx__2)) >= 0
-S-  Applied substitution rule skein_512_fi_rules(84).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H12:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H34:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H60:  fld_hash_bit_len(fld_h(local_ctx__1)) <= 2147483640
<S>  New H162:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 2147483640
<S>  New H208:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 2147483640
-S-  Applied substitution rule skein_512_fi_rules(88).
     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 H142:  fld_hash_bit_len(fld_h(local_ctx__1)) >= 1
<S>  New H151:  fld_hash_bit_len(fld_h(local_ctx__2)) >= 1
-S-  Applied substitution rule skein_512_fi_rules(89).
     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 H143:  fld_hash_bit_len(fld_h(local_ctx__1)) <= 2147483640
<S>  New H152:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 2147483640
-S-  Applied substitution rule skein_512_fi_rules(93).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H8:  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 H30:  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 H56:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(local_ctx__1)
          , [i___1]) and element(fld_x(local_ctx__1), [i___1]) <= 
          18446744073709551615)
<S>  New H158:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(local_ctx__2)
          , [i___1]) and element(fld_x(local_ctx__2), [i___1]) <= 
          18446744073709551615)
<S>  New H204:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(local_ctx__2)
          , [i___1]) and element(fld_x(local_ctx__2), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule skein_512_fi_rules(94).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H8:  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 H30:  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 H56:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(local_ctx__1), [i___1]) and element(fld_x(local_ctx__1)
          , [i___1]) <= 18446744073709551615)
<S>  New H158:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(local_ctx__2), [i___1]) and element(fld_x(local_ctx__2)
          , [i___1]) <= 18446744073709551615)
<S>  New H204:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(local_ctx__2), [i___1]) and element(fld_x(local_ctx__2)
          , [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_fi_rules(98).
     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 H144:  fld_byte_count(fld_h(local_ctx__1)) >= 0
<S>  New H154:  fld_byte_count(fld_h(local_ctx__2)) >= 0
-S-  Applied substitution rule skein_512_fi_rules(99).
     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 H145:  fld_byte_count(fld_h(local_ctx__1)) <= 64
<S>  New H155:  fld_byte_count(fld_h(local_ctx__2)) <= 64
-S-  Applied substitution rule skein_512_fi_rules(103).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H146:  true
<S>  New H7:  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 H29:  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 H55:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(local_ctx__1)
          , [i___2]) and element(fld_b(local_ctx__1), [i___2]) <= 255)
<S>  New H133:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(local_ctx__1)
          , [i___1]) and element(fld_b(local_ctx__1), [i___1]) <= 255)
<S>  New H157:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(local_ctx__2)
          , [i___2]) and element(fld_b(local_ctx__2), [i___2]) <= 255)
-S-  Applied substitution rule skein_512_fi_rules(104).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H147:  true
<S>  New H148:  true
<S>  New H149:  true
<S>  New H7:  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 H29:  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 H55:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(local_ctx__1), [i___2]) and element(fld_b(local_ctx__1)
          , [i___2]) <= 255)
<S>  New H133:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 63 -> 0 <= 
          element(fld_b(local_ctx__1), [i___1]) and element(fld_b(local_ctx__1)
          , [i___1]) <= 255)
<S>  New H157:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(local_ctx__2), [i___2]) and element(fld_b(local_ctx__2)
          , [i___2]) <= 255)
-S-  Applied substitution rule skein_512_fi_rules(108).
     This was achieved by replacing all occurrences of 
          positive_block_512_count_t__first by:
          1.
<S>  New H138:  true
-S-  Applied substitution rule skein_512_fi_rules(109).
     This was achieved by replacing all occurrences of 
          positive_block_512_count_t__last by:
          33554431.
<S>  New H139:  true
-S-  Applied substitution rule skein_512_fi_rules(125).
     This was achieved by replacing all occurrences of 
          output_byte_count_t__first by:
          1.
<S>  New H195:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 >= 1
-S-  Applied substitution rule skein_512_fi_rules(126).
     This was achieved by replacing all occurrences of 
          output_byte_count_t__last by:
          268435455.
<S>  New H196:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 <= 268435455
***  Proved C4:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 >= - 
          2147483711
     using hypothesis H195.
***  Proved C5:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 <= 2147483584
     using hypothesis H196.
---  Eliminated hypothesis H13 (true-hypothesis).
---  Eliminated hypothesis H14 (true-hypothesis).
---  Eliminated hypothesis H17 (true-hypothesis).
---  Eliminated hypothesis H35 (true-hypothesis).
---  Eliminated hypothesis H36 (true-hypothesis).
---  Eliminated hypothesis H39 (true-hypothesis).
---  Eliminated hypothesis H49 (true-hypothesis).
---  Eliminated hypothesis H61 (true-hypothesis).
---  Eliminated hypothesis H62 (true-hypothesis).
---  Eliminated hypothesis H65 (true-hypothesis).
---  Eliminated hypothesis H74 (true-hypothesis).
---  Eliminated hypothesis H75 (true-hypothesis).
---  Eliminated hypothesis H76 (true-hypothesis).
---  Eliminated hypothesis H77 (true-hypothesis).
---  Eliminated hypothesis H78 (true-hypothesis).
---  Eliminated hypothesis H79 (true-hypothesis).
---  Eliminated hypothesis H80 (true-hypothesis).
---  Eliminated hypothesis H81 (true-hypothesis).
---  Eliminated hypothesis H82 (true-hypothesis).
---  Eliminated hypothesis H83 (true-hypothesis).
---  Eliminated hypothesis H84 (true-hypothesis).
---  Eliminated hypothesis H85 (true-hypothesis).
---  Eliminated hypothesis H86 (true-hypothesis).
---  Eliminated hypothesis H87 (true-hypothesis).
---  Eliminated hypothesis H88 (true-hypothesis).
---  Eliminated hypothesis H89 (true-hypothesis).
---  Eliminated hypothesis H90 (true-hypothesis).
---  Eliminated hypothesis H91 (true-hypothesis).
---  Eliminated hypothesis H92 (true-hypothesis).
---  Eliminated hypothesis H93 (true-hypothesis).
---  Eliminated hypothesis H94 (true-hypothesis).
---  Eliminated hypothesis H95 (true-hypothesis).
---  Eliminated hypothesis H96 (true-hypothesis).
---  Eliminated hypothesis H97 (true-hypothesis).
---  Eliminated hypothesis H98 (true-hypothesis).
---  Eliminated hypothesis H99 (true-hypothesis).
---  Eliminated hypothesis H100 (true-hypothesis).
---  Eliminated hypothesis H101 (true-hypothesis).
---  Eliminated hypothesis H102 (true-hypothesis).
---  Eliminated hypothesis H103 (true-hypothesis).
---  Eliminated hypothesis H104 (true-hypothesis).
---  Eliminated hypothesis H105 (true-hypothesis).
---  Eliminated hypothesis H106 (true-hypothesis).
---  Eliminated hypothesis H107 (true-hypothesis).
---  Eliminated hypothesis H108 (true-hypothesis).
---  Eliminated hypothesis H109 (true-hypothesis).
---  Eliminated hypothesis H110 (true-hypothesis).
---  Eliminated hypothesis H111 (true-hypothesis).
---  Eliminated hypothesis H112 (true-hypothesis).
---  Eliminated hypothesis H113 (true-hypothesis).
---  Eliminated hypothesis H114 (true-hypothesis).
---  Eliminated hypothesis H115 (true-hypothesis).
---  Eliminated hypothesis H116 (true-hypothesis).
---  Eliminated hypothesis H117 (true-hypothesis).
---  Eliminated hypothesis H118 (true-hypothesis).
---  Eliminated hypothesis H119 (true-hypothesis).
---  Eliminated hypothesis H120 (true-hypothesis).
---  Eliminated hypothesis H121 (true-hypothesis).
---  Eliminated hypothesis H122 (true-hypothesis).
---  Eliminated hypothesis H123 (true-hypothesis).
---  Eliminated hypothesis H124 (true-hypothesis).
---  Eliminated hypothesis H125 (true-hypothesis).
---  Eliminated hypothesis H126 (true-hypothesis).
---  Eliminated hypothesis H127 (true-hypothesis).
---  Eliminated hypothesis H128 (true-hypothesis).
---  Eliminated hypothesis H129 (true-hypothesis).
---  Eliminated hypothesis H130 (true-hypothesis).
---  Eliminated hypothesis H131 (true-hypothesis).
---  Eliminated hypothesis H132 (true-hypothesis).
---  Eliminated hypothesis H134 (true-hypothesis).
---  Eliminated hypothesis H135 (true-hypothesis).
---  Eliminated hypothesis H136 (true-hypothesis).
---  Eliminated hypothesis H137 (true-hypothesis).
---  Eliminated hypothesis H163 (true-hypothesis).
---  Eliminated hypothesis H164 (true-hypothesis).
---  Eliminated hypothesis H167 (true-hypothesis).
---  Eliminated hypothesis H176 (true-hypothesis).
---  Eliminated hypothesis H177 (true-hypothesis).
---  Eliminated hypothesis H178 (true-hypothesis).
---  Eliminated hypothesis H179 (true-hypothesis).
---  Eliminated hypothesis H180 (true-hypothesis).
---  Eliminated hypothesis H181 (true-hypothesis).
---  Eliminated hypothesis H182 (true-hypothesis).
---  Eliminated hypothesis H183 (true-hypothesis).
---  Eliminated hypothesis H184 (true-hypothesis).
---  Eliminated hypothesis H185 (true-hypothesis).
---  Eliminated hypothesis H186 (true-hypothesis).
---  Eliminated hypothesis H187 (true-hypothesis).
---  Eliminated hypothesis H188 (true-hypothesis).
---  Eliminated hypothesis H189 (true-hypothesis).
---  Eliminated hypothesis H190 (true-hypothesis).
---  Eliminated hypothesis H191 (true-hypothesis).
---  Eliminated hypothesis H192 (true-hypothesis).
---  Eliminated hypothesis H193 (true-hypothesis).
---  Eliminated hypothesis H194 (true-hypothesis).
---  Eliminated hypothesis H197 (true-hypothesis).
---  Eliminated hypothesis H201 (true-hypothesis).
---  Eliminated hypothesis H202 (true-hypothesis).
---  Eliminated hypothesis H209 (true-hypothesis).
---  Eliminated hypothesis H210 (true-hypothesis).
---  Eliminated hypothesis H213 (true-hypothesis).
---  Eliminated hypothesis H222 (true-hypothesis).
---  Eliminated hypothesis H223 (true-hypothesis).
---  Eliminated hypothesis H140 (true-hypothesis).
---  Eliminated hypothesis H141 (true-hypothesis).
---  Eliminated hypothesis H150 (true-hypothesis).
---  Eliminated hypothesis H27 (true-hypothesis).
---  Eliminated hypothesis H28 (true-hypothesis).
---  Eliminated hypothesis H203 (true-hypothesis).
---  Eliminated hypothesis H146 (true-hypothesis).
---  Eliminated hypothesis H147 (true-hypothesis).
---  Eliminated hypothesis H148 (true-hypothesis).
---  Eliminated hypothesis H149 (true-hypothesis).
---  Eliminated hypothesis H138 (true-hypothesis).
---  Eliminated hypothesis H139 (true-hypothesis).
---  Eliminated hypothesis H50 (duplicate of H26).
---  Eliminated hypothesis H142 (duplicate of H52).
---  Eliminated hypothesis H208 (duplicate of H199).
---  Eliminated hypothesis H31 (duplicate of H9).
---  Eliminated hypothesis H144 (duplicate of H57).
---  Eliminated hypothesis H205 (duplicate of H159).
---  Eliminated hypothesis H32 (duplicate of H10).
---  Eliminated hypothesis H206 (duplicate of H160).
---  Eliminated hypothesis H37 (duplicate of H15).
---  Eliminated hypothesis H211 (duplicate of H165).
---  Eliminated hypothesis H38 (duplicate of H16).
---  Eliminated hypothesis H212 (duplicate of H166).
---  Eliminated hypothesis H40 (duplicate of H18).
---  Eliminated hypothesis H214 (duplicate of H168).
---  Eliminated hypothesis H41 (duplicate of H19).
---  Eliminated hypothesis H215 (duplicate of H169).
---  Eliminated hypothesis H42 (duplicate of H20).
---  Eliminated hypothesis H216 (duplicate of H170).
---  Eliminated hypothesis H43 (duplicate of H21).
---  Eliminated hypothesis H217 (duplicate of H171).
---  Eliminated hypothesis H44 (duplicate of H22).
---  Eliminated hypothesis H218 (duplicate of H172).
---  Eliminated hypothesis H45 (duplicate of H23).
---  Eliminated hypothesis H219 (duplicate of H173).
---  Eliminated hypothesis H46 (duplicate of H24).
---  Eliminated hypothesis H220 (duplicate of H174).
---  Eliminated hypothesis H47 (duplicate of H25).
---  Eliminated hypothesis H221 (duplicate of H175).
---  Eliminated hypothesis H33 (duplicate of H11).
---  Eliminated hypothesis H207 (duplicate of H161).
---  Eliminated hypothesis H34 (duplicate of H12).
---  Eliminated hypothesis H143 (duplicate of H60).
---  Eliminated hypothesis H199 (duplicate of H162).
---  Eliminated hypothesis H12 (duplicate of H2).
---  Eliminated hypothesis H162 (duplicate of H152).
---  Eliminated hypothesis H30 (duplicate of H8).
---  Eliminated hypothesis H204 (duplicate of H158).
---  Eliminated hypothesis H9 (duplicate of H3).
---  Eliminated hypothesis H159 (duplicate of H154).
---  Eliminated hypothesis H29 (duplicate of H7).
---  Eliminated hypothesis H26 (duplicate of H1).
---  Eliminated hypothesis H4 (redundant, given H48).
---  Eliminated hypothesis H10 (redundant, given H48).
---  Eliminated hypothesis H11 (redundant, given H1).
---  Eliminated hypothesis H58 (redundant, given H53).
---  Eliminated hypothesis H59 (redundant, given H52).
---  Eliminated hypothesis H145 (redundant, given H53).
---  Eliminated hypothesis H160 (redundant, given H155).
---  Eliminated hypothesis H161 (redundant, given H151).
---  Eliminated hypothesis H198 (redundant, given H151).
-S-  Substituted hypothesis H51.
     This was achieved by replacing all occurrences of fld_hash_bit_len(fld_h(
          local_ctx__1)) by:
          fld_hash_bit_len(fld_h(ctx)).
-S-  Substituted hypothesis H54.
     This was achieved by replacing all occurrences of fld_byte_count(fld_h(
          local_ctx__1)) by:
          fld_byte_count(fld_h(ctx)).
-S-  Substituted hypothesis H153.
     This was achieved by replacing all occurrences of fld_hash_bit_len(fld_h(
          local_ctx__2)) by:
          fld_hash_bit_len(fld_h(ctx)).
-S-  Substituted hypothesis H156.
     This was achieved by replacing all occurrences of fld_byte_count(fld_h(
          local_ctx__2)) by:
          fld_byte_count(fld_h(ctx)).
***  Proved C1:  ((fld_hash_bit_len(fld_h(ctx)) + 7) div 8 + 63) div 64 >= 1
     using hypothesis H195.
***  Proved C2:  ((fld_hash_bit_len(fld_h(ctx)) + 7) div 8 + 63) div 64 <= 
          4194304
     using hypothesis H196.
***  PROVED VC.


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


@@@@@@@@@@  VC: procedure_skein_512_final_16.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  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 H8 on reading formula in, to give:
     %%%  H8:  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 H29 on reading formula in, to give:
     %%%  H29:  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 H30 on reading formula in, to give:
     %%%  H30:  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 H31 on reading formula in, to give:
     %%%  H31:  fld_byte_count(fld_h(ctx)) >= natural__first
%%%  Simplified H32 on reading formula in, to give:
     %%%  H32:  fld_byte_count(fld_h(ctx)) <= natural__last
%%%  Simplified H33 on reading formula in, to give:
     %%%  H33:  fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u6__first
%%%  Simplified H38 on reading formula in, to give:
     %%%  H38:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u6__last
%%%  Simplified H40 on reading formula in, to give:
     %%%  H40:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u7__first
%%%  Simplified H41 on reading formula in, to give:
     %%%  H41:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u7__last
%%%  Simplified H42 on reading formula in, to give:
     %%%  H42:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u16__first
%%%  Simplified H43 on reading formula in, to give:
     %%%  H43:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u16__last
%%%  Simplified H44 on reading formula in, to give:
     %%%  H44:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u32__first
%%%  Simplified H45 on reading formula in, to give:
     %%%  H45:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u32__last
%%%  Simplified H46 on reading formula in, to give:
     %%%  H46:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u64__first
%%%  Simplified H47 on reading formula in, to give:
     %%%  H47:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u64__last
%%%  Simplified H48 on reading formula in, to give:
     %%%  H48:  fld_byte_count(fld_h(ctx)) < skein_512_block_bytes_c
---  Hypothesis H49 has been replaced by "true".  (It is already present, as 
          H48).
%%%  Simplified H50 on reading formula in, to give:
     %%%  H50:  fld_hash_bit_len(fld_h(ctx)) > 0
%%%  Simplified H51 on reading formula in, to give:
     %%%  H51:  fld_hash_bit_len(fld_h(local_ctx__1)) = fld_hash_bit_len(fld_h(
          ctx))
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  fld_byte_count(fld_h(local_ctx__1)) = fld_byte_count(fld_h(ctx))
%%%  Simplified H55 on reading formula in, to give:
     %%%  H55:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx__1), [i___2]) 
          and element(fld_b(local_ctx__1), [i___2]) <= 
          spark__unsigned__byte__last)
%%%  Simplified H56 on reading formula in, to give:
     %%%  H56:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx__1), [i___1]) 
          and element(fld_x(local_ctx__1), [i___1]) <= 
          spark__unsigned__u64__last)
---  Hypothesis H74 has been replaced by "true".  (It is already present, as 
          H55).
---  Hypothesis H75 has been replaced by "true".  (It is already present, as 
          H56).
---  Hypothesis H76 has been replaced by "true".  (It is already present, as 
          H57).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H58).
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H59).
---  Hypothesis H79 has been replaced by "true".  (It is already present, as 
          H60).
---  Hypothesis H82 has been replaced by "true".  (It is already present, as 
          H63).
---  Hypothesis H83 has been replaced by "true".  (It is already present, as 
          H64).
---  Hypothesis H85 has been replaced by "true".  (It is already present, as 
          H66).
---  Hypothesis H86 has been replaced by "true".  (It is already present, as 
          H67).
---  Hypothesis H87 has been replaced by "true".  (It is already present, as 
          H68).
---  Hypothesis H88 has been replaced by "true".  (It is already present, as 
          H69).
---  Hypothesis H89 has been replaced by "true".  (It is already present, as 
          H70).
---  Hypothesis H90 has been replaced by "true".  (It is already present, as 
          H71).
---  Hypothesis H91 has been replaced by "true".  (It is already present, as 
          H72).
---  Hypothesis H92 has been replaced by "true".  (It is already present, as 
          H73).
---  Hypothesis H93 has been replaced by "true".  (It is already present, as 
          H55).
---  Hypothesis H94 has been replaced by "true".  (It is already present, as 
          H56).
---  Hypothesis H95 has been replaced by "true".  (It is already present, as 
          H57).
---  Hypothesis H96 has been replaced by "true".  (It is already present, as 
          H58).
---  Hypothesis H97 has been replaced by "true".  (It is already present, as 
          H59).
---  Hypothesis H98 has been replaced by "true".  (It is already present, as 
          H60).
---  Hypothesis H101 has been replaced by "true".  (It is already present, as 
          H63).
---  Hypothesis H102 has been replaced by "true".  (It is already present, as 
          H64).
---  Hypothesis H104 has been replaced by "true".  (It is already present, as 
          H66).
---  Hypothesis H105 has been replaced by "true".  (It is already present, as 
          H67).
---  Hypothesis H106 has been replaced by "true".  (It is already present, as 
          H68).
---  Hypothesis H107 has been replaced by "true".  (It is already present, as 
          H69).
---  Hypothesis H108 has been replaced by "true".  (It is already present, as 
          H70).
---  Hypothesis H109 has been replaced by "true".  (It is already present, as 
          H71).
---  Hypothesis H110 has been replaced by "true".  (It is already present, as 
          H72).
---  Hypothesis H111 has been replaced by "true".  (It is already present, as 
          H73).
---  Hypothesis H112 has been replaced by "true".  (It is already present, as 
          H57).
---  Hypothesis H113 has been replaced by "true".  (It is already present, as 
          H58).
---  Hypothesis H114 has been replaced by "true".  (It is already present, as 
          H55).
---  Hypothesis H115 has been replaced by "true".  (It is already present, as 
          H56).
---  Hypothesis H116 has been replaced by "true".  (It is already present, as 
          H57).
---  Hypothesis H117 has been replaced by "true".  (It is already present, as 
          H58).
---  Hypothesis H118 has been replaced by "true".  (It is already present, as 
          H59).
---  Hypothesis H119 has been replaced by "true".  (It is already present, as 
          H60).
---  Hypothesis H122 has been replaced by "true".  (It is already present, as 
          H63).
---  Hypothesis H123 has been replaced by "true".  (It is already present, as 
          H64).
---  Hypothesis H125 has been replaced by "true".  (It is already present, as 
          H66).
---  Hypothesis H126 has been replaced by "true".  (It is already present, as 
          H67).
---  Hypothesis H127 has been replaced by "true".  (It is already present, as 
          H68).
---  Hypothesis H128 has been replaced by "true".  (It is already present, as 
          H69).
---  Hypothesis H129 has been replaced by "true".  (It is already present, as 
          H70).
---  Hypothesis H130 has been replaced by "true".  (It is already present, as 
          H71).
---  Hypothesis H131 has been replaced by "true".  (It is already present, as 
          H72).
---  Hypothesis H132 has been replaced by "true".  (It is already present, as 
          H73).
%%%  Simplified H133 on reading formula in, to give:
     %%%  H133:  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(local_ctx__1), [i___1]) 
          and element(fld_b(local_ctx__1), [i___1]) <= 
          spark__unsigned__byte__last)
---  Hypothesis H134 has been replaced by "true".  (It is already present, as 
          H57).
---  Hypothesis H135 has been replaced by "true".  (It is already present, as 
          H58).
---  Hypothesis H136 has been replaced by "true".  (It is already present, as 
          H57).
---  Hypothesis H137 has been replaced by "true".  (It is already present, as 
          H58).
%%%  Simplified H147 on reading formula in, to give:
     %%%  H147:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H148 on reading formula in, to give:
     %%%  H148:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H150 on reading formula in, to give:
     %%%  H150:  63 <= natural__last
%%%  Simplified H157 on reading formula in, to give:
     %%%  H157:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx__2), [i___2]) 
          and element(fld_b(local_ctx__2), [i___2]) <= 
          spark__unsigned__byte__last)
%%%  Simplified H158 on reading formula in, to give:
     %%%  H158:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx__2), [i___1]) 
          and element(fld_x(local_ctx__2), [i___1]) <= 
          spark__unsigned__u64__last)
---  Hypothesis H176 has been replaced by "true".  (It is already present, as 
          H157).
---  Hypothesis H177 has been replaced by "true".  (It is already present, as 
          H158).
---  Hypothesis H178 has been replaced by "true".  (It is already present, as 
          H159).
---  Hypothesis H179 has been replaced by "true".  (It is already present, as 
          H160).
---  Hypothesis H180 has been replaced by "true".  (It is already present, as 
          H161).
---  Hypothesis H181 has been replaced by "true".  (It is already present, as 
          H162).
---  Hypothesis H184 has been replaced by "true".  (It is already present, as 
          H165).
---  Hypothesis H185 has been replaced by "true".  (It is already present, as 
          H166).
---  Hypothesis H187 has been replaced by "true".  (It is already present, as 
          H168).
---  Hypothesis H188 has been replaced by "true".  (It is already present, as 
          H169).
---  Hypothesis H189 has been replaced by "true".  (It is already present, as 
          H170).
---  Hypothesis H190 has been replaced by "true".  (It is already present, as 
          H171).
---  Hypothesis H191 has been replaced by "true".  (It is already present, as 
          H172).
---  Hypothesis H192 has been replaced by "true".  (It is already present, as 
          H173).
---  Hypothesis H193 has been replaced by "true".  (It is already present, as 
          H174).
---  Hypothesis H194 has been replaced by "true".  (It is already present, as 
          H175).
%%%  Simplified H197 on reading formula in, to give:
     %%%  H197:  true
---  Hypothesis H201 has been replaced by "true".  (It is already present, as 
          H27).
---  Hypothesis H202 has been replaced by "true".  (It is already present, as 
          H28).
%%%  Simplified H203 on reading formula in, to give:
     %%%  H203:  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 <= 0 and 0 <= 
          spark__unsigned__byte__last)
%%%  Simplified H204 on reading formula in, to give:
     %%%  H204:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx__2), [i___1]) 
          and element(fld_x(local_ctx__2), [i___1]) <= 
          spark__unsigned__u64__last)
%%%  Simplified H205 on reading formula in, to give:
     %%%  H205:  fld_byte_count(fld_h(local_ctx__2)) >= natural__first
%%%  Simplified H206 on reading formula in, to give:
     %%%  H206:  fld_byte_count(fld_h(local_ctx__2)) <= natural__last
%%%  Simplified H207 on reading formula in, to give:
     %%%  H207:  fld_hash_bit_len(fld_h(local_ctx__2)) >= hash_bit_length__first
%%%  Simplified H208 on reading formula in, to give:
     %%%  H208:  fld_hash_bit_len(fld_h(local_ctx__2)) <= hash_bit_length__last
%%%  Simplified H211 on reading formula in, to give:
     %%%  H211:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) >= 
          spark__unsigned__u6__first
%%%  Simplified H212 on reading formula in, to give:
     %%%  H212:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) <= 
          spark__unsigned__u6__last
%%%  Simplified H214 on reading formula in, to give:
     %%%  H214:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) >= 
          spark__unsigned__u7__first
%%%  Simplified H215 on reading formula in, to give:
     %%%  H215:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) <= 
          spark__unsigned__u7__last
%%%  Simplified H216 on reading formula in, to give:
     %%%  H216:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) >= 
          spark__unsigned__u16__first
%%%  Simplified H217 on reading formula in, to give:
     %%%  H217:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) <= 
          spark__unsigned__u16__last
%%%  Simplified H218 on reading formula in, to give:
     %%%  H218:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) >= 
          spark__unsigned__u32__first
%%%  Simplified H219 on reading formula in, to give:
     %%%  H219:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) <= 
          spark__unsigned__u32__last
%%%  Simplified H220 on reading formula in, to give:
     %%%  H220:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) >= 
          spark__unsigned__u64__first
%%%  Simplified H221 on reading formula in, to give:
     %%%  H221:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) <= 
          spark__unsigned__u64__last
---  Hypothesis H222 has been replaced by "true".  (It is already present, as 
          H195).
---  Hypothesis H223 has been replaced by "true".  (It is already present, as 
          H196).
%%%  Simplified H226 on reading formula in, to give:
     %%%  H226:  true
-S-  Applied substitution rule skein_512_fi_rules(130).
     This was achieved by replacing all occurrences of 
          output_block_count_t__first by:
          0.
<S>  New C1:  true
-S-  Applied substitution rule skein_512_fi_rules(131).
     This was achieved by replacing all occurrences of 
          output_block_count_t__last by:
          4194304.
<S>  New C2:  true
***  Proved C1:  true
***  Proved C2:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_final_17.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  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 H8 on reading formula in, to give:
     %%%  H8:  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 H29 on reading formula in, to give:
     %%%  H29:  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 H30 on reading formula in, to give:
     %%%  H30:  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 H31 on reading formula in, to give:
     %%%  H31:  fld_byte_count(fld_h(ctx)) >= natural__first
%%%  Simplified H32 on reading formula in, to give:
     %%%  H32:  fld_byte_count(fld_h(ctx)) <= natural__last
%%%  Simplified H33 on reading formula in, to give:
     %%%  H33:  fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u6__first
%%%  Simplified H38 on reading formula in, to give:
     %%%  H38:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u6__last
%%%  Simplified H40 on reading formula in, to give:
     %%%  H40:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u7__first
%%%  Simplified H41 on reading formula in, to give:
     %%%  H41:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u7__last
%%%  Simplified H42 on reading formula in, to give:
     %%%  H42:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u16__first
%%%  Simplified H43 on reading formula in, to give:
     %%%  H43:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u16__last
%%%  Simplified H44 on reading formula in, to give:
     %%%  H44:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u32__first
%%%  Simplified H45 on reading formula in, to give:
     %%%  H45:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u32__last
%%%  Simplified H46 on reading formula in, to give:
     %%%  H46:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u64__first
%%%  Simplified H47 on reading formula in, to give:
     %%%  H47:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u64__last
%%%  Simplified H48 on reading formula in, to give:
     %%%  H48:  not fld_byte_count(fld_h(ctx)) < skein_512_block_bytes_c
---  Hypothesis H49 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H50 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H51 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H52 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H53 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H54 has been replaced by "true".  (It is already present, as 
          H34).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as 
          H37).
---  Hypothesis H58 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H60 has been replaced by "true".  (It is already present, as 
          H40).
---  Hypothesis H61 has been replaced by "true".  (It is already present, as 
          H41).
---  Hypothesis H62 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H63 has been replaced by "true".  (It is already present, as 
          H43).
---  Hypothesis H64 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H65 has been replaced by "true".  (It is already present, as 
          H45).
---  Hypothesis H66 has been replaced by "true".  (It is already present, as 
          H46).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H47).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H69 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H70 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H71 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H72 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H73 has been replaced by "true".  (It is already present, as 
          H34).
---  Hypothesis H76 has been replaced by "true".  (It is already present, as 
          H37).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H79 has been replaced by "true".  (It is already present, as 
          H40).
---  Hypothesis H80 has been replaced by "true".  (It is already present, as 
          H41).
---  Hypothesis H81 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H82 has been replaced by "true".  (It is already present, as 
          H43).
---  Hypothesis H83 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H84 has been replaced by "true".  (It is already present, as 
          H45).
---  Hypothesis H85 has been replaced by "true".  (It is already present, as 
          H46).
---  Hypothesis H86 has been replaced by "true".  (It is already present, as 
          H47).
---  Hypothesis H87 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H88 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H89 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H90 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H91 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H92 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H93 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H94 has been replaced by "true".  (It is already present, as 
          H34).
---  Hypothesis H97 has been replaced by "true".  (It is already present, as 
          H37).
---  Hypothesis H98 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H100 has been replaced by "true".  (It is already present, as 
          H40).
---  Hypothesis H101 has been replaced by "true".  (It is already present, as 
          H41).
---  Hypothesis H102 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H103 has been replaced by "true".  (It is already present, as 
          H43).
---  Hypothesis H104 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H105 has been replaced by "true".  (It is already present, as 
          H45).
---  Hypothesis H106 has been replaced by "true".  (It is already present, as 
          H46).
---  Hypothesis H107 has been replaced by "true".  (It is already present, as 
          H47).
%%%  Simplified H108 on reading formula in, to give:
     %%%  H108:  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), [i___1]) and 
          element(fld_b(ctx), [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H109 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H110 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H111 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H112 has been replaced by "true".  (It is already present, as 
          H32).
%%%  Simplified H117 on reading formula in, to give:
     %%%  H117:  fld_hash_bit_len(fld_h(ctx)) >= 
          initialized_hash_bit_length__first
%%%  Simplified H118 on reading formula in, to give:
     %%%  H118:  fld_hash_bit_len(fld_h(ctx)) <= 
          initialized_hash_bit_length__last
%%%  Simplified H119 on reading formula in, to give:
     %%%  H119:  fld_byte_count(fld_h(ctx)) >= 
          skein_512_block_bytes_count__first
%%%  Simplified H120 on reading formula in, to give:
     %%%  H120:  fld_byte_count(fld_h(ctx)) <= skein_512_block_bytes_count__last
%%%  Simplified H122 on reading formula in, to give:
     %%%  H122:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H123 on reading formula in, to give:
     %%%  H123:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H125 on reading formula in, to give:
     %%%  H125:  63 <= natural__last
%%%  Simplified H128 on reading formula in, to give:
     %%%  H128:  fld_hash_bit_len(fld_h(local_ctx__2)) = fld_hash_bit_len(fld_h(
          ctx))
%%%  Simplified H131 on reading formula in, to give:
     %%%  H131:  fld_byte_count(fld_h(local_ctx__2)) = fld_byte_count(fld_h(ctx)
          )
%%%  Simplified H132 on reading formula in, to give:
     %%%  H132:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx__2), [i___2]) 
          and element(fld_b(local_ctx__2), [i___2]) <= 
          spark__unsigned__byte__last)
%%%  Simplified H133 on reading formula in, to give:
     %%%  H133:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx__2), [i___1]) 
          and element(fld_x(local_ctx__2), [i___1]) <= 
          spark__unsigned__u64__last)
---  Hypothesis H151 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H152 has been replaced by "true".  (It is already present, as 
          H133).
---  Hypothesis H153 has been replaced by "true".  (It is already present, as 
          H134).
---  Hypothesis H154 has been replaced by "true".  (It is already present, as 
          H135).
---  Hypothesis H155 has been replaced by "true".  (It is already present, as 
          H136).
---  Hypothesis H156 has been replaced by "true".  (It is already present, as 
          H137).
---  Hypothesis H159 has been replaced by "true".  (It is already present, as 
          H140).
---  Hypothesis H160 has been replaced by "true".  (It is already present, as 
          H141).
---  Hypothesis H162 has been replaced by "true".  (It is already present, as 
          H143).
---  Hypothesis H163 has been replaced by "true".  (It is already present, as 
          H144).
---  Hypothesis H164 has been replaced by "true".  (It is already present, as 
          H145).
---  Hypothesis H165 has been replaced by "true".  (It is already present, as 
          H146).
---  Hypothesis H166 has been replaced by "true".  (It is already present, as 
          H147).
---  Hypothesis H167 has been replaced by "true".  (It is already present, as 
          H148).
---  Hypothesis H168 has been replaced by "true".  (It is already present, as 
          H149).
---  Hypothesis H169 has been replaced by "true".  (It is already present, as 
          H150).
%%%  Simplified H172 on reading formula in, to give:
     %%%  H172:  true
---  Hypothesis H176 has been replaced by "true".  (It is already present, as 
          H27).
---  Hypothesis H177 has been replaced by "true".  (It is already present, as 
          H28).
%%%  Simplified H178 on reading formula in, to give:
     %%%  H178:  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 <= 0 and 0 <= 
          spark__unsigned__byte__last)
%%%  Simplified H179 on reading formula in, to give:
     %%%  H179:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx__2), [i___1]) 
          and element(fld_x(local_ctx__2), [i___1]) <= 
          spark__unsigned__u64__last)
%%%  Simplified H180 on reading formula in, to give:
     %%%  H180:  fld_byte_count(fld_h(local_ctx__2)) >= natural__first
%%%  Simplified H181 on reading formula in, to give:
     %%%  H181:  fld_byte_count(fld_h(local_ctx__2)) <= natural__last
%%%  Simplified H182 on reading formula in, to give:
     %%%  H182:  fld_hash_bit_len(fld_h(local_ctx__2)) >= hash_bit_length__first
%%%  Simplified H183 on reading formula in, to give:
     %%%  H183:  fld_hash_bit_len(fld_h(local_ctx__2)) <= hash_bit_length__last
%%%  Simplified H186 on reading formula in, to give:
     %%%  H186:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) >= 
          spark__unsigned__u6__first
%%%  Simplified H187 on reading formula in, to give:
     %%%  H187:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) <= 
          spark__unsigned__u6__last
%%%  Simplified H189 on reading formula in, to give:
     %%%  H189:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) >= 
          spark__unsigned__u7__first
%%%  Simplified H190 on reading formula in, to give:
     %%%  H190:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) <= 
          spark__unsigned__u7__last
%%%  Simplified H191 on reading formula in, to give:
     %%%  H191:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) >= 
          spark__unsigned__u16__first
%%%  Simplified H192 on reading formula in, to give:
     %%%  H192:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) <= 
          spark__unsigned__u16__last
%%%  Simplified H193 on reading formula in, to give:
     %%%  H193:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) >= 
          spark__unsigned__u32__first
%%%  Simplified H194 on reading formula in, to give:
     %%%  H194:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) <= 
          spark__unsigned__u32__last
%%%  Simplified H195 on reading formula in, to give:
     %%%  H195:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) >= 
          spark__unsigned__u64__first
%%%  Simplified H196 on reading formula in, to give:
     %%%  H196:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) <= 
          spark__unsigned__u64__last
---  Hypothesis H197 has been replaced by "true".  (It is already present, as 
          H170).
---  Hypothesis H198 has been replaced by "true".  (It is already present, as 
          H171).
%%%  Simplified H201 on reading formula in, to give:
     %%%  H201:  true
-S-  Applied substitution rule skein_512_fi_rules(130).
     This was achieved by replacing all occurrences of 
          output_block_count_t__first by:
          0.
<S>  New C1:  true
-S-  Applied substitution rule skein_512_fi_rules(131).
     This was achieved by replacing all occurrences of 
          output_block_count_t__last by:
          4194304.
<S>  New C2:  true
***  Proved C1:  true
***  Proved C2:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_final_18.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  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 H8 on reading formula in, to give:
     %%%  H8:  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 H29 on reading formula in, to give:
     %%%  H29:  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 H30 on reading formula in, to give:
     %%%  H30:  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 H31 on reading formula in, to give:
     %%%  H31:  fld_byte_count(fld_h(ctx)) >= natural__first
%%%  Simplified H32 on reading formula in, to give:
     %%%  H32:  fld_byte_count(fld_h(ctx)) <= natural__last
%%%  Simplified H33 on reading formula in, to give:
     %%%  H33:  fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u6__first
%%%  Simplified H38 on reading formula in, to give:
     %%%  H38:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u6__last
%%%  Simplified H40 on reading formula in, to give:
     %%%  H40:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u7__first
%%%  Simplified H41 on reading formula in, to give:
     %%%  H41:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u7__last
%%%  Simplified H42 on reading formula in, to give:
     %%%  H42:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u16__first
%%%  Simplified H43 on reading formula in, to give:
     %%%  H43:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u16__last
%%%  Simplified H44 on reading formula in, to give:
     %%%  H44:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u32__first
%%%  Simplified H45 on reading formula in, to give:
     %%%  H45:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u32__last
%%%  Simplified H46 on reading formula in, to give:
     %%%  H46:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u64__first
%%%  Simplified H47 on reading formula in, to give:
     %%%  H47:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u64__last
%%%  Simplified H48 on reading formula in, to give:
     %%%  H48:  fld_byte_count(fld_h(ctx)) < skein_512_block_bytes_c
---  Hypothesis H49 has been replaced by "true".  (It is already present, as 
          H48).
%%%  Simplified H50 on reading formula in, to give:
     %%%  H50:  fld_hash_bit_len(fld_h(ctx)) > 0
%%%  Simplified H51 on reading formula in, to give:
     %%%  H51:  fld_hash_bit_len(fld_h(local_ctx__1)) = fld_hash_bit_len(fld_h(
          ctx))
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  fld_byte_count(fld_h(local_ctx__1)) = fld_byte_count(fld_h(ctx))
%%%  Simplified H55 on reading formula in, to give:
     %%%  H55:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx__1), [i___2]) 
          and element(fld_b(local_ctx__1), [i___2]) <= 
          spark__unsigned__byte__last)
%%%  Simplified H56 on reading formula in, to give:
     %%%  H56:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx__1), [i___1]) 
          and element(fld_x(local_ctx__1), [i___1]) <= 
          spark__unsigned__u64__last)
---  Hypothesis H74 has been replaced by "true".  (It is already present, as 
          H55).
---  Hypothesis H75 has been replaced by "true".  (It is already present, as 
          H56).
---  Hypothesis H76 has been replaced by "true".  (It is already present, as 
          H57).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H58).
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H59).
---  Hypothesis H79 has been replaced by "true".  (It is already present, as 
          H60).
---  Hypothesis H82 has been replaced by "true".  (It is already present, as 
          H63).
---  Hypothesis H83 has been replaced by "true".  (It is already present, as 
          H64).
---  Hypothesis H85 has been replaced by "true".  (It is already present, as 
          H66).
---  Hypothesis H86 has been replaced by "true".  (It is already present, as 
          H67).
---  Hypothesis H87 has been replaced by "true".  (It is already present, as 
          H68).
---  Hypothesis H88 has been replaced by "true".  (It is already present, as 
          H69).
---  Hypothesis H89 has been replaced by "true".  (It is already present, as 
          H70).
---  Hypothesis H90 has been replaced by "true".  (It is already present, as 
          H71).
---  Hypothesis H91 has been replaced by "true".  (It is already present, as 
          H72).
---  Hypothesis H92 has been replaced by "true".  (It is already present, as 
          H73).
---  Hypothesis H93 has been replaced by "true".  (It is already present, as 
          H55).
---  Hypothesis H94 has been replaced by "true".  (It is already present, as 
          H56).
---  Hypothesis H95 has been replaced by "true".  (It is already present, as 
          H57).
---  Hypothesis H96 has been replaced by "true".  (It is already present, as 
          H58).
---  Hypothesis H97 has been replaced by "true".  (It is already present, as 
          H59).
---  Hypothesis H98 has been replaced by "true".  (It is already present, as 
          H60).
---  Hypothesis H101 has been replaced by "true".  (It is already present, as 
          H63).
---  Hypothesis H102 has been replaced by "true".  (It is already present, as 
          H64).
---  Hypothesis H104 has been replaced by "true".  (It is already present, as 
          H66).
---  Hypothesis H105 has been replaced by "true".  (It is already present, as 
          H67).
---  Hypothesis H106 has been replaced by "true".  (It is already present, as 
          H68).
---  Hypothesis H107 has been replaced by "true".  (It is already present, as 
          H69).
---  Hypothesis H108 has been replaced by "true".  (It is already present, as 
          H70).
---  Hypothesis H109 has been replaced by "true".  (It is already present, as 
          H71).
---  Hypothesis H110 has been replaced by "true".  (It is already present, as 
          H72).
---  Hypothesis H111 has been replaced by "true".  (It is already present, as 
          H73).
---  Hypothesis H112 has been replaced by "true".  (It is already present, as 
          H57).
---  Hypothesis H113 has been replaced by "true".  (It is already present, as 
          H58).
---  Hypothesis H114 has been replaced by "true".  (It is already present, as 
          H55).
---  Hypothesis H115 has been replaced by "true".  (It is already present, as 
          H56).
---  Hypothesis H116 has been replaced by "true".  (It is already present, as 
          H57).
---  Hypothesis H117 has been replaced by "true".  (It is already present, as 
          H58).
---  Hypothesis H118 has been replaced by "true".  (It is already present, as 
          H59).
---  Hypothesis H119 has been replaced by "true".  (It is already present, as 
          H60).
---  Hypothesis H122 has been replaced by "true".  (It is already present, as 
          H63).
---  Hypothesis H123 has been replaced by "true".  (It is already present, as 
          H64).
---  Hypothesis H125 has been replaced by "true".  (It is already present, as 
          H66).
---  Hypothesis H126 has been replaced by "true".  (It is already present, as 
          H67).
---  Hypothesis H127 has been replaced by "true".  (It is already present, as 
          H68).
---  Hypothesis H128 has been replaced by "true".  (It is already present, as 
          H69).
---  Hypothesis H129 has been replaced by "true".  (It is already present, as 
          H70).
---  Hypothesis H130 has been replaced by "true".  (It is already present, as 
          H71).
---  Hypothesis H131 has been replaced by "true".  (It is already present, as 
          H72).
---  Hypothesis H132 has been replaced by "true".  (It is already present, as 
          H73).
%%%  Simplified H133 on reading formula in, to give:
     %%%  H133:  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(local_ctx__1), [i___1]) 
          and element(fld_b(local_ctx__1), [i___1]) <= 
          spark__unsigned__byte__last)
---  Hypothesis H134 has been replaced by "true".  (It is already present, as 
          H57).
---  Hypothesis H135 has been replaced by "true".  (It is already present, as 
          H58).
---  Hypothesis H136 has been replaced by "true".  (It is already present, as 
          H57).
---  Hypothesis H137 has been replaced by "true".  (It is already present, as 
          H58).
%%%  Simplified H147 on reading formula in, to give:
     %%%  H147:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H148 on reading formula in, to give:
     %%%  H148:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H150 on reading formula in, to give:
     %%%  H150:  63 <= natural__last
%%%  Simplified H157 on reading formula in, to give:
     %%%  H157:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx__2), [i___2]) 
          and element(fld_b(local_ctx__2), [i___2]) <= 
          spark__unsigned__byte__last)
%%%  Simplified H158 on reading formula in, to give:
     %%%  H158:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx__2), [i___1]) 
          and element(fld_x(local_ctx__2), [i___1]) <= 
          spark__unsigned__u64__last)
---  Hypothesis H176 has been replaced by "true".  (It is already present, as 
          H157).
---  Hypothesis H177 has been replaced by "true".  (It is already present, as 
          H158).
---  Hypothesis H178 has been replaced by "true".  (It is already present, as 
          H159).
---  Hypothesis H179 has been replaced by "true".  (It is already present, as 
          H160).
---  Hypothesis H180 has been replaced by "true".  (It is already present, as 
          H161).
---  Hypothesis H181 has been replaced by "true".  (It is already present, as 
          H162).
---  Hypothesis H184 has been replaced by "true".  (It is already present, as 
          H165).
---  Hypothesis H185 has been replaced by "true".  (It is already present, as 
          H166).
---  Hypothesis H187 has been replaced by "true".  (It is already present, as 
          H168).
---  Hypothesis H188 has been replaced by "true".  (It is already present, as 
          H169).
---  Hypothesis H189 has been replaced by "true".  (It is already present, as 
          H170).
---  Hypothesis H190 has been replaced by "true".  (It is already present, as 
          H171).
---  Hypothesis H191 has been replaced by "true".  (It is already present, as 
          H172).
---  Hypothesis H192 has been replaced by "true".  (It is already present, as 
          H173).
---  Hypothesis H193 has been replaced by "true".  (It is already present, as 
          H174).
---  Hypothesis H194 has been replaced by "true".  (It is already present, as 
          H175).
%%%  Simplified H197 on reading formula in, to give:
     %%%  H197:  true
---  Hypothesis H201 has been replaced by "true".  (It is already present, as 
          H27).
---  Hypothesis H202 has been replaced by "true".  (It is already present, as 
          H28).
%%%  Simplified H203 on reading formula in, to give:
     %%%  H203:  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 <= 0 and 0 <= 
          spark__unsigned__byte__last)
%%%  Simplified H204 on reading formula in, to give:
     %%%  H204:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx__2), [i___1]) 
          and element(fld_x(local_ctx__2), [i___1]) <= 
          spark__unsigned__u64__last)
%%%  Simplified H205 on reading formula in, to give:
     %%%  H205:  fld_byte_count(fld_h(local_ctx__2)) >= natural__first
%%%  Simplified H206 on reading formula in, to give:
     %%%  H206:  fld_byte_count(fld_h(local_ctx__2)) <= natural__last
%%%  Simplified H207 on reading formula in, to give:
     %%%  H207:  fld_hash_bit_len(fld_h(local_ctx__2)) >= hash_bit_length__first
%%%  Simplified H208 on reading formula in, to give:
     %%%  H208:  fld_hash_bit_len(fld_h(local_ctx__2)) <= hash_bit_length__last
%%%  Simplified H211 on reading formula in, to give:
     %%%  H211:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) >= 
          spark__unsigned__u6__first
%%%  Simplified H212 on reading formula in, to give:
     %%%  H212:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) <= 
          spark__unsigned__u6__last
%%%  Simplified H214 on reading formula in, to give:
     %%%  H214:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) >= 
          spark__unsigned__u7__first
%%%  Simplified H215 on reading formula in, to give:
     %%%  H215:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) <= 
          spark__unsigned__u7__last
%%%  Simplified H216 on reading formula in, to give:
     %%%  H216:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) >= 
          spark__unsigned__u16__first
%%%  Simplified H217 on reading formula in, to give:
     %%%  H217:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) <= 
          spark__unsigned__u16__last
%%%  Simplified H218 on reading formula in, to give:
     %%%  H218:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) >= 
          spark__unsigned__u32__first
%%%  Simplified H219 on reading formula in, to give:
     %%%  H219:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) <= 
          spark__unsigned__u32__last
%%%  Simplified H220 on reading formula in, to give:
     %%%  H220:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) >= 
          spark__unsigned__u64__first
%%%  Simplified H221 on reading formula in, to give:
     %%%  H221:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) <= 
          spark__unsigned__u64__last
---  Hypothesis H222 has been replaced by "true".  (It is already present, as 
          H195).
---  Hypothesis H223 has been replaced by "true".  (It is already present, as 
          H196).
%%%  Simplified H226 on reading formula in, to give:
     %%%  H226:  true
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  fld_hash_bit_len(fld_h(local_ctx__2)) > 0
%%%  Simplified C3 on reading formula in, to give:
     %%%  C3:  0 < (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8
%%%  Simplified C4 on reading formula in, to give:
     %%%  C4:  result__index__subtype__1__last > - 1
%%%  Simplified C6 on reading formula in, to give:
     %%%  C6:  true
%%%  Simplified C7 on reading formula in, to give:
     %%%  C7:  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 C8 on reading formula in, to give:
     %%%  C8:  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)
***  Proved C1:  fld_hash_bit_len(fld_h(local_ctx__2)) > 0
     using hypotheses H52 & H153.
***  Proved C2:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 <= 
          result__index__subtype__1__last + 1
     using hypothesis H200.
***  Proved C6:  true
***  Proved C7:  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)
     using hypothesis H7.
***  Proved C8:  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)
     using hypothesis H8.
***  Proved C9:  fld_byte_count(fld_h(ctx)) >= natural__first
     using hypothesis H9.
***  Proved C10:  fld_byte_count(fld_h(ctx)) <= natural__last
     using hypothesis H10.
***  Proved C11:  fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first
     using hypothesis H11.
***  Proved C12:  fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last
     using hypothesis H12.
***  Proved C13:  true
***  Proved C14:  true
***  Proved C15:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u6__first
     using hypothesis H15.
***  Proved C16:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u6__last
     using hypothesis H16.
***  Proved C17:  true
***  Proved C18:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u7__first
     using hypothesis H18.
***  Proved C19:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u7__last
     using hypothesis H19.
***  Proved C20:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u16__first
     using hypothesis H20.
***  Proved C21:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u16__last
     using hypothesis H21.
***  Proved C22:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u32__first
     using hypothesis H22.
***  Proved C23:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u32__last
     using hypothesis H23.
***  Proved C24:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u64__first
     using hypothesis H24.
***  Proved C25:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u64__last
     using hypothesis H25.
***  Proved C26:  fld_hash_bit_len(fld_h(ctx)) >= 
          initialized_hash_bit_length__first
     using hypothesis H1.
***  Proved C27:  fld_hash_bit_len(fld_h(ctx)) <= 
          initialized_hash_bit_length__last
     using hypothesis H2.
***  Proved C28:  fld_byte_count(fld_h(ctx)) >= 
          skein_512_block_bytes_count__first
     using hypothesis H3.
***  Proved C29:  fld_byte_count(fld_h(ctx)) <= 
          skein_512_block_bytes_count__last
     using hypothesis H4.
***  Proved C30:  result__index__subtype__1__first = 0
     using hypothesis H5.
***  Proved C31:  (fld_hash_bit_len(fld_h(ctx)) + 7) div 8 <= 
          result__index__subtype__1__last + 1
     using hypothesis H6.
-S-  Applied substitution rule skein_512_fi_rules(1).
     This was achieved by replacing all occurrences of skein_512_block_bytes_c 
          by:
          64.
<S>  New H48:  fld_byte_count(fld_h(ctx)) < 64
<S>  New H53:  fld_byte_count(fld_h(local_ctx__1)) < 64
-S-  Applied substitution rule skein_512_fi_rules(6).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H198:  fld_hash_bit_len(fld_h(local_ctx__2)) >= - 2147483655
<S>  New H227:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 >= - 
          2147483711
-S-  Applied substitution rule skein_512_fi_rules(7).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H199:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 2147483640
<S>  New H228:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 <= 2147483584
-S-  Applied substitution rule skein_512_fi_rules(9).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H9:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H31:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H57:  fld_byte_count(fld_h(local_ctx__1)) >= 0
<S>  New H140:  true
<S>  New H159:  fld_byte_count(fld_h(local_ctx__2)) >= 0
<S>  New H205:  fld_byte_count(fld_h(local_ctx__2)) >= 0
-S-  Applied substitution rule skein_512_fi_rules(10).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H10:  fld_byte_count(fld_h(ctx)) <= 2147483647
<S>  New H32:  fld_byte_count(fld_h(ctx)) <= 2147483647
<S>  New H58:  fld_byte_count(fld_h(local_ctx__1)) <= 2147483647
<S>  New H141:  true
<S>  New H149:  skein_512_block_bytes_index__last <= 2147483647
<S>  New H150:  true
<S>  New H160:  fld_byte_count(fld_h(local_ctx__2)) <= 2147483647
<S>  New H206:  fld_byte_count(fld_h(local_ctx__2)) <= 2147483647
-S-  Applied substitution rule skein_512_fi_rules(42).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H15:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H37:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H63:  fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) >= 0
<S>  New H165:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) >= 0
<S>  New H211:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(43).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H16:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 63
<S>  New H38:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 63
<S>  New H64:  fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) <= 63
<S>  New H166:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) <= 63
<S>  New H212:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) <= 63
-S-  Applied substitution rule skein_512_fi_rules(48).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H18:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H40:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H66:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) >= 0
<S>  New H168:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) >= 0
<S>  New H214:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(49).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H19:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 127
<S>  New H41:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 127
<S>  New H67:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) <= 127
<S>  New H169:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) <= 127
<S>  New H215:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) <= 127
-S-  Applied substitution rule skein_512_fi_rules(54).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H7:  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:  true
<S>  New H29:  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 H55:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__1), [i___2]) and element(fld_b(local_ctx__1), [i___2]
          ) <= spark__unsigned__byte__last)
<S>  New H133:  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(local_ctx__1), [i___1]) and element(fld_b(local_ctx__1), [i___1]
          ) <= spark__unsigned__byte__last)
<S>  New H157:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__2), [i___2]) and element(fld_b(local_ctx__2), [i___2]
          ) <= spark__unsigned__byte__last)
<S>  New H203:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= 
          spark__unsigned__byte__last)
-S-  Applied substitution rule skein_512_fi_rules(55).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H28:  true
<S>  New H7:  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 H29:  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 H55:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__1), [i___2]) and element(fld_b(local_ctx__1), [i___2]
          ) <= 255)
<S>  New H133:  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(local_ctx__1), [i___1]) and element(fld_b(local_ctx__1), [i___1]
          ) <= 255)
<S>  New H157:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__2), [i___2]) and element(fld_b(local_ctx__2), [i___2]
          ) <= 255)
<S>  New H203:  true
-S-  Applied substitution rule skein_512_fi_rules(60).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H20:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H42:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H68:  fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) >= 0
<S>  New H170:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) >= 0
<S>  New H216:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(61).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H21:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 65535
<S>  New H43:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 65535
<S>  New H69:  fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) <= 65535
<S>  New H171:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) <= 65535
<S>  New H217:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) <= 65535
-S-  Applied substitution rule skein_512_fi_rules(66).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H22:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H44:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H70:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) >= 0
<S>  New H172:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) >= 0
<S>  New H218:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(67).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H23:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 4294967295
<S>  New H45:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 4294967295
<S>  New H71:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) <= 
          4294967295
<S>  New H173:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) <= 
          4294967295
<S>  New H219:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) <= 
          4294967295
-S-  Applied substitution rule skein_512_fi_rules(72).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H8:  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 H24:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H30:  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 H46:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H56:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__1), [i___1]) and element(fld_x(local_ctx__1), [i___1]
          ) <= spark__unsigned__u64__last)
<S>  New H72:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) >= 0
<S>  New H158:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__2), [i___1]) and element(fld_x(local_ctx__2), [i___1]
          ) <= spark__unsigned__u64__last)
<S>  New H174:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) >= 0
<S>  New H204:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__2), [i___1]) and element(fld_x(local_ctx__2), [i___1]
          ) <= spark__unsigned__u64__last)
<S>  New H220:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(73).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H25:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          18446744073709551615
<S>  New H47:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          18446744073709551615
<S>  New H73:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) <= 
          18446744073709551615
<S>  New H175:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) <= 
          18446744073709551615
<S>  New H221:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) <= 
          18446744073709551615
<S>  New H8:  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 H30:  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 H56:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__1), [i___1]) and element(fld_x(local_ctx__1), [i___1]
          ) <= 18446744073709551615)
<S>  New H158:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__2), [i___1]) and element(fld_x(local_ctx__2), [i___1]
          ) <= 18446744073709551615)
<S>  New H204:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__2), [i___1]) and element(fld_x(local_ctx__2), [i___1]
          ) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_fi_rules(83).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H11:  fld_hash_bit_len(fld_h(ctx)) >= 0
<S>  New H33:  fld_hash_bit_len(fld_h(ctx)) >= 0
<S>  New H59:  fld_hash_bit_len(fld_h(local_ctx__1)) >= 0
<S>  New H161:  fld_hash_bit_len(fld_h(local_ctx__2)) >= 0
<S>  New H207:  fld_hash_bit_len(fld_h(local_ctx__2)) >= 0
-S-  Applied substitution rule skein_512_fi_rules(84).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H12:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H34:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H60:  fld_hash_bit_len(fld_h(local_ctx__1)) <= 2147483640
<S>  New H162:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 2147483640
<S>  New H208:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 2147483640
-S-  Applied substitution rule skein_512_fi_rules(88).
     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 H142:  fld_hash_bit_len(fld_h(local_ctx__1)) >= 1
<S>  New H151:  fld_hash_bit_len(fld_h(local_ctx__2)) >= 1
-S-  Applied substitution rule skein_512_fi_rules(89).
     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 H143:  fld_hash_bit_len(fld_h(local_ctx__1)) <= 2147483640
<S>  New H152:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 2147483640
-S-  Applied substitution rule skein_512_fi_rules(93).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H8:  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 H30:  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 H56:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(local_ctx__1)
          , [i___1]) and element(fld_x(local_ctx__1), [i___1]) <= 
          18446744073709551615)
<S>  New H158:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(local_ctx__2)
          , [i___1]) and element(fld_x(local_ctx__2), [i___1]) <= 
          18446744073709551615)
<S>  New H204:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(local_ctx__2)
          , [i___1]) and element(fld_x(local_ctx__2), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule skein_512_fi_rules(94).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H8:  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 H30:  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 H56:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(local_ctx__1), [i___1]) and element(fld_x(local_ctx__1)
          , [i___1]) <= 18446744073709551615)
<S>  New H158:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(local_ctx__2), [i___1]) and element(fld_x(local_ctx__2)
          , [i___1]) <= 18446744073709551615)
<S>  New H204:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(local_ctx__2), [i___1]) and element(fld_x(local_ctx__2)
          , [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_fi_rules(98).
     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 H144:  fld_byte_count(fld_h(local_ctx__1)) >= 0
<S>  New H154:  fld_byte_count(fld_h(local_ctx__2)) >= 0
-S-  Applied substitution rule skein_512_fi_rules(99).
     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 H145:  fld_byte_count(fld_h(local_ctx__1)) <= 64
<S>  New H155:  fld_byte_count(fld_h(local_ctx__2)) <= 64
-S-  Applied substitution rule skein_512_fi_rules(103).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H146:  true
<S>  New H7:  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 H29:  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 H55:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(local_ctx__1)
          , [i___2]) and element(fld_b(local_ctx__1), [i___2]) <= 255)
<S>  New H133:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(local_ctx__1)
          , [i___1]) and element(fld_b(local_ctx__1), [i___1]) <= 255)
<S>  New H157:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(local_ctx__2)
          , [i___2]) and element(fld_b(local_ctx__2), [i___2]) <= 255)
-S-  Applied substitution rule skein_512_fi_rules(104).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H147:  true
<S>  New H148:  true
<S>  New H149:  true
<S>  New H7:  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 H29:  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 H55:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(local_ctx__1), [i___2]) and element(fld_b(local_ctx__1)
          , [i___2]) <= 255)
<S>  New H133:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 63 -> 0 <= 
          element(fld_b(local_ctx__1), [i___1]) and element(fld_b(local_ctx__1)
          , [i___1]) <= 255)
<S>  New H157:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(local_ctx__2), [i___2]) and element(fld_b(local_ctx__2)
          , [i___2]) <= 255)
-S-  Applied substitution rule skein_512_fi_rules(108).
     This was achieved by replacing all occurrences of 
          positive_block_512_count_t__first by:
          1.
<S>  New H138:  true
-S-  Applied substitution rule skein_512_fi_rules(109).
     This was achieved by replacing all occurrences of 
          positive_block_512_count_t__last by:
          33554431.
<S>  New H139:  true
-S-  Applied substitution rule skein_512_fi_rules(125).
     This was achieved by replacing all occurrences of 
          output_byte_count_t__first by:
          1.
<S>  New H195:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 >= 1
-S-  Applied substitution rule skein_512_fi_rules(126).
     This was achieved by replacing all occurrences of 
          output_byte_count_t__last by:
          268435455.
<S>  New H196:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 <= 268435455
-S-  Applied substitution rule skein_512_fi_rules(130).
     This was achieved by replacing all occurrences of 
          output_block_count_t__first by:
          0.
<S>  New H229:  true
-S-  Applied substitution rule skein_512_fi_rules(131).
     This was achieved by replacing all occurrences of 
          output_block_count_t__last by:
          4194304.
<S>  New H230:  true
-S-  Applied substitution rule skein_512_fi_rules(135).
     This was achieved by replacing all occurrences of 
          positive_output_block_count_t__first by:
          1.
<S>  New H224:  ((fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 + 63) div 64 
          >= 1
-S-  Applied substitution rule skein_512_fi_rules(136).
     This was achieved by replacing all occurrences of 
          positive_output_block_count_t__last by:
          4194304.
<S>  New H225:  ((fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 + 63) div 64 
          <= 4194304
***  Proved C3:  0 < (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8
     using hypothesis H195.
***  Proved C5:  0 < ((fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 + 63) 
          div 64
     using hypothesis H224.
---  Eliminated hypothesis H13 (true-hypothesis).
---  Eliminated hypothesis H14 (true-hypothesis).
---  Eliminated hypothesis H17 (true-hypothesis).
---  Eliminated hypothesis H35 (true-hypothesis).
---  Eliminated hypothesis H36 (true-hypothesis).
---  Eliminated hypothesis H39 (true-hypothesis).
---  Eliminated hypothesis H49 (true-hypothesis).
---  Eliminated hypothesis H61 (true-hypothesis).
---  Eliminated hypothesis H62 (true-hypothesis).
---  Eliminated hypothesis H65 (true-hypothesis).
---  Eliminated hypothesis H74 (true-hypothesis).
---  Eliminated hypothesis H75 (true-hypothesis).
---  Eliminated hypothesis H76 (true-hypothesis).
---  Eliminated hypothesis H77 (true-hypothesis).
---  Eliminated hypothesis H78 (true-hypothesis).
---  Eliminated hypothesis H79 (true-hypothesis).
---  Eliminated hypothesis H80 (true-hypothesis).
---  Eliminated hypothesis H81 (true-hypothesis).
---  Eliminated hypothesis H82 (true-hypothesis).
---  Eliminated hypothesis H83 (true-hypothesis).
---  Eliminated hypothesis H84 (true-hypothesis).
---  Eliminated hypothesis H85 (true-hypothesis).
---  Eliminated hypothesis H86 (true-hypothesis).
---  Eliminated hypothesis H87 (true-hypothesis).
---  Eliminated hypothesis H88 (true-hypothesis).
---  Eliminated hypothesis H89 (true-hypothesis).
---  Eliminated hypothesis H90 (true-hypothesis).
---  Eliminated hypothesis H91 (true-hypothesis).
---  Eliminated hypothesis H92 (true-hypothesis).
---  Eliminated hypothesis H93 (true-hypothesis).
---  Eliminated hypothesis H94 (true-hypothesis).
---  Eliminated hypothesis H95 (true-hypothesis).
---  Eliminated hypothesis H96 (true-hypothesis).
---  Eliminated hypothesis H97 (true-hypothesis).
---  Eliminated hypothesis H98 (true-hypothesis).
---  Eliminated hypothesis H99 (true-hypothesis).
---  Eliminated hypothesis H100 (true-hypothesis).
---  Eliminated hypothesis H101 (true-hypothesis).
---  Eliminated hypothesis H102 (true-hypothesis).
---  Eliminated hypothesis H103 (true-hypothesis).
---  Eliminated hypothesis H104 (true-hypothesis).
---  Eliminated hypothesis H105 (true-hypothesis).
---  Eliminated hypothesis H106 (true-hypothesis).
---  Eliminated hypothesis H107 (true-hypothesis).
---  Eliminated hypothesis H108 (true-hypothesis).
---  Eliminated hypothesis H109 (true-hypothesis).
---  Eliminated hypothesis H110 (true-hypothesis).
---  Eliminated hypothesis H111 (true-hypothesis).
---  Eliminated hypothesis H112 (true-hypothesis).
---  Eliminated hypothesis H113 (true-hypothesis).
---  Eliminated hypothesis H114 (true-hypothesis).
---  Eliminated hypothesis H115 (true-hypothesis).
---  Eliminated hypothesis H116 (true-hypothesis).
---  Eliminated hypothesis H117 (true-hypothesis).
---  Eliminated hypothesis H118 (true-hypothesis).
---  Eliminated hypothesis H119 (true-hypothesis).
---  Eliminated hypothesis H120 (true-hypothesis).
---  Eliminated hypothesis H121 (true-hypothesis).
---  Eliminated hypothesis H122 (true-hypothesis).
---  Eliminated hypothesis H123 (true-hypothesis).
---  Eliminated hypothesis H124 (true-hypothesis).
---  Eliminated hypothesis H125 (true-hypothesis).
---  Eliminated hypothesis H126 (true-hypothesis).
---  Eliminated hypothesis H127 (true-hypothesis).
---  Eliminated hypothesis H128 (true-hypothesis).
---  Eliminated hypothesis H129 (true-hypothesis).
---  Eliminated hypothesis H130 (true-hypothesis).
---  Eliminated hypothesis H131 (true-hypothesis).
---  Eliminated hypothesis H132 (true-hypothesis).
---  Eliminated hypothesis H134 (true-hypothesis).
---  Eliminated hypothesis H135 (true-hypothesis).
---  Eliminated hypothesis H136 (true-hypothesis).
---  Eliminated hypothesis H137 (true-hypothesis).
---  Eliminated hypothesis H163 (true-hypothesis).
---  Eliminated hypothesis H164 (true-hypothesis).
---  Eliminated hypothesis H167 (true-hypothesis).
---  Eliminated hypothesis H176 (true-hypothesis).
---  Eliminated hypothesis H177 (true-hypothesis).
---  Eliminated hypothesis H178 (true-hypothesis).
---  Eliminated hypothesis H179 (true-hypothesis).
---  Eliminated hypothesis H180 (true-hypothesis).
---  Eliminated hypothesis H181 (true-hypothesis).
---  Eliminated hypothesis H182 (true-hypothesis).
---  Eliminated hypothesis H183 (true-hypothesis).
---  Eliminated hypothesis H184 (true-hypothesis).
---  Eliminated hypothesis H185 (true-hypothesis).
---  Eliminated hypothesis H186 (true-hypothesis).
---  Eliminated hypothesis H187 (true-hypothesis).
---  Eliminated hypothesis H188 (true-hypothesis).
---  Eliminated hypothesis H189 (true-hypothesis).
---  Eliminated hypothesis H190 (true-hypothesis).
---  Eliminated hypothesis H191 (true-hypothesis).
---  Eliminated hypothesis H192 (true-hypothesis).
---  Eliminated hypothesis H193 (true-hypothesis).
---  Eliminated hypothesis H194 (true-hypothesis).
---  Eliminated hypothesis H197 (true-hypothesis).
---  Eliminated hypothesis H201 (true-hypothesis).
---  Eliminated hypothesis H202 (true-hypothesis).
---  Eliminated hypothesis H209 (true-hypothesis).
---  Eliminated hypothesis H210 (true-hypothesis).
---  Eliminated hypothesis H213 (true-hypothesis).
---  Eliminated hypothesis H222 (true-hypothesis).
---  Eliminated hypothesis H223 (true-hypothesis).
---  Eliminated hypothesis H226 (true-hypothesis).
---  Eliminated hypothesis H140 (true-hypothesis).
---  Eliminated hypothesis H141 (true-hypothesis).
---  Eliminated hypothesis H150 (true-hypothesis).
---  Eliminated hypothesis H27 (true-hypothesis).
---  Eliminated hypothesis H28 (true-hypothesis).
---  Eliminated hypothesis H203 (true-hypothesis).
---  Eliminated hypothesis H146 (true-hypothesis).
---  Eliminated hypothesis H147 (true-hypothesis).
---  Eliminated hypothesis H148 (true-hypothesis).
---  Eliminated hypothesis H149 (true-hypothesis).
---  Eliminated hypothesis H138 (true-hypothesis).
---  Eliminated hypothesis H139 (true-hypothesis).
---  Eliminated hypothesis H229 (true-hypothesis).
---  Eliminated hypothesis H230 (true-hypothesis).
---  Eliminated hypothesis H50 (duplicate of H26).
---  Eliminated hypothesis H142 (duplicate of H52).
---  Eliminated hypothesis H208 (duplicate of H199).
---  Eliminated hypothesis H31 (duplicate of H9).
---  Eliminated hypothesis H144 (duplicate of H57).
---  Eliminated hypothesis H205 (duplicate of H159).
---  Eliminated hypothesis H32 (duplicate of H10).
---  Eliminated hypothesis H206 (duplicate of H160).
---  Eliminated hypothesis H37 (duplicate of H15).
---  Eliminated hypothesis H211 (duplicate of H165).
---  Eliminated hypothesis H38 (duplicate of H16).
---  Eliminated hypothesis H212 (duplicate of H166).
---  Eliminated hypothesis H40 (duplicate of H18).
---  Eliminated hypothesis H214 (duplicate of H168).
---  Eliminated hypothesis H41 (duplicate of H19).
---  Eliminated hypothesis H215 (duplicate of H169).
---  Eliminated hypothesis H42 (duplicate of H20).
---  Eliminated hypothesis H216 (duplicate of H170).
---  Eliminated hypothesis H43 (duplicate of H21).
---  Eliminated hypothesis H217 (duplicate of H171).
---  Eliminated hypothesis H44 (duplicate of H22).
---  Eliminated hypothesis H218 (duplicate of H172).
---  Eliminated hypothesis H45 (duplicate of H23).
---  Eliminated hypothesis H219 (duplicate of H173).
---  Eliminated hypothesis H46 (duplicate of H24).
---  Eliminated hypothesis H220 (duplicate of H174).
---  Eliminated hypothesis H47 (duplicate of H25).
---  Eliminated hypothesis H221 (duplicate of H175).
---  Eliminated hypothesis H33 (duplicate of H11).
---  Eliminated hypothesis H207 (duplicate of H161).
---  Eliminated hypothesis H34 (duplicate of H12).
---  Eliminated hypothesis H143 (duplicate of H60).
---  Eliminated hypothesis H199 (duplicate of H162).
---  Eliminated hypothesis H12 (duplicate of H2).
---  Eliminated hypothesis H162 (duplicate of H152).
---  Eliminated hypothesis H30 (duplicate of H8).
---  Eliminated hypothesis H204 (duplicate of H158).
---  Eliminated hypothesis H9 (duplicate of H3).
---  Eliminated hypothesis H159 (duplicate of H154).
---  Eliminated hypothesis H29 (duplicate of H7).
---  Eliminated hypothesis H26 (duplicate of H1).
---  Eliminated hypothesis H4 (redundant, given H48).
---  Eliminated hypothesis H10 (redundant, given H48).
---  Eliminated hypothesis H11 (redundant, given H1).
---  Eliminated hypothesis H58 (redundant, given H53).
---  Eliminated hypothesis H59 (redundant, given H52).
---  Eliminated hypothesis H145 (redundant, given H53).
---  Eliminated hypothesis H160 (redundant, given H155).
---  Eliminated hypothesis H161 (redundant, given H151).
---  Eliminated hypothesis H198 (redundant, given H151).
---  Eliminated hypothesis H227 (redundant, given H195).
---  Eliminated hypothesis H228 (redundant, given H196).
-S-  Substituted hypothesis H51.
     This was achieved by replacing all occurrences of fld_hash_bit_len(fld_h(
          local_ctx__1)) by:
          fld_hash_bit_len(fld_h(ctx)).
-S-  Substituted hypothesis H54.
     This was achieved by replacing all occurrences of fld_byte_count(fld_h(
          local_ctx__1)) by:
          fld_byte_count(fld_h(ctx)).
-S-  Substituted hypothesis H153.
     This was achieved by replacing all occurrences of fld_hash_bit_len(fld_h(
          local_ctx__2)) by:
          fld_hash_bit_len(fld_h(ctx)).
-S-  Substituted hypothesis H156.
     This was achieved by replacing all occurrences of fld_byte_count(fld_h(
          local_ctx__2)) by:
          fld_byte_count(fld_h(ctx)).
     +++  New H231:  integer__size >= 0
     +++  New H232:  natural__size >= 0
     +++  New H233:  spark__unsigned__u6__size >= 0
     +++  New H234:  spark__unsigned__u7__size >= 0
     +++  New H235:  spark__unsigned__byte__size >= 0
     +++  New H236:  spark__unsigned__u16__size >= 0
     +++  New H237:  spark__unsigned__u32__size >= 0
     +++  New H238:  spark__unsigned__u64__size >= 0
     +++  New H239:  spark__crypto__word_count_t__size >= 0
     +++  New H240:  hash_bit_length__size >= 0
     +++  New H241:  initialized_hash_bit_length__size >= 0
     +++  New H242:  skein_512_state_words_index__size >= 0
     +++  New H243:  skein_512_block_bytes_count__size >= 0
     +++  New H244:  skein_512_block_bytes_index__size >= 0
     +++  New H245:  positive_block_512_count_t__size >= 0
     +++  New H246:  skein_512_context__size >= 0
     +++  New H247:  result__index__subtype__1__first <= 
          result__index__subtype__1__last
     +++  New H248:  context_header__size >= 0
     +++  New H249:  output_byte_count_t__size >= 0
     +++  New H250:  output_block_count_t__size >= 0
     +++  New H251:  positive_output_block_count_t__size >= 0
     +++  New H252:  result__index__subtype__1__first >= 0
     +++  New H253:  result__index__subtype__1__last >= 0
     +++  New H254:  result__index__subtype__1__last <= 2147483647
     +++  New H255:  result__index__subtype__1__first <= 2147483647
***  Proved C4:  result__index__subtype__1__last > - 1
     using hypothesis H253.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_final_19.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  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 H8 on reading formula in, to give:
     %%%  H8:  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 H29 on reading formula in, to give:
     %%%  H29:  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 H30 on reading formula in, to give:
     %%%  H30:  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 H31 on reading formula in, to give:
     %%%  H31:  fld_byte_count(fld_h(ctx)) >= natural__first
%%%  Simplified H32 on reading formula in, to give:
     %%%  H32:  fld_byte_count(fld_h(ctx)) <= natural__last
%%%  Simplified H33 on reading formula in, to give:
     %%%  H33:  fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u6__first
%%%  Simplified H38 on reading formula in, to give:
     %%%  H38:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u6__last
%%%  Simplified H40 on reading formula in, to give:
     %%%  H40:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u7__first
%%%  Simplified H41 on reading formula in, to give:
     %%%  H41:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u7__last
%%%  Simplified H42 on reading formula in, to give:
     %%%  H42:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u16__first
%%%  Simplified H43 on reading formula in, to give:
     %%%  H43:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u16__last
%%%  Simplified H44 on reading formula in, to give:
     %%%  H44:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u32__first
%%%  Simplified H45 on reading formula in, to give:
     %%%  H45:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u32__last
%%%  Simplified H46 on reading formula in, to give:
     %%%  H46:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u64__first
%%%  Simplified H47 on reading formula in, to give:
     %%%  H47:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u64__last
%%%  Simplified H48 on reading formula in, to give:
     %%%  H48:  not fld_byte_count(fld_h(ctx)) < skein_512_block_bytes_c
---  Hypothesis H49 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H50 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H51 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H52 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H53 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H54 has been replaced by "true".  (It is already present, as 
          H34).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as 
          H37).
---  Hypothesis H58 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H60 has been replaced by "true".  (It is already present, as 
          H40).
---  Hypothesis H61 has been replaced by "true".  (It is already present, as 
          H41).
---  Hypothesis H62 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H63 has been replaced by "true".  (It is already present, as 
          H43).
---  Hypothesis H64 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H65 has been replaced by "true".  (It is already present, as 
          H45).
---  Hypothesis H66 has been replaced by "true".  (It is already present, as 
          H46).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H47).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H69 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H70 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H71 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H72 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H73 has been replaced by "true".  (It is already present, as 
          H34).
---  Hypothesis H76 has been replaced by "true".  (It is already present, as 
          H37).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H79 has been replaced by "true".  (It is already present, as 
          H40).
---  Hypothesis H80 has been replaced by "true".  (It is already present, as 
          H41).
---  Hypothesis H81 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H82 has been replaced by "true".  (It is already present, as 
          H43).
---  Hypothesis H83 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H84 has been replaced by "true".  (It is already present, as 
          H45).
---  Hypothesis H85 has been replaced by "true".  (It is already present, as 
          H46).
---  Hypothesis H86 has been replaced by "true".  (It is already present, as 
          H47).
---  Hypothesis H87 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H88 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H89 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H90 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H91 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H92 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H93 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H94 has been replaced by "true".  (It is already present, as 
          H34).
---  Hypothesis H97 has been replaced by "true".  (It is already present, as 
          H37).
---  Hypothesis H98 has been replaced by "true".  (It is already present, as 
          H38).
---  Hypothesis H100 has been replaced by "true".  (It is already present, as 
          H40).
---  Hypothesis H101 has been replaced by "true".  (It is already present, as 
          H41).
---  Hypothesis H102 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H103 has been replaced by "true".  (It is already present, as 
          H43).
---  Hypothesis H104 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H105 has been replaced by "true".  (It is already present, as 
          H45).
---  Hypothesis H106 has been replaced by "true".  (It is already present, as 
          H46).
---  Hypothesis H107 has been replaced by "true".  (It is already present, as 
          H47).
%%%  Simplified H108 on reading formula in, to give:
     %%%  H108:  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), [i___1]) and 
          element(fld_b(ctx), [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H109 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H110 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H111 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H112 has been replaced by "true".  (It is already present, as 
          H32).
%%%  Simplified H117 on reading formula in, to give:
     %%%  H117:  fld_hash_bit_len(fld_h(ctx)) >= 
          initialized_hash_bit_length__first
%%%  Simplified H118 on reading formula in, to give:
     %%%  H118:  fld_hash_bit_len(fld_h(ctx)) <= 
          initialized_hash_bit_length__last
%%%  Simplified H119 on reading formula in, to give:
     %%%  H119:  fld_byte_count(fld_h(ctx)) >= 
          skein_512_block_bytes_count__first
%%%  Simplified H120 on reading formula in, to give:
     %%%  H120:  fld_byte_count(fld_h(ctx)) <= skein_512_block_bytes_count__last
%%%  Simplified H122 on reading formula in, to give:
     %%%  H122:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H123 on reading formula in, to give:
     %%%  H123:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H125 on reading formula in, to give:
     %%%  H125:  63 <= natural__last
%%%  Simplified H128 on reading formula in, to give:
     %%%  H128:  fld_hash_bit_len(fld_h(local_ctx__2)) = fld_hash_bit_len(fld_h(
          ctx))
%%%  Simplified H131 on reading formula in, to give:
     %%%  H131:  fld_byte_count(fld_h(local_ctx__2)) = fld_byte_count(fld_h(ctx)
          )
%%%  Simplified H132 on reading formula in, to give:
     %%%  H132:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx__2), [i___2]) 
          and element(fld_b(local_ctx__2), [i___2]) <= 
          spark__unsigned__byte__last)
%%%  Simplified H133 on reading formula in, to give:
     %%%  H133:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx__2), [i___1]) 
          and element(fld_x(local_ctx__2), [i___1]) <= 
          spark__unsigned__u64__last)
---  Hypothesis H151 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H152 has been replaced by "true".  (It is already present, as 
          H133).
---  Hypothesis H153 has been replaced by "true".  (It is already present, as 
          H134).
---  Hypothesis H154 has been replaced by "true".  (It is already present, as 
          H135).
---  Hypothesis H155 has been replaced by "true".  (It is already present, as 
          H136).
---  Hypothesis H156 has been replaced by "true".  (It is already present, as 
          H137).
---  Hypothesis H159 has been replaced by "true".  (It is already present, as 
          H140).
---  Hypothesis H160 has been replaced by "true".  (It is already present, as 
          H141).
---  Hypothesis H162 has been replaced by "true".  (It is already present, as 
          H143).
---  Hypothesis H163 has been replaced by "true".  (It is already present, as 
          H144).
---  Hypothesis H164 has been replaced by "true".  (It is already present, as 
          H145).
---  Hypothesis H165 has been replaced by "true".  (It is already present, as 
          H146).
---  Hypothesis H166 has been replaced by "true".  (It is already present, as 
          H147).
---  Hypothesis H167 has been replaced by "true".  (It is already present, as 
          H148).
---  Hypothesis H168 has been replaced by "true".  (It is already present, as 
          H149).
---  Hypothesis H169 has been replaced by "true".  (It is already present, as 
          H150).
%%%  Simplified H172 on reading formula in, to give:
     %%%  H172:  true
---  Hypothesis H176 has been replaced by "true".  (It is already present, as 
          H27).
---  Hypothesis H177 has been replaced by "true".  (It is already present, as 
          H28).
%%%  Simplified H178 on reading formula in, to give:
     %%%  H178:  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 <= 0 and 0 <= 
          spark__unsigned__byte__last)
%%%  Simplified H179 on reading formula in, to give:
     %%%  H179:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx__2), [i___1]) 
          and element(fld_x(local_ctx__2), [i___1]) <= 
          spark__unsigned__u64__last)
%%%  Simplified H180 on reading formula in, to give:
     %%%  H180:  fld_byte_count(fld_h(local_ctx__2)) >= natural__first
%%%  Simplified H181 on reading formula in, to give:
     %%%  H181:  fld_byte_count(fld_h(local_ctx__2)) <= natural__last
%%%  Simplified H182 on reading formula in, to give:
     %%%  H182:  fld_hash_bit_len(fld_h(local_ctx__2)) >= hash_bit_length__first
%%%  Simplified H183 on reading formula in, to give:
     %%%  H183:  fld_hash_bit_len(fld_h(local_ctx__2)) <= hash_bit_length__last
%%%  Simplified H186 on reading formula in, to give:
     %%%  H186:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) >= 
          spark__unsigned__u6__first
%%%  Simplified H187 on reading formula in, to give:
     %%%  H187:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) <= 
          spark__unsigned__u6__last
%%%  Simplified H189 on reading formula in, to give:
     %%%  H189:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) >= 
          spark__unsigned__u7__first
%%%  Simplified H190 on reading formula in, to give:
     %%%  H190:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) <= 
          spark__unsigned__u7__last
%%%  Simplified H191 on reading formula in, to give:
     %%%  H191:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) >= 
          spark__unsigned__u16__first
%%%  Simplified H192 on reading formula in, to give:
     %%%  H192:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) <= 
          spark__unsigned__u16__last
%%%  Simplified H193 on reading formula in, to give:
     %%%  H193:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) >= 
          spark__unsigned__u32__first
%%%  Simplified H194 on reading formula in, to give:
     %%%  H194:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) <= 
          spark__unsigned__u32__last
%%%  Simplified H195 on reading formula in, to give:
     %%%  H195:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) >= 
          spark__unsigned__u64__first
%%%  Simplified H196 on reading formula in, to give:
     %%%  H196:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) <= 
          spark__unsigned__u64__last
---  Hypothesis H197 has been replaced by "true".  (It is already present, as 
          H170).
---  Hypothesis H198 has been replaced by "true".  (It is already present, as 
          H171).
%%%  Simplified H201 on reading formula in, to give:
     %%%  H201:  true
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  fld_hash_bit_len(fld_h(local_ctx__2)) > 0
%%%  Simplified C3 on reading formula in, to give:
     %%%  C3:  0 < (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8
%%%  Simplified C4 on reading formula in, to give:
     %%%  C4:  result__index__subtype__1__last > - 1
%%%  Simplified C6 on reading formula in, to give:
     %%%  C6:  true
%%%  Simplified C7 on reading formula in, to give:
     %%%  C7:  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 C8 on reading formula in, to give:
     %%%  C8:  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)
***  Proved C1:  fld_hash_bit_len(fld_h(local_ctx__2)) > 0
     using hypotheses H26 & H128.
***  Proved C2:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 <= 
          result__index__subtype__1__last + 1
     using hypothesis H175.
***  Proved C6:  true
***  Proved C7:  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)
     using hypothesis H7.
***  Proved C8:  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)
     using hypothesis H8.
***  Proved C9:  fld_byte_count(fld_h(ctx)) >= natural__first
     using hypothesis H9.
***  Proved C10:  fld_byte_count(fld_h(ctx)) <= natural__last
     using hypothesis H10.
***  Proved C11:  fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first
     using hypothesis H11.
***  Proved C12:  fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last
     using hypothesis H12.
***  Proved C13:  true
***  Proved C14:  true
***  Proved C15:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u6__first
     using hypothesis H15.
***  Proved C16:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u6__last
     using hypothesis H16.
***  Proved C17:  true
***  Proved C18:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u7__first
     using hypothesis H18.
***  Proved C19:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u7__last
     using hypothesis H19.
***  Proved C20:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u16__first
     using hypothesis H20.
***  Proved C21:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u16__last
     using hypothesis H21.
***  Proved C22:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u32__first
     using hypothesis H22.
***  Proved C23:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u32__last
     using hypothesis H23.
***  Proved C24:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u64__first
     using hypothesis H24.
***  Proved C25:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u64__last
     using hypothesis H25.
***  Proved C26:  fld_hash_bit_len(fld_h(ctx)) >= 
          initialized_hash_bit_length__first
     using hypothesis H1.
***  Proved C27:  fld_hash_bit_len(fld_h(ctx)) <= 
          initialized_hash_bit_length__last
     using hypothesis H2.
***  Proved C28:  fld_byte_count(fld_h(ctx)) >= 
          skein_512_block_bytes_count__first
     using hypothesis H3.
***  Proved C29:  fld_byte_count(fld_h(ctx)) <= 
          skein_512_block_bytes_count__last
     using hypothesis H4.
***  Proved C30:  result__index__subtype__1__first = 0
     using hypothesis H5.
***  Proved C31:  (fld_hash_bit_len(fld_h(ctx)) + 7) div 8 <= 
          result__index__subtype__1__last + 1
     using hypothesis H6.
>>>  Restructured hypothesis H48 into:
     >>>  H48:  skein_512_block_bytes_c <= fld_byte_count(fld_h(ctx))
-S-  Applied substitution rule skein_512_fi_rules(1).
     This was achieved by replacing all occurrences of skein_512_block_bytes_c 
          by:
          64.
<S>  New H48:  64 <= fld_byte_count(fld_h(ctx))
-S-  Applied substitution rule skein_512_fi_rules(6).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H173:  fld_hash_bit_len(fld_h(local_ctx__2)) >= - 2147483655
<S>  New H202:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 >= - 
          2147483711
-S-  Applied substitution rule skein_512_fi_rules(7).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H174:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 2147483640
<S>  New H203:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 <= 2147483584
-S-  Applied substitution rule skein_512_fi_rules(9).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H9:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H31:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H115:  true
<S>  New H134:  fld_byte_count(fld_h(local_ctx__2)) >= 0
<S>  New H180:  fld_byte_count(fld_h(local_ctx__2)) >= 0
-S-  Applied substitution rule skein_512_fi_rules(10).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H10:  fld_byte_count(fld_h(ctx)) <= 2147483647
<S>  New H32:  fld_byte_count(fld_h(ctx)) <= 2147483647
<S>  New H116:  true
<S>  New H124:  skein_512_block_bytes_index__last <= 2147483647
<S>  New H125:  true
<S>  New H135:  fld_byte_count(fld_h(local_ctx__2)) <= 2147483647
<S>  New H181:  fld_byte_count(fld_h(local_ctx__2)) <= 2147483647
-S-  Applied substitution rule skein_512_fi_rules(42).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H15:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H37:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H140:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) >= 0
<S>  New H186:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(43).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H16:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 63
<S>  New H38:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 63
<S>  New H141:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) <= 63
<S>  New H187:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) <= 63
-S-  Applied substitution rule skein_512_fi_rules(48).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H18:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H40:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H143:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) >= 0
<S>  New H189:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(49).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H19:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 127
<S>  New H41:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 127
<S>  New H144:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) <= 127
<S>  New H190:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) <= 127
-S-  Applied substitution rule skein_512_fi_rules(54).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H7:  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:  true
<S>  New H29:  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 H108:  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), [i___1]) and element(fld_b(ctx), [i___1]) <= 
          spark__unsigned__byte__last)
<S>  New H132:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__2), [i___2]) and element(fld_b(local_ctx__2), [i___2]
          ) <= spark__unsigned__byte__last)
<S>  New H178:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= 
          spark__unsigned__byte__last)
-S-  Applied substitution rule skein_512_fi_rules(55).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H28:  true
<S>  New H7:  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 H29:  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 H108:  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), [i___1]) and element(fld_b(ctx), [i___1]) <= 255)
<S>  New H132:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__2), [i___2]) and element(fld_b(local_ctx__2), [i___2]
          ) <= 255)
<S>  New H178:  true
-S-  Applied substitution rule skein_512_fi_rules(60).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H20:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H42:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H145:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) >= 0
<S>  New H191:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(61).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H21:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 65535
<S>  New H43:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 65535
<S>  New H146:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) <= 65535
<S>  New H192:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) <= 65535
-S-  Applied substitution rule skein_512_fi_rules(66).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H22:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H44:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H147:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) >= 0
<S>  New H193:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(67).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H23:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 4294967295
<S>  New H45:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 4294967295
<S>  New H148:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) <= 
          4294967295
<S>  New H194:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) <= 
          4294967295
-S-  Applied substitution rule skein_512_fi_rules(72).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H8:  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 H24:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H30:  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 H46:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H133:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__2), [i___1]) and element(fld_x(local_ctx__2), [i___1]
          ) <= spark__unsigned__u64__last)
<S>  New H149:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) >= 0
<S>  New H179:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__2), [i___1]) and element(fld_x(local_ctx__2), [i___1]
          ) <= spark__unsigned__u64__last)
<S>  New H195:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(73).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H25:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          18446744073709551615
<S>  New H47:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          18446744073709551615
<S>  New H150:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) <= 
          18446744073709551615
<S>  New H196:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) <= 
          18446744073709551615
<S>  New H8:  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 H30:  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 H133:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__2), [i___1]) and element(fld_x(local_ctx__2), [i___1]
          ) <= 18446744073709551615)
<S>  New H179:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__2), [i___1]) and element(fld_x(local_ctx__2), [i___1]
          ) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_fi_rules(83).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H11:  fld_hash_bit_len(fld_h(ctx)) >= 0
<S>  New H33:  fld_hash_bit_len(fld_h(ctx)) >= 0
<S>  New H136:  fld_hash_bit_len(fld_h(local_ctx__2)) >= 0
<S>  New H182:  fld_hash_bit_len(fld_h(local_ctx__2)) >= 0
-S-  Applied substitution rule skein_512_fi_rules(84).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H12:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H34:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H137:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 2147483640
<S>  New H183:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 2147483640
-S-  Applied substitution rule skein_512_fi_rules(88).
     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 H117:  fld_hash_bit_len(fld_h(ctx)) >= 1
<S>  New H126:  fld_hash_bit_len(fld_h(local_ctx__2)) >= 1
-S-  Applied substitution rule skein_512_fi_rules(89).
     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 H118:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H127:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 2147483640
-S-  Applied substitution rule skein_512_fi_rules(93).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H8:  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 H30:  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 H133:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(local_ctx__2)
          , [i___1]) and element(fld_x(local_ctx__2), [i___1]) <= 
          18446744073709551615)
<S>  New H179:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(local_ctx__2)
          , [i___1]) and element(fld_x(local_ctx__2), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule skein_512_fi_rules(94).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H8:  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 H30:  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 H133:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(local_ctx__2), [i___1]) and element(fld_x(local_ctx__2)
          , [i___1]) <= 18446744073709551615)
<S>  New H179:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(local_ctx__2), [i___1]) and element(fld_x(local_ctx__2)
          , [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_fi_rules(98).
     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 H119:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H129:  fld_byte_count(fld_h(local_ctx__2)) >= 0
-S-  Applied substitution rule skein_512_fi_rules(99).
     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 H120:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New H130:  fld_byte_count(fld_h(local_ctx__2)) <= 64
-S-  Applied substitution rule skein_512_fi_rules(103).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H121:  true
<S>  New H7:  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 H29:  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 H108:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(ctx), [i___1])
           and element(fld_b(ctx), [i___1]) <= 255)
<S>  New H132:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(local_ctx__2)
          , [i___2]) and element(fld_b(local_ctx__2), [i___2]) <= 255)
-S-  Applied substitution rule skein_512_fi_rules(104).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H122:  true
<S>  New H123:  true
<S>  New H124:  true
<S>  New H7:  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 H29:  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 H108:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 63 -> 0 <= 
          element(fld_b(ctx), [i___1]) and element(fld_b(ctx), [i___1]) <= 255)
<S>  New H132:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(local_ctx__2), [i___2]) and element(fld_b(local_ctx__2)
          , [i___2]) <= 255)
-S-  Applied substitution rule skein_512_fi_rules(108).
     This was achieved by replacing all occurrences of 
          positive_block_512_count_t__first by:
          1.
<S>  New H113:  true
-S-  Applied substitution rule skein_512_fi_rules(109).
     This was achieved by replacing all occurrences of 
          positive_block_512_count_t__last by:
          33554431.
<S>  New H114:  true
-S-  Applied substitution rule skein_512_fi_rules(125).
     This was achieved by replacing all occurrences of 
          output_byte_count_t__first by:
          1.
<S>  New H170:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 >= 1
-S-  Applied substitution rule skein_512_fi_rules(126).
     This was achieved by replacing all occurrences of 
          output_byte_count_t__last by:
          268435455.
<S>  New H171:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 <= 268435455
-S-  Applied substitution rule skein_512_fi_rules(130).
     This was achieved by replacing all occurrences of 
          output_block_count_t__first by:
          0.
<S>  New H204:  true
-S-  Applied substitution rule skein_512_fi_rules(131).
     This was achieved by replacing all occurrences of 
          output_block_count_t__last by:
          4194304.
<S>  New H205:  true
-S-  Applied substitution rule skein_512_fi_rules(135).
     This was achieved by replacing all occurrences of 
          positive_output_block_count_t__first by:
          1.
<S>  New H199:  ((fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 + 63) div 64 
          >= 1
-S-  Applied substitution rule skein_512_fi_rules(136).
     This was achieved by replacing all occurrences of 
          positive_output_block_count_t__last by:
          4194304.
<S>  New H200:  ((fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 + 63) div 64 
          <= 4194304
%%%  Hypotheses H48 & H4 together imply that
          64 = fld_byte_count(fld_h(ctx)).
     H48 & H4 have therefore been deleted and a new H206 added to this effect.
***  Proved C3:  0 < (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8
     using hypothesis H170.
***  Proved C5:  0 < ((fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 + 63) 
          div 64
     using hypothesis H199.
---  Eliminated hypothesis H13 (true-hypothesis).
---  Eliminated hypothesis H14 (true-hypothesis).
---  Eliminated hypothesis H17 (true-hypothesis).
---  Eliminated hypothesis H35 (true-hypothesis).
---  Eliminated hypothesis H36 (true-hypothesis).
---  Eliminated hypothesis H39 (true-hypothesis).
---  Eliminated hypothesis H49 (true-hypothesis).
---  Eliminated hypothesis H50 (true-hypothesis).
---  Eliminated hypothesis H51 (true-hypothesis).
---  Eliminated hypothesis H52 (true-hypothesis).
---  Eliminated hypothesis H53 (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 H63 (true-hypothesis).
---  Eliminated hypothesis H64 (true-hypothesis).
---  Eliminated hypothesis H65 (true-hypothesis).
---  Eliminated hypothesis H66 (true-hypothesis).
---  Eliminated hypothesis H67 (true-hypothesis).
---  Eliminated hypothesis H68 (true-hypothesis).
---  Eliminated hypothesis H69 (true-hypothesis).
---  Eliminated hypothesis H70 (true-hypothesis).
---  Eliminated hypothesis H71 (true-hypothesis).
---  Eliminated hypothesis H72 (true-hypothesis).
---  Eliminated hypothesis H73 (true-hypothesis).
---  Eliminated hypothesis H74 (true-hypothesis).
---  Eliminated hypothesis H75 (true-hypothesis).
---  Eliminated hypothesis H76 (true-hypothesis).
---  Eliminated hypothesis H77 (true-hypothesis).
---  Eliminated hypothesis H78 (true-hypothesis).
---  Eliminated hypothesis H79 (true-hypothesis).
---  Eliminated hypothesis H80 (true-hypothesis).
---  Eliminated hypothesis H81 (true-hypothesis).
---  Eliminated hypothesis H82 (true-hypothesis).
---  Eliminated hypothesis H83 (true-hypothesis).
---  Eliminated hypothesis H84 (true-hypothesis).
---  Eliminated hypothesis H85 (true-hypothesis).
---  Eliminated hypothesis H86 (true-hypothesis).
---  Eliminated hypothesis H87 (true-hypothesis).
---  Eliminated hypothesis H88 (true-hypothesis).
---  Eliminated hypothesis H89 (true-hypothesis).
---  Eliminated hypothesis H90 (true-hypothesis).
---  Eliminated hypothesis H91 (true-hypothesis).
---  Eliminated hypothesis H92 (true-hypothesis).
---  Eliminated hypothesis H93 (true-hypothesis).
---  Eliminated hypothesis H94 (true-hypothesis).
---  Eliminated hypothesis H95 (true-hypothesis).
---  Eliminated hypothesis H96 (true-hypothesis).
---  Eliminated hypothesis H97 (true-hypothesis).
---  Eliminated hypothesis H98 (true-hypothesis).
---  Eliminated hypothesis H99 (true-hypothesis).
---  Eliminated hypothesis H100 (true-hypothesis).
---  Eliminated hypothesis H101 (true-hypothesis).
---  Eliminated hypothesis H102 (true-hypothesis).
---  Eliminated hypothesis H103 (true-hypothesis).
---  Eliminated hypothesis H104 (true-hypothesis).
---  Eliminated hypothesis H105 (true-hypothesis).
---  Eliminated hypothesis H106 (true-hypothesis).
---  Eliminated hypothesis H107 (true-hypothesis).
---  Eliminated hypothesis H109 (true-hypothesis).
---  Eliminated hypothesis H110 (true-hypothesis).
---  Eliminated hypothesis H111 (true-hypothesis).
---  Eliminated hypothesis H112 (true-hypothesis).
---  Eliminated hypothesis H138 (true-hypothesis).
---  Eliminated hypothesis H139 (true-hypothesis).
---  Eliminated hypothesis H142 (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 H156 (true-hypothesis).
---  Eliminated hypothesis H157 (true-hypothesis).
---  Eliminated hypothesis H158 (true-hypothesis).
---  Eliminated hypothesis H159 (true-hypothesis).
---  Eliminated hypothesis H160 (true-hypothesis).
---  Eliminated hypothesis H161 (true-hypothesis).
---  Eliminated hypothesis H162 (true-hypothesis).
---  Eliminated hypothesis H163 (true-hypothesis).
---  Eliminated hypothesis H164 (true-hypothesis).
---  Eliminated hypothesis H165 (true-hypothesis).
---  Eliminated hypothesis H166 (true-hypothesis).
---  Eliminated hypothesis H167 (true-hypothesis).
---  Eliminated hypothesis H168 (true-hypothesis).
---  Eliminated hypothesis H169 (true-hypothesis).
---  Eliminated hypothesis H172 (true-hypothesis).
---  Eliminated hypothesis H176 (true-hypothesis).
---  Eliminated hypothesis H177 (true-hypothesis).
---  Eliminated hypothesis H184 (true-hypothesis).
---  Eliminated hypothesis H185 (true-hypothesis).
---  Eliminated hypothesis H188 (true-hypothesis).
---  Eliminated hypothesis H197 (true-hypothesis).
---  Eliminated hypothesis H198 (true-hypothesis).
---  Eliminated hypothesis H201 (true-hypothesis).
---  Eliminated hypothesis H115 (true-hypothesis).
---  Eliminated hypothesis H116 (true-hypothesis).
---  Eliminated hypothesis H125 (true-hypothesis).
---  Eliminated hypothesis H27 (true-hypothesis).
---  Eliminated hypothesis H28 (true-hypothesis).
---  Eliminated hypothesis H178 (true-hypothesis).
---  Eliminated hypothesis H121 (true-hypothesis).
---  Eliminated hypothesis H122 (true-hypothesis).
---  Eliminated hypothesis H123 (true-hypothesis).
---  Eliminated hypothesis H124 (true-hypothesis).
---  Eliminated hypothesis H113 (true-hypothesis).
---  Eliminated hypothesis H114 (true-hypothesis).
---  Eliminated hypothesis H204 (true-hypothesis).
---  Eliminated hypothesis H205 (true-hypothesis).
---  Eliminated hypothesis H117 (duplicate of H26).
---  Eliminated hypothesis H183 (duplicate of H174).
---  Eliminated hypothesis H31 (duplicate of H9).
---  Eliminated hypothesis H119 (duplicate of H9).
---  Eliminated hypothesis H180 (duplicate of H134).
---  Eliminated hypothesis H32 (duplicate of H10).
---  Eliminated hypothesis H181 (duplicate of H135).
---  Eliminated hypothesis H37 (duplicate of H15).
---  Eliminated hypothesis H186 (duplicate of H140).
---  Eliminated hypothesis H38 (duplicate of H16).
---  Eliminated hypothesis H187 (duplicate of H141).
---  Eliminated hypothesis H40 (duplicate of H18).
---  Eliminated hypothesis H189 (duplicate of H143).
---  Eliminated hypothesis H41 (duplicate of H19).
---  Eliminated hypothesis H190 (duplicate of H144).
---  Eliminated hypothesis H42 (duplicate of H20).
---  Eliminated hypothesis H191 (duplicate of H145).
---  Eliminated hypothesis H43 (duplicate of H21).
---  Eliminated hypothesis H192 (duplicate of H146).
---  Eliminated hypothesis H44 (duplicate of H22).
---  Eliminated hypothesis H193 (duplicate of H147).
---  Eliminated hypothesis H45 (duplicate of H23).
---  Eliminated hypothesis H194 (duplicate of H148).
---  Eliminated hypothesis H46 (duplicate of H24).
---  Eliminated hypothesis H195 (duplicate of H149).
---  Eliminated hypothesis H47 (duplicate of H25).
---  Eliminated hypothesis H196 (duplicate of H150).
---  Eliminated hypothesis H33 (duplicate of H11).
---  Eliminated hypothesis H182 (duplicate of H136).
---  Eliminated hypothesis H34 (duplicate of H12).
---  Eliminated hypothesis H118 (duplicate of H12).
---  Eliminated hypothesis H174 (duplicate of H137).
---  Eliminated hypothesis H12 (duplicate of H2).
---  Eliminated hypothesis H137 (duplicate of H127).
---  Eliminated hypothesis H30 (duplicate of H8).
---  Eliminated hypothesis H179 (duplicate of H133).
---  Eliminated hypothesis H9 (duplicate of H3).
---  Eliminated hypothesis H134 (duplicate of H129).
---  Eliminated hypothesis H29 (duplicate of H7).
---  Eliminated hypothesis H26 (duplicate of H1).
---  Eliminated hypothesis H3 (redundant, given H206).
---  Eliminated hypothesis H10 (redundant, given H120).
---  Eliminated hypothesis H11 (redundant, given H1).
---  Eliminated hypothesis H120 (redundant, given H206).
---  Eliminated hypothesis H135 (redundant, given H130).
---  Eliminated hypothesis H136 (redundant, given H126).
---  Eliminated hypothesis H173 (redundant, given H126).
---  Eliminated hypothesis H202 (redundant, given H170).
---  Eliminated hypothesis H203 (redundant, given H171).
-S-  Substituted hypothesis H128.
     This was achieved by replacing all occurrences of fld_hash_bit_len(fld_h(
          local_ctx__2)) by:
          fld_hash_bit_len(fld_h(ctx)).
-S-  Substituted hypothesis H131.
     This was achieved by replacing all occurrences of fld_byte_count(fld_h(
          local_ctx__2)) by:
          fld_byte_count(fld_h(ctx)).
     +++  New H207:  integer__size >= 0
     +++  New H208:  natural__size >= 0
     +++  New H209:  spark__unsigned__u6__size >= 0
     +++  New H210:  spark__unsigned__u7__size >= 0
     +++  New H211:  spark__unsigned__byte__size >= 0
     +++  New H212:  spark__unsigned__u16__size >= 0
     +++  New H213:  spark__unsigned__u32__size >= 0
     +++  New H214:  spark__unsigned__u64__size >= 0
     +++  New H215:  spark__crypto__word_count_t__size >= 0
     +++  New H216:  hash_bit_length__size >= 0
     +++  New H217:  initialized_hash_bit_length__size >= 0
     +++  New H218:  skein_512_state_words_index__size >= 0
     +++  New H219:  skein_512_block_bytes_count__size >= 0
     +++  New H220:  skein_512_block_bytes_index__size >= 0
     +++  New H221:  positive_block_512_count_t__size >= 0
     +++  New H222:  skein_512_context__size >= 0
     +++  New H223:  result__index__subtype__1__first <= 
          result__index__subtype__1__last
     +++  New H224:  context_header__size >= 0
     +++  New H225:  output_byte_count_t__size >= 0
     +++  New H226:  output_block_count_t__size >= 0
     +++  New H227:  positive_output_block_count_t__size >= 0
     +++  New H228:  result__index__subtype__1__first >= 0
     +++  New H229:  result__index__subtype__1__last >= 0
     +++  New H230:  result__index__subtype__1__last <= 2147483647
     +++  New H231:  result__index__subtype__1__first <= 2147483647
***  Proved C4:  result__index__subtype__1__last > - 1
     using hypothesis H229.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_final_20.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  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 H8 on reading formula in, to give:
     %%%  H8:  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)
---  Hypothesis H36 has been replaced by "true".  (It is already present, as H1)
          .
---  Hypothesis H37 has been replaced by "true".  (It is already present, as 
          H34).
---  Hypothesis H38 has been replaced by "true".  (It is already present, as 
          H35).
%%%  Simplified H40 on reading formula in, to give:
     %%%  H40:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx__3), [i___2]) 
          and element(fld_b(local_ctx__3), [i___2]) <= 
          spark__unsigned__byte__last)
%%%  Simplified H41 on reading formula in, to give:
     %%%  H41:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx__3), [i___1]) 
          and element(fld_x(local_ctx__3), [i___1]) <= 
          spark__unsigned__u64__last)
---  Hypothesis H59 has been replaced by "true".  (It is already present, as 
          H40).
---  Hypothesis H60 has been replaced by "true".  (It is already present, as 
          H41).
---  Hypothesis H61 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H62 has been replaced by "true".  (It is already present, as 
          H43).
---  Hypothesis H63 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H64 has been replaced by "true".  (It is already present, as 
          H45).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H48).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H49).
---  Hypothesis H70 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H71 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H72 has been replaced by "true".  (It is already present, as 
          H53).
---  Hypothesis H73 has been replaced by "true".  (It is already present, as 
          H54).
---  Hypothesis H74 has been replaced by "true".  (It is already present, as 
          H55).
---  Hypothesis H75 has been replaced by "true".  (It is already present, as 
          H56).
---  Hypothesis H76 has been replaced by "true".  (It is already present, as 
          H57).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H58).
%%%  Simplified H80 on reading formula in, to give:
     %%%  H80:  fld_h(local_ctx__4) = upf_tweak_words(upf_byte_count(fld_h(
          local_ctx__3), 0), mk__tweak_value(byte_count_lsb := 0, 
          byte_count_msb := 0, reserved := 0, tree_level := 0, bit_pad := 
          false, field_type := skein_block_type_out, first_block := true, 
          final_block := true))
%%%  Simplified H103 on reading formula in, to give:
     %%%  H103:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx__4), [i___2]) 
          and element(fld_b(local_ctx__4), [i___2]) <= 
          spark__unsigned__byte__last)
%%%  Simplified H104 on reading formula in, to give:
     %%%  H104:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx__4), [i___1]) 
          and element(fld_x(local_ctx__4), [i___1]) <= 
          spark__unsigned__u64__last)
---  Hypothesis H105 has been replaced by "true".  (It is already present, as 
          H83).
---  Hypothesis H106 has been replaced by "true".  (It is already present, as 
          H84).
---  Hypothesis H107 has been replaced by "true".  (It is already present, as 
          H85).
---  Hypothesis H108 has been replaced by "true".  (It is already present, as 
          H86).
---  Hypothesis H111 has been replaced by "true".  (It is already present, as 
          H89).
---  Hypothesis H112 has been replaced by "true".  (It is already present, as 
          H90).
---  Hypothesis H114 has been replaced by "true".  (It is already present, as 
          H92).
---  Hypothesis H115 has been replaced by "true".  (It is already present, as 
          H93).
---  Hypothesis H116 has been replaced by "true".  (It is already present, as 
          H94).
---  Hypothesis H117 has been replaced by "true".  (It is already present, as 
          H95).
---  Hypothesis H118 has been replaced by "true".  (It is already present, as 
          H96).
---  Hypothesis H119 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H120 has been replaced by "true".  (It is already present, as 
          H98).
---  Hypothesis H121 has been replaced by "true".  (It is already present, as 
          H99).
---  Hypothesis H122 has been replaced by "true".  (It is already present, as 
          H103).
---  Hypothesis H123 has been replaced by "true".  (It is already present, as 
          H104).
---  Hypothesis H124 has been replaced by "true".  (It is already present, as 
          H83).
---  Hypothesis H125 has been replaced by "true".  (It is already present, as 
          H84).
---  Hypothesis H126 has been replaced by "true".  (It is already present, as 
          H85).
---  Hypothesis H127 has been replaced by "true".  (It is already present, as 
          H86).
---  Hypothesis H130 has been replaced by "true".  (It is already present, as 
          H89).
---  Hypothesis H131 has been replaced by "true".  (It is already present, as 
          H90).
---  Hypothesis H133 has been replaced by "true".  (It is already present, as 
          H92).
---  Hypothesis H134 has been replaced by "true".  (It is already present, as 
          H93).
---  Hypothesis H135 has been replaced by "true".  (It is already present, as 
          H94).
---  Hypothesis H136 has been replaced by "true".  (It is already present, as 
          H95).
---  Hypothesis H137 has been replaced by "true".  (It is already present, as 
          H96).
---  Hypothesis H138 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H139 has been replaced by "true".  (It is already present, as 
          H98).
---  Hypothesis H140 has been replaced by "true".  (It is already present, as 
          H99).
%%%  Simplified H141 on reading formula in, to give:
     %%%  H141:  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(local_ctx__4), [i___1]) 
          and element(fld_b(local_ctx__4), [i___1]) <= 
          spark__unsigned__byte__last)
%%%  Simplified H153 on reading formula in, to give:
     %%%  H153:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H154 on reading formula in, to give:
     %%%  H154:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H156 on reading formula in, to give:
     %%%  H156:  63 <= natural__last
%%%  Simplified H163 on reading formula in, to give:
     %%%  H163:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx__5), [i___2]) 
          and element(fld_b(local_ctx__5), [i___2]) <= 
          spark__unsigned__byte__last)
%%%  Simplified H164 on reading formula in, to give:
     %%%  H164:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx__5), [i___1]) 
          and element(fld_x(local_ctx__5), [i___1]) <= 
          spark__unsigned__u64__last)
---  Hypothesis H182 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H183 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H190 has been replaced by "true".  (It is already present, as 
          H186).
---  Hypothesis H191 has been replaced by "true".  (It is already present, as 
          H187).
%%%  Simplified H195 on reading formula in, to give:
     %%%  H195:  for_all(i___1 : integer, result__index__subtype__1__first <= 
          i___1 and i___1 <= result__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(result, [i___1]) and element(
          result, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H196 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H197 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H198 has been replaced by "true".  (It is already present, as 
          H163).
---  Hypothesis H199 has been replaced by "true".  (It is already present, as 
          H164).
---  Hypothesis H200 has been replaced by "true".  (It is already present, as 
          H165).
---  Hypothesis H201 has been replaced by "true".  (It is already present, as 
          H166).
---  Hypothesis H202 has been replaced by "true".  (It is already present, as 
          H167).
---  Hypothesis H203 has been replaced by "true".  (It is already present, as 
          H168).
---  Hypothesis H206 has been replaced by "true".  (It is already present, as 
          H171).
---  Hypothesis H207 has been replaced by "true".  (It is already present, as 
          H172).
---  Hypothesis H209 has been replaced by "true".  (It is already present, as 
          H174).
---  Hypothesis H210 has been replaced by "true".  (It is already present, as 
          H175).
---  Hypothesis H211 has been replaced by "true".  (It is already present, as 
          H176).
---  Hypothesis H212 has been replaced by "true".  (It is already present, as 
          H177).
---  Hypothesis H213 has been replaced by "true".  (It is already present, as 
          H178).
---  Hypothesis H214 has been replaced by "true".  (It is already present, as 
          H179).
---  Hypothesis H215 has been replaced by "true".  (It is already present, as 
          H180).
---  Hypothesis H216 has been replaced by "true".  (It is already present, as 
          H181).
---  Hypothesis H217 has been replaced by "true".  (It is already present, as 
          H193).
---  Hypothesis H218 has been replaced by "true".  (It is already present, as 
          H194).
---  Hypothesis H219 has been replaced by "true".  (It is already present, as 
          H193).
---  Hypothesis H220 has been replaced by "true".  (It is already present, as 
          H194).
---  Hypothesis H223 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H227 has been replaced by "true".  (It is already present, as 
          H188).
---  Hypothesis H228 has been replaced by "true".  (It is already present, as 
          H189).
%%%  Simplified H229 on reading formula in, to give:
     %%%  H229:  for_all(i___1 : integer, result__index__subtype__1__first <= 
          i___1 and i___1 <= result__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(result__6, [i___1]) and 
          element(result__6, [i___1]) <= spark__unsigned__byte__last)
%%%  Simplified H230 on reading formula in, to give:
     %%%  H230:  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(x, [i___1]) and element(x, [
          i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H231 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H232 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H235 has been replaced by "true".  (It is already present, as 
          H233).
---  Hypothesis H236 has been replaced by "true".  (It is already present, as 
          H234).
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  fld_hash_bit_len(fld_h(local_ctx__5)) > 0
%%%  Simplified C7 on reading formula in, to give:
     %%%  C7:  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 C8 on reading formula in, to give:
     %%%  C8:  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)
***  Proved C1:  fld_hash_bit_len(fld_h(local_ctx__5)) > 0
     using hypotheses H39, H81 & H159.
***  Proved C2:  byte_count <= result__index__subtype__1__last + 1
     using hypothesis H2.
***  Proved C5:  blocks_done + 1 < blocks_required
     using hypothesis H239.
***  Proved C6:  blocks_required = (byte_count + 63) div 64
     using hypothesis H6.
***  Proved C7:  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)
     using hypothesis H7.
***  Proved C8:  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)
     using hypothesis H8.
***  Proved C9:  fld_byte_count(fld_h(ctx)) >= natural__first
     using hypothesis H9.
***  Proved C10:  fld_byte_count(fld_h(ctx)) <= natural__last
     using hypothesis H10.
***  Proved C11:  fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first
     using hypothesis H11.
***  Proved C12:  fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last
     using hypothesis H12.
***  Proved C13:  true
***  Proved C14:  true
***  Proved C15:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u6__first
     using hypothesis H15.
***  Proved C16:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u6__last
     using hypothesis H16.
***  Proved C17:  true
***  Proved C18:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u7__first
     using hypothesis H18.
***  Proved C19:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u7__last
     using hypothesis H19.
***  Proved C20:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u16__first
     using hypothesis H20.
***  Proved C21:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u16__last
     using hypothesis H21.
***  Proved C22:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u32__first
     using hypothesis H22.
***  Proved C23:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u32__last
     using hypothesis H23.
***  Proved C24:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u64__first
     using hypothesis H24.
***  Proved C25:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u64__last
     using hypothesis H25.
***  Proved C26:  fld_hash_bit_len(fld_h(ctx)) >= 
          initialized_hash_bit_length__first
     using hypothesis H26.
***  Proved C27:  fld_hash_bit_len(fld_h(ctx)) <= 
          initialized_hash_bit_length__last
     using hypothesis H27.
***  Proved C28:  fld_byte_count(fld_h(ctx)) >= 
          skein_512_block_bytes_count__first
     using hypothesis H28.
***  Proved C29:  fld_byte_count(fld_h(ctx)) <= 
          skein_512_block_bytes_count__last
     using hypothesis H29.
***  Proved C30:  result__index__subtype__1__first = 0
     using hypothesis H30.
***  Proved C31:  (fld_hash_bit_len(fld_h(ctx)) + 7) div 8 <= 
          result__index__subtype__1__last + 1
     using hypothesis H31.
>>>  Restructured hypothesis H239 into:
     >>>  H239:  blocks_done + 1 < blocks_required
-S-  Applied substitution rule skein_512_fi_rules(1).
     This was achieved by replacing all occurrences of skein_512_block_bytes_c 
          by:
          64.
<S>  New H3:  blocks_done * 64 < byte_count
<S>  New H4:  blocks_done * 64 < result__index__subtype__1__last + 1
<S>  New H186:  byte_count - blocks_done * 64 >= natural__first
<S>  New H187:  byte_count - blocks_done * 64 <= natural__last
<S>  New H188:  blocks_done * 64 >= integer__base__first
<S>  New H189:  blocks_done * 64 <= integer__base__last
<S>  New H192:  byte_count - blocks_done * 64 >= 64
<S>  New H193:  64 >= natural__first
<S>  New H194:  64 <= natural__last
<S>  New H221:  blocks_done * 64 >= natural__first
<S>  New H222:  blocks_done * 64 <= natural__last
<S>  New H225:  result__index__subtype__1__last >= blocks_done * 64 + 63
<S>  New H226:  64 <= (skein_512_state_words_index__last + 1) * 8
<S>  New C3:  (blocks_done + 1) * 64 < byte_count
<S>  New C4:  (blocks_done + 1) * 64 < result__index__subtype__1__last + 1
-S-  Applied substitution rule skein_512_fi_rules(2).
     This was achieved by replacing all occurrences of skein_block_type_out by:
          63.
<S>  New H78:  63 >= spark__unsigned__u6__first
<S>  New H79:  63 <= spark__unsigned__u6__last
<S>  New H80:  fld_h(local_ctx__4) = upf_tweak_words(upf_byte_count(fld_h(
          local_ctx__3), 0), mk__tweak_value(byte_count_lsb := 0, 
          byte_count_msb := 0, reserved := 0, tree_level := 0, bit_pad := 
          false, field_type := 63, first_block := true, final_block := true))
-S-  Applied substitution rule skein_512_fi_rules(6).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H188:  blocks_done * 64 >= - 2147483648
-S-  Applied substitution rule skein_512_fi_rules(7).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H189:  blocks_done * 64 <= 2147483647
-S-  Applied substitution rule skein_512_fi_rules(9).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H9:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H42:  fld_byte_count(fld_h(local_ctx__3)) >= 0
<S>  New H83:  fld_byte_count(fld_h(local_ctx__4)) >= 0
<S>  New H142:  true
<S>  New H146:  true
<S>  New H165:  fld_byte_count(fld_h(local_ctx__5)) >= 0
<S>  New H186:  byte_count - blocks_done * 64 >= 0
<S>  New H193:  true
<S>  New H221:  blocks_done * 64 >= 0
-S-  Applied substitution rule skein_512_fi_rules(10).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H10:  fld_byte_count(fld_h(ctx)) <= 2147483647
<S>  New H43:  fld_byte_count(fld_h(local_ctx__3)) <= 2147483647
<S>  New H84:  fld_byte_count(fld_h(local_ctx__4)) <= 2147483647
<S>  New H143:  true
<S>  New H147:  true
<S>  New H155:  skein_512_block_bytes_index__last <= 2147483647
<S>  New H156:  true
<S>  New H166:  fld_byte_count(fld_h(local_ctx__5)) <= 2147483647
<S>  New H187:  byte_count - blocks_done * 64 <= 2147483647
<S>  New H194:  true
<S>  New H222:  blocks_done * 64 <= 2147483647
-S-  Applied substitution rule skein_512_fi_rules(42).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H15:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H48:  fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) >= 0
<S>  New H89:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) >= 0
<S>  New H171:  fld_field_type(fld_tweak_words(fld_h(local_ctx__5))) >= 0
<S>  New H78:  true
-S-  Applied substitution rule skein_512_fi_rules(43).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H16:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 63
<S>  New H49:  fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) <= 63
<S>  New H90:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) <= 63
<S>  New H172:  fld_field_type(fld_tweak_words(fld_h(local_ctx__5))) <= 63
<S>  New H79:  true
-S-  Applied substitution rule skein_512_fi_rules(48).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H18:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H51:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) >= 0
<S>  New H92:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) >= 0
<S>  New H174:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__5))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(49).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H19:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 127
<S>  New H52:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) <= 127
<S>  New H93:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) <= 127
<S>  New H175:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__5))) <= 127
-S-  Applied substitution rule skein_512_fi_rules(54).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H7:  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 H40:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__3), [i___2]) and element(fld_b(local_ctx__3), [i___2]
          ) <= spark__unsigned__byte__last)
<S>  New H103:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__4), [i___2]) and element(fld_b(local_ctx__4), [i___2]
          ) <= spark__unsigned__byte__last)
<S>  New H141:  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(local_ctx__4), [i___1]) and element(fld_b(local_ctx__4), [i___1]
          ) <= spark__unsigned__byte__last)
<S>  New H163:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__5), [i___2]) and element(fld_b(local_ctx__5), [i___2]
          ) <= spark__unsigned__byte__last)
<S>  New H195:  for_all(i___1 : integer, result__index__subtype__1__first <= 
          i___1 and i___1 <= result__index__subtype__1__last -> 0 <= element(
          result, [i___1]) and element(result, [i___1]) <= 
          spark__unsigned__byte__last)
<S>  New H229:  for_all(i___1 : integer, result__index__subtype__1__first <= 
          i___1 and i___1 <= result__index__subtype__1__last -> 0 <= element(
          result__6, [i___1]) and element(result__6, [i___1]) <= 
          spark__unsigned__byte__last)
-S-  Applied substitution rule skein_512_fi_rules(55).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H7:  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 H40:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__3), [i___2]) and element(fld_b(local_ctx__3), [i___2]
          ) <= 255)
<S>  New H103:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__4), [i___2]) and element(fld_b(local_ctx__4), [i___2]
          ) <= 255)
<S>  New H141:  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(local_ctx__4), [i___1]) and element(fld_b(local_ctx__4), [i___1]
          ) <= 255)
<S>  New H163:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__5), [i___2]) and element(fld_b(local_ctx__5), [i___2]
          ) <= 255)
<S>  New H195:  for_all(i___1 : integer, result__index__subtype__1__first <= 
          i___1 and i___1 <= result__index__subtype__1__last -> 0 <= element(
          result, [i___1]) and element(result, [i___1]) <= 255)
<S>  New H229:  for_all(i___1 : integer, result__index__subtype__1__first <= 
          i___1 and i___1 <= result__index__subtype__1__last -> 0 <= element(
          result__6, [i___1]) and element(result__6, [i___1]) <= 255)
-S-  Applied substitution rule skein_512_fi_rules(60).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H20:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H53:  fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) >= 0
<S>  New H94:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) >= 0
<S>  New H176:  fld_reserved(fld_tweak_words(fld_h(local_ctx__5))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(61).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H21:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 65535
<S>  New H54:  fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) <= 65535
<S>  New H95:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) <= 65535
<S>  New H177:  fld_reserved(fld_tweak_words(fld_h(local_ctx__5))) <= 65535
-S-  Applied substitution rule skein_512_fi_rules(66).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H22:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H55:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) >= 0
<S>  New H96:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) >= 0
<S>  New H178:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__5))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(67).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H23:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 4294967295
<S>  New H56:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) <= 
          4294967295
<S>  New H97:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) <= 
          4294967295
<S>  New H179:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__5))) <= 
          4294967295
-S-  Applied substitution rule skein_512_fi_rules(72).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H8:  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 H24:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H34:  blocks_done >= 0
<S>  New H41:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__3), [i___1]) and element(fld_x(local_ctx__3), [i___1]
          ) <= spark__unsigned__u64__last)
<S>  New H57:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) >= 0
<S>  New H98:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) >= 0
<S>  New H104:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__4), [i___1]) and element(fld_x(local_ctx__4), [i___1]
          ) <= spark__unsigned__u64__last)
<S>  New H164:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__5), [i___1]) and element(fld_x(local_ctx__5), [i___1]
          ) <= spark__unsigned__u64__last)
<S>  New H180:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__5))) >= 0
<S>  New H230:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          x, [i___1]) and element(x, [i___1]) <= spark__unsigned__u64__last)
-S-  Applied substitution rule skein_512_fi_rules(73).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H25:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          18446744073709551615
<S>  New H35:  blocks_done <= 18446744073709551615
<S>  New H58:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) <= 
          18446744073709551615
<S>  New H99:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) <= 
          18446744073709551615
<S>  New H181:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__5))) <= 
          18446744073709551615
<S>  New H8:  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 H41:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__3), [i___1]) and element(fld_x(local_ctx__3), [i___1]
          ) <= 18446744073709551615)
<S>  New H104:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__4), [i___1]) and element(fld_x(local_ctx__4), [i___1]
          ) <= 18446744073709551615)
<S>  New H164:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__5), [i___1]) and element(fld_x(local_ctx__5), [i___1]
          ) <= 18446744073709551615)
<S>  New H230:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          x, [i___1]) and element(x, [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_fi_rules(83).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H11:  fld_hash_bit_len(fld_h(ctx)) >= 0
<S>  New H44:  fld_hash_bit_len(fld_h(local_ctx__3)) >= 0
<S>  New H85:  fld_hash_bit_len(fld_h(local_ctx__4)) >= 0
<S>  New H167:  fld_hash_bit_len(fld_h(local_ctx__5)) >= 0
-S-  Applied substitution rule skein_512_fi_rules(84).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H12:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H45:  fld_hash_bit_len(fld_h(local_ctx__3)) <= 2147483640
<S>  New H86:  fld_hash_bit_len(fld_h(local_ctx__4)) <= 2147483640
<S>  New H168:  fld_hash_bit_len(fld_h(local_ctx__5)) <= 2147483640
-S-  Applied substitution rule skein_512_fi_rules(88).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__first by:
          1.
<S>  New H26:  fld_hash_bit_len(fld_h(ctx)) >= 1
<S>  New H148:  fld_hash_bit_len(fld_h(local_ctx__4)) >= 1
<S>  New H157:  fld_hash_bit_len(fld_h(local_ctx__5)) >= 1
-S-  Applied substitution rule skein_512_fi_rules(89).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__last by:
          2147483640.
<S>  New H27:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H149:  fld_hash_bit_len(fld_h(local_ctx__4)) <= 2147483640
<S>  New H158:  fld_hash_bit_len(fld_h(local_ctx__5)) <= 2147483640
-S-  Applied substitution rule skein_512_fi_rules(93).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H224:  true
<S>  New H8:  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 H41:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(local_ctx__3)
          , [i___1]) and element(fld_x(local_ctx__3), [i___1]) <= 
          18446744073709551615)
<S>  New H104:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(local_ctx__4)
          , [i___1]) and element(fld_x(local_ctx__4), [i___1]) <= 
          18446744073709551615)
<S>  New H164:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(local_ctx__5)
          , [i___1]) and element(fld_x(local_ctx__5), [i___1]) <= 
          18446744073709551615)
<S>  New H230:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(x, [i___1]) and 
          element(x, [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_fi_rules(94).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H226:  true
<S>  New H8:  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 H41:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(local_ctx__3), [i___1]) and element(fld_x(local_ctx__3)
          , [i___1]) <= 18446744073709551615)
<S>  New H104:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(local_ctx__4), [i___1]) and element(fld_x(local_ctx__4)
          , [i___1]) <= 18446744073709551615)
<S>  New H164:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(local_ctx__5), [i___1]) and element(fld_x(local_ctx__5)
          , [i___1]) <= 18446744073709551615)
<S>  New H230:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(x, [i___1]) and element(x, [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_fi_rules(98).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__first by:
          0.
<S>  New H28:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H150:  fld_byte_count(fld_h(local_ctx__4)) >= 0
<S>  New H160:  fld_byte_count(fld_h(local_ctx__5)) >= 0
-S-  Applied substitution rule skein_512_fi_rules(99).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__last by:
          64.
<S>  New H29:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New H151:  fld_byte_count(fld_h(local_ctx__4)) <= 64
<S>  New H161:  fld_byte_count(fld_h(local_ctx__5)) <= 64
-S-  Applied substitution rule skein_512_fi_rules(103).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H152:  true
<S>  New H7:  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 H40:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(local_ctx__3)
          , [i___2]) and element(fld_b(local_ctx__3), [i___2]) <= 255)
<S>  New H103:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(local_ctx__4)
          , [i___2]) and element(fld_b(local_ctx__4), [i___2]) <= 255)
<S>  New H141:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(local_ctx__4)
          , [i___1]) and element(fld_b(local_ctx__4), [i___1]) <= 255)
<S>  New H163:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(local_ctx__5)
          , [i___2]) and element(fld_b(local_ctx__5), [i___2]) <= 255)
-S-  Applied substitution rule skein_512_fi_rules(104).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H153:  true
<S>  New H154:  true
<S>  New H155:  true
<S>  New H7:  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 H40:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(local_ctx__3), [i___2]) and element(fld_b(local_ctx__3)
          , [i___2]) <= 255)
<S>  New H103:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(local_ctx__4), [i___2]) and element(fld_b(local_ctx__4)
          , [i___2]) <= 255)
<S>  New H141:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 63 -> 0 <= 
          element(fld_b(local_ctx__4), [i___1]) and element(fld_b(local_ctx__4)
          , [i___1]) <= 255)
<S>  New H163:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(local_ctx__5), [i___2]) and element(fld_b(local_ctx__5)
          , [i___2]) <= 255)
-S-  Applied substitution rule skein_512_fi_rules(108).
     This was achieved by replacing all occurrences of 
          positive_block_512_count_t__first by:
          1.
<S>  New H144:  true
-S-  Applied substitution rule skein_512_fi_rules(109).
     This was achieved by replacing all occurrences of 
          positive_block_512_count_t__last by:
          33554431.
<S>  New H145:  true
-S-  Applied substitution rule skein_512_fi_rules(125).
     This was achieved by replacing all occurrences of 
          output_byte_count_t__first by:
          1.
<S>  New H184:  byte_count >= 1
-S-  Applied substitution rule skein_512_fi_rules(126).
     This was achieved by replacing all occurrences of 
          output_byte_count_t__last by:
          268435455.
<S>  New H185:  byte_count <= 268435455
-S-  Applied substitution rule skein_512_fi_rules(130).
     This was achieved by replacing all occurrences of 
          output_block_count_t__first by:
          0.
<S>  New H32:  blocks_done >= 0
<S>  New H233:  blocks_done >= - 1
-S-  Applied substitution rule skein_512_fi_rules(131).
     This was achieved by replacing all occurrences of 
          output_block_count_t__last by:
          4194304.
<S>  New H33:  blocks_done <= 4194304
<S>  New H234:  blocks_done <= 4194303
-S-  Applied substitution rule skein_512_fi_rules(135).
     This was achieved by replacing all occurrences of 
          positive_output_block_count_t__first by:
          1.
<S>  New H237:  blocks_required >= 1
-S-  Applied substitution rule skein_512_fi_rules(136).
     This was achieved by replacing all occurrences of 
          positive_output_block_count_t__last by:
          4194304.
<S>  New H238:  blocks_required <= 4194304
---  Eliminated hypothesis H13 (true-hypothesis).
---  Eliminated hypothesis H14 (true-hypothesis).
---  Eliminated hypothesis H17 (true-hypothesis).
---  Eliminated hypothesis H36 (true-hypothesis).
---  Eliminated hypothesis H37 (true-hypothesis).
---  Eliminated hypothesis H38 (true-hypothesis).
---  Eliminated hypothesis H46 (true-hypothesis).
---  Eliminated hypothesis H47 (true-hypothesis).
---  Eliminated hypothesis H50 (true-hypothesis).
---  Eliminated hypothesis H59 (true-hypothesis).
---  Eliminated hypothesis H60 (true-hypothesis).
---  Eliminated hypothesis H61 (true-hypothesis).
---  Eliminated hypothesis H62 (true-hypothesis).
---  Eliminated hypothesis H63 (true-hypothesis).
---  Eliminated hypothesis H64 (true-hypothesis).
---  Eliminated hypothesis H65 (true-hypothesis).
---  Eliminated hypothesis H66 (true-hypothesis).
---  Eliminated hypothesis H67 (true-hypothesis).
---  Eliminated hypothesis H68 (true-hypothesis).
---  Eliminated hypothesis H69 (true-hypothesis).
---  Eliminated hypothesis H70 (true-hypothesis).
---  Eliminated hypothesis H71 (true-hypothesis).
---  Eliminated hypothesis H72 (true-hypothesis).
---  Eliminated hypothesis H73 (true-hypothesis).
---  Eliminated hypothesis H74 (true-hypothesis).
---  Eliminated hypothesis H75 (true-hypothesis).
---  Eliminated hypothesis H76 (true-hypothesis).
---  Eliminated hypothesis H77 (true-hypothesis).
---  Eliminated hypothesis H87 (true-hypothesis).
---  Eliminated hypothesis H88 (true-hypothesis).
---  Eliminated hypothesis H91 (true-hypothesis).
---  Eliminated hypothesis H105 (true-hypothesis).
---  Eliminated hypothesis H106 (true-hypothesis).
---  Eliminated hypothesis H107 (true-hypothesis).
---  Eliminated hypothesis H108 (true-hypothesis).
---  Eliminated hypothesis H109 (true-hypothesis).
---  Eliminated hypothesis H110 (true-hypothesis).
---  Eliminated hypothesis H111 (true-hypothesis).
---  Eliminated hypothesis H112 (true-hypothesis).
---  Eliminated hypothesis H113 (true-hypothesis).
---  Eliminated hypothesis H114 (true-hypothesis).
---  Eliminated hypothesis H115 (true-hypothesis).
---  Eliminated hypothesis H116 (true-hypothesis).
---  Eliminated hypothesis H117 (true-hypothesis).
---  Eliminated hypothesis H118 (true-hypothesis).
---  Eliminated hypothesis H119 (true-hypothesis).
---  Eliminated hypothesis H120 (true-hypothesis).
---  Eliminated hypothesis H121 (true-hypothesis).
---  Eliminated hypothesis H122 (true-hypothesis).
---  Eliminated hypothesis H123 (true-hypothesis).
---  Eliminated hypothesis H124 (true-hypothesis).
---  Eliminated hypothesis H125 (true-hypothesis).
---  Eliminated hypothesis H126 (true-hypothesis).
---  Eliminated hypothesis H127 (true-hypothesis).
---  Eliminated hypothesis H128 (true-hypothesis).
---  Eliminated hypothesis H129 (true-hypothesis).
---  Eliminated hypothesis H130 (true-hypothesis).
---  Eliminated hypothesis H131 (true-hypothesis).
---  Eliminated hypothesis H132 (true-hypothesis).
---  Eliminated hypothesis H133 (true-hypothesis).
---  Eliminated hypothesis H134 (true-hypothesis).
---  Eliminated hypothesis H135 (true-hypothesis).
---  Eliminated hypothesis H136 (true-hypothesis).
---  Eliminated hypothesis H137 (true-hypothesis).
---  Eliminated hypothesis H138 (true-hypothesis).
---  Eliminated hypothesis H139 (true-hypothesis).
---  Eliminated hypothesis H140 (true-hypothesis).
---  Eliminated hypothesis H169 (true-hypothesis).
---  Eliminated hypothesis H170 (true-hypothesis).
---  Eliminated hypothesis H173 (true-hypothesis).
---  Eliminated hypothesis H182 (true-hypothesis).
---  Eliminated hypothesis H183 (true-hypothesis).
---  Eliminated hypothesis H190 (true-hypothesis).
---  Eliminated hypothesis H191 (true-hypothesis).
---  Eliminated hypothesis H196 (true-hypothesis).
---  Eliminated hypothesis H197 (true-hypothesis).
---  Eliminated hypothesis H198 (true-hypothesis).
---  Eliminated hypothesis H199 (true-hypothesis).
---  Eliminated hypothesis H200 (true-hypothesis).
---  Eliminated hypothesis H201 (true-hypothesis).
---  Eliminated hypothesis H202 (true-hypothesis).
---  Eliminated hypothesis H203 (true-hypothesis).
---  Eliminated hypothesis H204 (true-hypothesis).
---  Eliminated hypothesis H205 (true-hypothesis).
---  Eliminated hypothesis H206 (true-hypothesis).
---  Eliminated hypothesis H207 (true-hypothesis).
---  Eliminated hypothesis H208 (true-hypothesis).
---  Eliminated hypothesis H209 (true-hypothesis).
---  Eliminated hypothesis H210 (true-hypothesis).
---  Eliminated hypothesis H211 (true-hypothesis).
---  Eliminated hypothesis H212 (true-hypothesis).
---  Eliminated hypothesis H213 (true-hypothesis).
---  Eliminated hypothesis H214 (true-hypothesis).
---  Eliminated hypothesis H215 (true-hypothesis).
---  Eliminated hypothesis H216 (true-hypothesis).
---  Eliminated hypothesis H217 (true-hypothesis).
---  Eliminated hypothesis H218 (true-hypothesis).
---  Eliminated hypothesis H219 (true-hypothesis).
---  Eliminated hypothesis H220 (true-hypothesis).
---  Eliminated hypothesis H223 (true-hypothesis).
---  Eliminated hypothesis H227 (true-hypothesis).
---  Eliminated hypothesis H228 (true-hypothesis).
---  Eliminated hypothesis H231 (true-hypothesis).
---  Eliminated hypothesis H232 (true-hypothesis).
---  Eliminated hypothesis H235 (true-hypothesis).
---  Eliminated hypothesis H236 (true-hypothesis).
---  Eliminated hypothesis H142 (true-hypothesis).
---  Eliminated hypothesis H146 (true-hypothesis).
---  Eliminated hypothesis H193 (true-hypothesis).
---  Eliminated hypothesis H143 (true-hypothesis).
---  Eliminated hypothesis H147 (true-hypothesis).
---  Eliminated hypothesis H156 (true-hypothesis).
---  Eliminated hypothesis H194 (true-hypothesis).
---  Eliminated hypothesis H78 (true-hypothesis).
---  Eliminated hypothesis H79 (true-hypothesis).
---  Eliminated hypothesis H224 (true-hypothesis).
---  Eliminated hypothesis H226 (true-hypothesis).
---  Eliminated hypothesis H152 (true-hypothesis).
---  Eliminated hypothesis H153 (true-hypothesis).
---  Eliminated hypothesis H154 (true-hypothesis).
---  Eliminated hypothesis H155 (true-hypothesis).
---  Eliminated hypothesis H144 (true-hypothesis).
---  Eliminated hypothesis H145 (true-hypothesis).
---  Eliminated hypothesis H222 (duplicate of H189).
---  Eliminated hypothesis H28 (duplicate of H9).
---  Eliminated hypothesis H150 (duplicate of H83).
---  Eliminated hypothesis H27 (duplicate of H12).
---  Eliminated hypothesis H149 (duplicate of H86).
---  Eliminated hypothesis H168 (duplicate of H158).
---  Eliminated hypothesis H165 (duplicate of H160).
---  Eliminated hypothesis H34 (duplicate of H32).
---  Eliminated hypothesis H3 (redundant, given H192).
---  Eliminated hypothesis H4 (redundant, given H225).
---  Eliminated hypothesis H5 (redundant, given H239).
---  Eliminated hypothesis H10 (redundant, given H29).
---  Eliminated hypothesis H11 (redundant, given H26).
---  Eliminated hypothesis H32 (redundant, given H221).
---  Eliminated hypothesis H33 (redundant, given H234).
---  Eliminated hypothesis H35 (redundant, given H189).
---  Eliminated hypothesis H44 (redundant, given H39).
---  Eliminated hypothesis H83 (redundant, given H82).
---  Eliminated hypothesis H84 (redundant, given H82).
---  Eliminated hypothesis H85 (redundant, given H148).
---  Eliminated hypothesis H151 (redundant, given H82).
---  Eliminated hypothesis H166 (redundant, given H161).
---  Eliminated hypothesis H167 (redundant, given H157).
---  Eliminated hypothesis H186 (redundant, given H192).
---  Eliminated hypothesis H188 (redundant, given H221).
---  Eliminated hypothesis H189 (redundant, given H234).
---  Eliminated hypothesis H233 (redundant, given H221).
-S-  Eliminated hypothesis H6.
     This was achieved by replacing all occurrences of blocks_required by:
          (byte_count + 63) div 64.
<S>  New H239:  blocks_done + 1 < (byte_count + 63) div 64
<S>  New H237:  (byte_count + 63) div 64 >= 1
<S>  New H238:  (byte_count + 63) div 64 <= 4194304
-S-  Substituted hypothesis H81.
     This was achieved by replacing all occurrences of fld_hash_bit_len(fld_h(
          local_ctx__4)) by:
          fld_hash_bit_len(fld_h(local_ctx__3)).
-S-  Substituted hypothesis H100.
     This was achieved by replacing all occurrences of fld_x(local_ctx__4) by:
          fld_x(local_ctx__3).
-S-  Substituted hypothesis H101.
     This was achieved by replacing all occurrences of fld_b(local_ctx__4) by:
          fld_b(local_ctx__3).
-S-  Substituted hypothesis H162.
     This was achieved by replacing all occurrences of fld_byte_count(fld_h(
          local_ctx__5)) by:
          fld_byte_count(fld_h(local_ctx__4)).
-S-  Substituted hypothesis H159.
     This was achieved by replacing all occurrences of fld_hash_bit_len(fld_h(
          local_ctx__5)) by:
          fld_hash_bit_len(fld_h(local_ctx__3)).
     +++  New H240:  integer__size >= 0
     +++  New H241:  natural__size >= 0
     +++  New H242:  spark__unsigned__u6__size >= 0
     +++  New H243:  spark__unsigned__u7__size >= 0
     +++  New H244:  spark__unsigned__byte__size >= 0
     +++  New H245:  spark__unsigned__u16__size >= 0
     +++  New H246:  spark__unsigned__u32__size >= 0
     +++  New H247:  spark__unsigned__u64__size >= 0
     +++  New H248:  spark__crypto__word_count_t__size >= 0
     +++  New H249:  hash_bit_length__size >= 0
     +++  New H250:  initialized_hash_bit_length__size >= 0
     +++  New H251:  skein_512_state_words_index__size >= 0
     +++  New H252:  skein_512_block_bytes_count__size >= 0
     +++  New H253:  skein_512_block_bytes_index__size >= 0
     +++  New H254:  positive_block_512_count_t__size >= 0
     +++  New H255:  skein_512_context__size >= 0
     +++  New H256:  result__index__subtype__1__first <= 
          result__index__subtype__1__last
     +++  New H257:  context_header__size >= 0
     +++  New H258:  output_byte_count_t__size >= 0
     +++  New H259:  output_block_count_t__size >= 0
     +++  New H260:  positive_output_block_count_t__size >= 0
     +++  New H261:  result__index__subtype__1__first >= 0
     +++  New H262:  result__index__subtype__1__last >= 0
     +++  New H263:  result__index__subtype__1__last <= 2147483647
     +++  New H264:  result__index__subtype__1__first <= 2147483647


@@@@@@@@@@  VC: procedure_skein_512_final_21.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  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 H8 on reading formula in, to give:
     %%%  H8:  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)
---  Hypothesis H36 has been replaced by "true".  (It is already present, as H1)
          .
---  Hypothesis H37 has been replaced by "true".  (It is already present, as 
          H34).
---  Hypothesis H38 has been replaced by "true".  (It is already present, as 
          H35).
%%%  Simplified H40 on reading formula in, to give:
     %%%  H40:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx__3), [i___2]) 
          and element(fld_b(local_ctx__3), [i___2]) <= 
          spark__unsigned__byte__last)
%%%  Simplified H41 on reading formula in, to give:
     %%%  H41:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx__3), [i___1]) 
          and element(fld_x(local_ctx__3), [i___1]) <= 
          spark__unsigned__u64__last)
---  Hypothesis H59 has been replaced by "true".  (It is already present, as 
          H40).
---  Hypothesis H60 has been replaced by "true".  (It is already present, as 
          H41).
---  Hypothesis H61 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H62 has been replaced by "true".  (It is already present, as 
          H43).
---  Hypothesis H63 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H64 has been replaced by "true".  (It is already present, as 
          H45).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H48).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H49).
---  Hypothesis H70 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H71 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H72 has been replaced by "true".  (It is already present, as 
          H53).
---  Hypothesis H73 has been replaced by "true".  (It is already present, as 
          H54).
---  Hypothesis H74 has been replaced by "true".  (It is already present, as 
          H55).
---  Hypothesis H75 has been replaced by "true".  (It is already present, as 
          H56).
---  Hypothesis H76 has been replaced by "true".  (It is already present, as 
          H57).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H58).
%%%  Simplified H80 on reading formula in, to give:
     %%%  H80:  fld_h(local_ctx__4) = upf_tweak_words(upf_byte_count(fld_h(
          local_ctx__3), 0), mk__tweak_value(byte_count_lsb := 0, 
          byte_count_msb := 0, reserved := 0, tree_level := 0, bit_pad := 
          false, field_type := skein_block_type_out, first_block := true, 
          final_block := true))
%%%  Simplified H103 on reading formula in, to give:
     %%%  H103:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx__4), [i___2]) 
          and element(fld_b(local_ctx__4), [i___2]) <= 
          spark__unsigned__byte__last)
%%%  Simplified H104 on reading formula in, to give:
     %%%  H104:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx__4), [i___1]) 
          and element(fld_x(local_ctx__4), [i___1]) <= 
          spark__unsigned__u64__last)
---  Hypothesis H105 has been replaced by "true".  (It is already present, as 
          H83).
---  Hypothesis H106 has been replaced by "true".  (It is already present, as 
          H84).
---  Hypothesis H107 has been replaced by "true".  (It is already present, as 
          H85).
---  Hypothesis H108 has been replaced by "true".  (It is already present, as 
          H86).
---  Hypothesis H111 has been replaced by "true".  (It is already present, as 
          H89).
---  Hypothesis H112 has been replaced by "true".  (It is already present, as 
          H90).
---  Hypothesis H114 has been replaced by "true".  (It is already present, as 
          H92).
---  Hypothesis H115 has been replaced by "true".  (It is already present, as 
          H93).
---  Hypothesis H116 has been replaced by "true".  (It is already present, as 
          H94).
---  Hypothesis H117 has been replaced by "true".  (It is already present, as 
          H95).
---  Hypothesis H118 has been replaced by "true".  (It is already present, as 
          H96).
---  Hypothesis H119 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H120 has been replaced by "true".  (It is already present, as 
          H98).
---  Hypothesis H121 has been replaced by "true".  (It is already present, as 
          H99).
---  Hypothesis H122 has been replaced by "true".  (It is already present, as 
          H103).
---  Hypothesis H123 has been replaced by "true".  (It is already present, as 
          H104).
---  Hypothesis H124 has been replaced by "true".  (It is already present, as 
          H83).
---  Hypothesis H125 has been replaced by "true".  (It is already present, as 
          H84).
---  Hypothesis H126 has been replaced by "true".  (It is already present, as 
          H85).
---  Hypothesis H127 has been replaced by "true".  (It is already present, as 
          H86).
---  Hypothesis H130 has been replaced by "true".  (It is already present, as 
          H89).
---  Hypothesis H131 has been replaced by "true".  (It is already present, as 
          H90).
---  Hypothesis H133 has been replaced by "true".  (It is already present, as 
          H92).
---  Hypothesis H134 has been replaced by "true".  (It is already present, as 
          H93).
---  Hypothesis H135 has been replaced by "true".  (It is already present, as 
          H94).
---  Hypothesis H136 has been replaced by "true".  (It is already present, as 
          H95).
---  Hypothesis H137 has been replaced by "true".  (It is already present, as 
          H96).
---  Hypothesis H138 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H139 has been replaced by "true".  (It is already present, as 
          H98).
---  Hypothesis H140 has been replaced by "true".  (It is already present, as 
          H99).
%%%  Simplified H141 on reading formula in, to give:
     %%%  H141:  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(local_ctx__4), [i___1]) 
          and element(fld_b(local_ctx__4), [i___1]) <= 
          spark__unsigned__byte__last)
%%%  Simplified H153 on reading formula in, to give:
     %%%  H153:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H154 on reading formula in, to give:
     %%%  H154:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H156 on reading formula in, to give:
     %%%  H156:  63 <= natural__last
%%%  Simplified H163 on reading formula in, to give:
     %%%  H163:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx__5), [i___2]) 
          and element(fld_b(local_ctx__5), [i___2]) <= 
          spark__unsigned__byte__last)
%%%  Simplified H164 on reading formula in, to give:
     %%%  H164:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx__5), [i___1]) 
          and element(fld_x(local_ctx__5), [i___1]) <= 
          spark__unsigned__u64__last)
---  Hypothesis H182 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H183 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H190 has been replaced by "true".  (It is already present, as 
          H186).
---  Hypothesis H191 has been replaced by "true".  (It is already present, as 
          H187).
%%%  Simplified H193 on reading formula in, to give:
     %%%  H193:  for_all(i___1 : integer, result__index__subtype__1__first <= 
          i___1 and i___1 <= result__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(result, [i___1]) and element(
          result, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H194 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H195 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H196 has been replaced by "true".  (It is already present, as 
          H163).
---  Hypothesis H197 has been replaced by "true".  (It is already present, as 
          H164).
---  Hypothesis H198 has been replaced by "true".  (It is already present, as 
          H165).
---  Hypothesis H199 has been replaced by "true".  (It is already present, as 
          H166).
---  Hypothesis H200 has been replaced by "true".  (It is already present, as 
          H167).
---  Hypothesis H201 has been replaced by "true".  (It is already present, as 
          H168).
---  Hypothesis H204 has been replaced by "true".  (It is already present, as 
          H171).
---  Hypothesis H205 has been replaced by "true".  (It is already present, as 
          H172).
---  Hypothesis H207 has been replaced by "true".  (It is already present, as 
          H174).
---  Hypothesis H208 has been replaced by "true".  (It is already present, as 
          H175).
---  Hypothesis H209 has been replaced by "true".  (It is already present, as 
          H176).
---  Hypothesis H210 has been replaced by "true".  (It is already present, as 
          H177).
---  Hypothesis H211 has been replaced by "true".  (It is already present, as 
          H178).
---  Hypothesis H212 has been replaced by "true".  (It is already present, as 
          H179).
---  Hypothesis H213 has been replaced by "true".  (It is already present, as 
          H180).
---  Hypothesis H214 has been replaced by "true".  (It is already present, as 
          H181).
---  Hypothesis H215 has been replaced by "true".  (It is already present, as 
          H186).
---  Hypothesis H216 has been replaced by "true".  (It is already present, as 
          H187).
---  Hypothesis H217 has been replaced by "true".  (It is already present, as 
          H186).
---  Hypothesis H218 has been replaced by "true".  (It is already present, as 
          H187).
---  Hypothesis H221 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H225 has been replaced by "true".  (It is already present, as 
          H188).
---  Hypothesis H226 has been replaced by "true".  (It is already present, as 
          H189).
%%%  Simplified H227 on reading formula in, to give:
     %%%  H227:  for_all(i___1 : integer, result__index__subtype__1__first <= 
          i___1 and i___1 <= result__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(result__6, [i___1]) and 
          element(result__6, [i___1]) <= spark__unsigned__byte__last)
%%%  Simplified H228 on reading formula in, to give:
     %%%  H228:  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(x, [i___1]) and element(x, [
          i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H229 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H230 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H233 has been replaced by "true".  (It is already present, as 
          H231).
---  Hypothesis H234 has been replaced by "true".  (It is already present, as 
          H232).
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  fld_hash_bit_len(fld_h(local_ctx__5)) > 0
%%%  Simplified C7 on reading formula in, to give:
     %%%  C7:  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 C8 on reading formula in, to give:
     %%%  C8:  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)
***  Proved C1:  fld_hash_bit_len(fld_h(local_ctx__5)) > 0
     using hypotheses H39, H81 & H159.
***  Proved C2:  byte_count <= result__index__subtype__1__last + 1
     using hypothesis H2.
***  Proved C5:  blocks_done + 1 < blocks_required
     using hypothesis H237.
***  Proved C6:  blocks_required = (byte_count + 63) div 64
     using hypothesis H6.
***  Proved C7:  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)
     using hypothesis H7.
***  Proved C8:  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)
     using hypothesis H8.
***  Proved C9:  fld_byte_count(fld_h(ctx)) >= natural__first
     using hypothesis H9.
***  Proved C10:  fld_byte_count(fld_h(ctx)) <= natural__last
     using hypothesis H10.
***  Proved C11:  fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first
     using hypothesis H11.
***  Proved C12:  fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last
     using hypothesis H12.
***  Proved C13:  true
***  Proved C14:  true
***  Proved C15:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u6__first
     using hypothesis H15.
***  Proved C16:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u6__last
     using hypothesis H16.
***  Proved C17:  true
***  Proved C18:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u7__first
     using hypothesis H18.
***  Proved C19:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u7__last
     using hypothesis H19.
***  Proved C20:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u16__first
     using hypothesis H20.
***  Proved C21:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u16__last
     using hypothesis H21.
***  Proved C22:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u32__first
     using hypothesis H22.
***  Proved C23:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u32__last
     using hypothesis H23.
***  Proved C24:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
          spark__unsigned__u64__first
     using hypothesis H24.
***  Proved C25:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          spark__unsigned__u64__last
     using hypothesis H25.
***  Proved C26:  fld_hash_bit_len(fld_h(ctx)) >= 
          initialized_hash_bit_length__first
     using hypothesis H26.
***  Proved C27:  fld_hash_bit_len(fld_h(ctx)) <= 
          initialized_hash_bit_length__last
     using hypothesis H27.
***  Proved C28:  fld_byte_count(fld_h(ctx)) >= 
          skein_512_block_bytes_count__first
     using hypothesis H28.
***  Proved C29:  fld_byte_count(fld_h(ctx)) <= 
          skein_512_block_bytes_count__last
     using hypothesis H29.
***  Proved C30:  result__index__subtype__1__first = 0
     using hypothesis H30.
***  Proved C31:  (fld_hash_bit_len(fld_h(ctx)) + 7) div 8 <= 
          result__index__subtype__1__last + 1
     using hypothesis H31.
>>>  Restructured hypothesis H192 into:
     >>>  H192:  byte_count - blocks_done * skein_512_block_bytes_c < 
          skein_512_block_bytes_c
>>>  Restructured hypothesis H237 into:
     >>>  H237:  blocks_done + 1 < blocks_required
-S-  Applied substitution rule skein_512_fi_rules(1).
     This was achieved by replacing all occurrences of skein_512_block_bytes_c 
          by:
          64.
<S>  New H3:  blocks_done * 64 < byte_count
<S>  New H4:  blocks_done * 64 < result__index__subtype__1__last + 1
<S>  New H186:  byte_count - blocks_done * 64 >= natural__first
<S>  New H187:  byte_count - blocks_done * 64 <= natural__last
<S>  New H188:  blocks_done * 64 >= integer__base__first
<S>  New H189:  blocks_done * 64 <= integer__base__last
<S>  New H192:  byte_count - blocks_done * 64 < 64
<S>  New H219:  blocks_done * 64 >= natural__first
<S>  New H220:  blocks_done * 64 <= natural__last
<S>  New H223:  result__index__subtype__1__last >= blocks_done * 64 + (
          byte_count - blocks_done * 64 - 1)
<S>  New H224:  byte_count - blocks_done * 64 <= (
          skein_512_state_words_index__last + 1) * 8
<S>  New C3:  (blocks_done + 1) * 64 < byte_count
<S>  New C4:  (blocks_done + 1) * 64 < result__index__subtype__1__last + 1
-S-  Applied substitution rule skein_512_fi_rules(2).
     This was achieved by replacing all occurrences of skein_block_type_out by:
          63.
<S>  New H78:  63 >= spark__unsigned__u6__first
<S>  New H79:  63 <= spark__unsigned__u6__last
<S>  New H80:  fld_h(local_ctx__4) = upf_tweak_words(upf_byte_count(fld_h(
          local_ctx__3), 0), mk__tweak_value(byte_count_lsb := 0, 
          byte_count_msb := 0, reserved := 0, tree_level := 0, bit_pad := 
          false, field_type := 63, first_block := true, final_block := true))
-S-  Applied substitution rule skein_512_fi_rules(6).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H188:  blocks_done * 64 >= - 2147483648
-S-  Applied substitution rule skein_512_fi_rules(7).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H189:  blocks_done * 64 <= 2147483647
-S-  Applied substitution rule skein_512_fi_rules(9).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H9:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H42:  fld_byte_count(fld_h(local_ctx__3)) >= 0
<S>  New H83:  fld_byte_count(fld_h(local_ctx__4)) >= 0
<S>  New H142:  true
<S>  New H146:  true
<S>  New H165:  fld_byte_count(fld_h(local_ctx__5)) >= 0
<S>  New H186:  byte_count - blocks_done * 64 >= 0
<S>  New H219:  blocks_done * 64 >= 0
-S-  Applied substitution rule skein_512_fi_rules(10).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H10:  fld_byte_count(fld_h(ctx)) <= 2147483647
<S>  New H43:  fld_byte_count(fld_h(local_ctx__3)) <= 2147483647
<S>  New H84:  fld_byte_count(fld_h(local_ctx__4)) <= 2147483647
<S>  New H143:  true
<S>  New H147:  true
<S>  New H155:  skein_512_block_bytes_index__last <= 2147483647
<S>  New H156:  true
<S>  New H166:  fld_byte_count(fld_h(local_ctx__5)) <= 2147483647
<S>  New H187:  byte_count - blocks_done * 64 <= 2147483647
<S>  New H220:  blocks_done * 64 <= 2147483647
-S-  Applied substitution rule skein_512_fi_rules(42).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H15:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H48:  fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) >= 0
<S>  New H89:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) >= 0
<S>  New H171:  fld_field_type(fld_tweak_words(fld_h(local_ctx__5))) >= 0
<S>  New H78:  true
-S-  Applied substitution rule skein_512_fi_rules(43).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H16:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 63
<S>  New H49:  fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) <= 63
<S>  New H90:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) <= 63
<S>  New H172:  fld_field_type(fld_tweak_words(fld_h(local_ctx__5))) <= 63
<S>  New H79:  true
-S-  Applied substitution rule skein_512_fi_rules(48).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H18:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H51:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) >= 0
<S>  New H92:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) >= 0
<S>  New H174:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__5))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(49).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H19:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 127
<S>  New H52:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) <= 127
<S>  New H93:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) <= 127
<S>  New H175:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__5))) <= 127
-S-  Applied substitution rule skein_512_fi_rules(54).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H7:  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 H40:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__3), [i___2]) and element(fld_b(local_ctx__3), [i___2]
          ) <= spark__unsigned__byte__last)
<S>  New H103:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__4), [i___2]) and element(fld_b(local_ctx__4), [i___2]
          ) <= spark__unsigned__byte__last)
<S>  New H141:  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(local_ctx__4), [i___1]) and element(fld_b(local_ctx__4), [i___1]
          ) <= spark__unsigned__byte__last)
<S>  New H163:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__5), [i___2]) and element(fld_b(local_ctx__5), [i___2]
          ) <= spark__unsigned__byte__last)
<S>  New H193:  for_all(i___1 : integer, result__index__subtype__1__first <= 
          i___1 and i___1 <= result__index__subtype__1__last -> 0 <= element(
          result, [i___1]) and element(result, [i___1]) <= 
          spark__unsigned__byte__last)
<S>  New H227:  for_all(i___1 : integer, result__index__subtype__1__first <= 
          i___1 and i___1 <= result__index__subtype__1__last -> 0 <= element(
          result__6, [i___1]) and element(result__6, [i___1]) <= 
          spark__unsigned__byte__last)
-S-  Applied substitution rule skein_512_fi_rules(55).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H7:  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 H40:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__3), [i___2]) and element(fld_b(local_ctx__3), [i___2]
          ) <= 255)
<S>  New H103:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__4), [i___2]) and element(fld_b(local_ctx__4), [i___2]
          ) <= 255)
<S>  New H141:  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(local_ctx__4), [i___1]) and element(fld_b(local_ctx__4), [i___1]
          ) <= 255)
<S>  New H163:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__5), [i___2]) and element(fld_b(local_ctx__5), [i___2]
          ) <= 255)
<S>  New H193:  for_all(i___1 : integer, result__index__subtype__1__first <= 
          i___1 and i___1 <= result__index__subtype__1__last -> 0 <= element(
          result, [i___1]) and element(result, [i___1]) <= 255)
<S>  New H227:  for_all(i___1 : integer, result__index__subtype__1__first <= 
          i___1 and i___1 <= result__index__subtype__1__last -> 0 <= element(
          result__6, [i___1]) and element(result__6, [i___1]) <= 255)
-S-  Applied substitution rule skein_512_fi_rules(60).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H20:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H53:  fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) >= 0
<S>  New H94:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) >= 0
<S>  New H176:  fld_reserved(fld_tweak_words(fld_h(local_ctx__5))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(61).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H21:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 65535
<S>  New H54:  fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) <= 65535
<S>  New H95:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) <= 65535
<S>  New H177:  fld_reserved(fld_tweak_words(fld_h(local_ctx__5))) <= 65535
-S-  Applied substitution rule skein_512_fi_rules(66).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H22:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H55:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) >= 0
<S>  New H96:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) >= 0
<S>  New H178:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__5))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(67).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H23:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 4294967295
<S>  New H56:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) <= 
          4294967295
<S>  New H97:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) <= 
          4294967295
<S>  New H179:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__5))) <= 
          4294967295
-S-  Applied substitution rule skein_512_fi_rules(72).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H8:  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 H24:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H34:  blocks_done >= 0
<S>  New H41:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__3), [i___1]) and element(fld_x(local_ctx__3), [i___1]
          ) <= spark__unsigned__u64__last)
<S>  New H57:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) >= 0
<S>  New H98:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) >= 0
<S>  New H104:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__4), [i___1]) and element(fld_x(local_ctx__4), [i___1]
          ) <= spark__unsigned__u64__last)
<S>  New H164:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__5), [i___1]) and element(fld_x(local_ctx__5), [i___1]
          ) <= spark__unsigned__u64__last)
<S>  New H180:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__5))) >= 0
<S>  New H228:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          x, [i___1]) and element(x, [i___1]) <= spark__unsigned__u64__last)
-S-  Applied substitution rule skein_512_fi_rules(73).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H25:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          18446744073709551615
<S>  New H35:  blocks_done <= 18446744073709551615
<S>  New H58:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) <= 
          18446744073709551615
<S>  New H99:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) <= 
          18446744073709551615
<S>  New H181:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__5))) <= 
          18446744073709551615
<S>  New H8:  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 H41:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__3), [i___1]) and element(fld_x(local_ctx__3), [i___1]
          ) <= 18446744073709551615)
<S>  New H104:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__4), [i___1]) and element(fld_x(local_ctx__4), [i___1]
          ) <= 18446744073709551615)
<S>  New H164:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__5), [i___1]) and element(fld_x(local_ctx__5), [i___1]
          ) <= 18446744073709551615)
<S>  New H228:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          x, [i___1]) and element(x, [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_fi_rules(83).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H11:  fld_hash_bit_len(fld_h(ctx)) >= 0
<S>  New H44:  fld_hash_bit_len(fld_h(local_ctx__3)) >= 0
<S>  New H85:  fld_hash_bit_len(fld_h(local_ctx__4)) >= 0
<S>  New H167:  fld_hash_bit_len(fld_h(local_ctx__5)) >= 0
-S-  Applied substitution rule skein_512_fi_rules(84).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H12:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H45:  fld_hash_bit_len(fld_h(local_ctx__3)) <= 2147483640
<S>  New H86:  fld_hash_bit_len(fld_h(local_ctx__4)) <= 2147483640
<S>  New H168:  fld_hash_bit_len(fld_h(local_ctx__5)) <= 2147483640
-S-  Applied substitution rule skein_512_fi_rules(88).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__first by:
          1.
<S>  New H26:  fld_hash_bit_len(fld_h(ctx)) >= 1
<S>  New H148:  fld_hash_bit_len(fld_h(local_ctx__4)) >= 1
<S>  New H157:  fld_hash_bit_len(fld_h(local_ctx__5)) >= 1
-S-  Applied substitution rule skein_512_fi_rules(89).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__last by:
          2147483640.
<S>  New H27:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H149:  fld_hash_bit_len(fld_h(local_ctx__4)) <= 2147483640
<S>  New H158:  fld_hash_bit_len(fld_h(local_ctx__5)) <= 2147483640
-S-  Applied substitution rule skein_512_fi_rules(93).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H222:  true
<S>  New H8:  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 H41:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(local_ctx__3)
          , [i___1]) and element(fld_x(local_ctx__3), [i___1]) <= 
          18446744073709551615)
<S>  New H104:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(local_ctx__4)
          , [i___1]) and element(fld_x(local_ctx__4), [i___1]) <= 
          18446744073709551615)
<S>  New H164:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(local_ctx__5)
          , [i___1]) and element(fld_x(local_ctx__5), [i___1]) <= 
          18446744073709551615)
<S>  New H228:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(x, [i___1]) and 
          element(x, [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_fi_rules(94).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H224:  byte_count - blocks_done * 64 <= 64
<S>  New H8:  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 H41:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(local_ctx__3), [i___1]) and element(fld_x(local_ctx__3)
          , [i___1]) <= 18446744073709551615)
<S>  New H104:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(local_ctx__4), [i___1]) and element(fld_x(local_ctx__4)
          , [i___1]) <= 18446744073709551615)
<S>  New H164:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(local_ctx__5), [i___1]) and element(fld_x(local_ctx__5)
          , [i___1]) <= 18446744073709551615)
<S>  New H228:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(x, [i___1]) and element(x, [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_fi_rules(98).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__first by:
          0.
<S>  New H28:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H150:  fld_byte_count(fld_h(local_ctx__4)) >= 0
<S>  New H160:  fld_byte_count(fld_h(local_ctx__5)) >= 0
-S-  Applied substitution rule skein_512_fi_rules(99).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__last by:
          64.
<S>  New H29:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New H151:  fld_byte_count(fld_h(local_ctx__4)) <= 64
<S>  New H161:  fld_byte_count(fld_h(local_ctx__5)) <= 64
-S-  Applied substitution rule skein_512_fi_rules(103).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H152:  true
<S>  New H7:  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 H40:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(local_ctx__3)
          , [i___2]) and element(fld_b(local_ctx__3), [i___2]) <= 255)
<S>  New H103:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(local_ctx__4)
          , [i___2]) and element(fld_b(local_ctx__4), [i___2]) <= 255)
<S>  New H141:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(local_ctx__4)
          , [i___1]) and element(fld_b(local_ctx__4), [i___1]) <= 255)
<S>  New H163:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(local_ctx__5)
          , [i___2]) and element(fld_b(local_ctx__5), [i___2]) <= 255)
-S-  Applied substitution rule skein_512_fi_rules(104).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H153:  true
<S>  New H154:  true
<S>  New H155:  true
<S>  New H7:  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 H40:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(local_ctx__3), [i___2]) and element(fld_b(local_ctx__3)
          , [i___2]) <= 255)
<S>  New H103:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(local_ctx__4), [i___2]) and element(fld_b(local_ctx__4)
          , [i___2]) <= 255)
<S>  New H141:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 63 -> 0 <= 
          element(fld_b(local_ctx__4), [i___1]) and element(fld_b(local_ctx__4)
          , [i___1]) <= 255)
<S>  New H163:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(local_ctx__5), [i___2]) and element(fld_b(local_ctx__5)
          , [i___2]) <= 255)
-S-  Applied substitution rule skein_512_fi_rules(108).
     This was achieved by replacing all occurrences of 
          positive_block_512_count_t__first by:
          1.
<S>  New H144:  true
-S-  Applied substitution rule skein_512_fi_rules(109).
     This was achieved by replacing all occurrences of 
          positive_block_512_count_t__last by:
          33554431.
<S>  New H145:  true
-S-  Applied substitution rule skein_512_fi_rules(125).
     This was achieved by replacing all occurrences of 
          output_byte_count_t__first by:
          1.
<S>  New H184:  byte_count >= 1
-S-  Applied substitution rule skein_512_fi_rules(126).
     This was achieved by replacing all occurrences of 
          output_byte_count_t__last by:
          268435455.
<S>  New H185:  byte_count <= 268435455
-S-  Applied substitution rule skein_512_fi_rules(130).
     This was achieved by replacing all occurrences of 
          output_block_count_t__first by:
          0.
<S>  New H32:  blocks_done >= 0
<S>  New H231:  blocks_done >= - 1
-S-  Applied substitution rule skein_512_fi_rules(131).
     This was achieved by replacing all occurrences of 
          output_block_count_t__last by:
          4194304.
<S>  New H33:  blocks_done <= 4194304
<S>  New H232:  blocks_done <= 4194303
-S-  Applied substitution rule skein_512_fi_rules(135).
     This was achieved by replacing all occurrences of 
          positive_output_block_count_t__first by:
          1.
<S>  New H235:  blocks_required >= 1
-S-  Applied substitution rule skein_512_fi_rules(136).
     This was achieved by replacing all occurrences of 
          positive_output_block_count_t__last by:
          4194304.
<S>  New H236:  blocks_required <= 4194304
---  Eliminated hypothesis H13 (true-hypothesis).
---  Eliminated hypothesis H14 (true-hypothesis).
---  Eliminated hypothesis H17 (true-hypothesis).
---  Eliminated hypothesis H36 (true-hypothesis).
---  Eliminated hypothesis H37 (true-hypothesis).
---  Eliminated hypothesis H38 (true-hypothesis).
---  Eliminated hypothesis H46 (true-hypothesis).
---  Eliminated hypothesis H47 (true-hypothesis).
---  Eliminated hypothesis H50 (true-hypothesis).
---  Eliminated hypothesis H59 (true-hypothesis).
---  Eliminated hypothesis H60 (true-hypothesis).
---  Eliminated hypothesis H61 (true-hypothesis).
---  Eliminated hypothesis H62 (true-hypothesis).
---  Eliminated hypothesis H63 (true-hypothesis).
---  Eliminated hypothesis H64 (true-hypothesis).
---  Eliminated hypothesis H65 (true-hypothesis).
---  Eliminated hypothesis H66 (true-hypothesis).
---  Eliminated hypothesis H67 (true-hypothesis).
---  Eliminated hypothesis H68 (true-hypothesis).
---  Eliminated hypothesis H69 (true-hypothesis).
---  Eliminated hypothesis H70 (true-hypothesis).
---  Eliminated hypothesis H71 (true-hypothesis).
---  Eliminated hypothesis H72 (true-hypothesis).
---  Eliminated hypothesis H73 (true-hypothesis).
---  Eliminated hypothesis H74 (true-hypothesis).
---  Eliminated hypothesis H75 (true-hypothesis).
---  Eliminated hypothesis H76 (true-hypothesis).
---  Eliminated hypothesis H77 (true-hypothesis).
---  Eliminated hypothesis H87 (true-hypothesis).
---  Eliminated hypothesis H88 (true-hypothesis).
---  Eliminated hypothesis H91 (true-hypothesis).
---  Eliminated hypothesis H105 (true-hypothesis).
---  Eliminated hypothesis H106 (true-hypothesis).
---  Eliminated hypothesis H107 (true-hypothesis).
---  Eliminated hypothesis H108 (true-hypothesis).
---  Eliminated hypothesis H109 (true-hypothesis).
---  Eliminated hypothesis H110 (true-hypothesis).
---  Eliminated hypothesis H111 (true-hypothesis).
---  Eliminated hypothesis H112 (true-hypothesis).
---  Eliminated hypothesis H113 (true-hypothesis).
---  Eliminated hypothesis H114 (true-hypothesis).
---  Eliminated hypothesis H115 (true-hypothesis).
---  Eliminated hypothesis H116 (true-hypothesis).
---  Eliminated hypothesis H117 (true-hypothesis).
---  Eliminated hypothesis H118 (true-hypothesis).
---  Eliminated hypothesis H119 (true-hypothesis).
---  Eliminated hypothesis H120 (true-hypothesis).
---  Eliminated hypothesis H121 (true-hypothesis).
---  Eliminated hypothesis H122 (true-hypothesis).
---  Eliminated hypothesis H123 (true-hypothesis).
---  Eliminated hypothesis H124 (true-hypothesis).
---  Eliminated hypothesis H125 (true-hypothesis).
---  Eliminated hypothesis H126 (true-hypothesis).
---  Eliminated hypothesis H127 (true-hypothesis).
---  Eliminated hypothesis H128 (true-hypothesis).
---  Eliminated hypothesis H129 (true-hypothesis).
---  Eliminated hypothesis H130 (true-hypothesis).
---  Eliminated hypothesis H131 (true-hypothesis).
---  Eliminated hypothesis H132 (true-hypothesis).
---  Eliminated hypothesis H133 (true-hypothesis).
---  Eliminated hypothesis H134 (true-hypothesis).
---  Eliminated hypothesis H135 (true-hypothesis).
---  Eliminated hypothesis H136 (true-hypothesis).
---  Eliminated hypothesis H137 (true-hypothesis).
---  Eliminated hypothesis H138 (true-hypothesis).
---  Eliminated hypothesis H139 (true-hypothesis).
---  Eliminated hypothesis H140 (true-hypothesis).
---  Eliminated hypothesis H169 (true-hypothesis).
---  Eliminated hypothesis H170 (true-hypothesis).
---  Eliminated hypothesis H173 (true-hypothesis).
---  Eliminated hypothesis H182 (true-hypothesis).
---  Eliminated hypothesis H183 (true-hypothesis).
---  Eliminated hypothesis H190 (true-hypothesis).
---  Eliminated hypothesis H191 (true-hypothesis).
---  Eliminated hypothesis H194 (true-hypothesis).
---  Eliminated hypothesis H195 (true-hypothesis).
---  Eliminated hypothesis H196 (true-hypothesis).
---  Eliminated hypothesis H197 (true-hypothesis).
---  Eliminated hypothesis H198 (true-hypothesis).
---  Eliminated hypothesis H199 (true-hypothesis).
---  Eliminated hypothesis H200 (true-hypothesis).
---  Eliminated hypothesis H201 (true-hypothesis).
---  Eliminated hypothesis H202 (true-hypothesis).
---  Eliminated hypothesis H203 (true-hypothesis).
---  Eliminated hypothesis H204 (true-hypothesis).
---  Eliminated hypothesis H205 (true-hypothesis).
---  Eliminated hypothesis H206 (true-hypothesis).
---  Eliminated hypothesis H207 (true-hypothesis).
---  Eliminated hypothesis H208 (true-hypothesis).
---  Eliminated hypothesis H209 (true-hypothesis).
---  Eliminated hypothesis H210 (true-hypothesis).
---  Eliminated hypothesis H211 (true-hypothesis).
---  Eliminated hypothesis H212 (true-hypothesis).
---  Eliminated hypothesis H213 (true-hypothesis).
---  Eliminated hypothesis H214 (true-hypothesis).
---  Eliminated hypothesis H215 (true-hypothesis).
---  Eliminated hypothesis H216 (true-hypothesis).
---  Eliminated hypothesis H217 (true-hypothesis).
---  Eliminated hypothesis H218 (true-hypothesis).
---  Eliminated hypothesis H221 (true-hypothesis).
---  Eliminated hypothesis H225 (true-hypothesis).
---  Eliminated hypothesis H226 (true-hypothesis).
---  Eliminated hypothesis H229 (true-hypothesis).
---  Eliminated hypothesis H230 (true-hypothesis).
---  Eliminated hypothesis H233 (true-hypothesis).
---  Eliminated hypothesis H234 (true-hypothesis).
---  Eliminated hypothesis H142 (true-hypothesis).
---  Eliminated hypothesis H146 (true-hypothesis).
---  Eliminated hypothesis H143 (true-hypothesis).
---  Eliminated hypothesis H147 (true-hypothesis).
---  Eliminated hypothesis H156 (true-hypothesis).
---  Eliminated hypothesis H78 (true-hypothesis).
---  Eliminated hypothesis H79 (true-hypothesis).
---  Eliminated hypothesis H222 (true-hypothesis).
---  Eliminated hypothesis H152 (true-hypothesis).
---  Eliminated hypothesis H153 (true-hypothesis).
---  Eliminated hypothesis H154 (true-hypothesis).
---  Eliminated hypothesis H155 (true-hypothesis).
---  Eliminated hypothesis H144 (true-hypothesis).
---  Eliminated hypothesis H145 (true-hypothesis).
---  Eliminated hypothesis H220 (duplicate of H189).
---  Eliminated hypothesis H28 (duplicate of H9).
---  Eliminated hypothesis H150 (duplicate of H83).
---  Eliminated hypothesis H27 (duplicate of H12).
---  Eliminated hypothesis H149 (duplicate of H86).
---  Eliminated hypothesis H168 (duplicate of H158).
---  Eliminated hypothesis H165 (duplicate of H160).
---  Eliminated hypothesis H34 (duplicate of H32).
---  Eliminated hypothesis H223 (duplicate of H2).
---  Eliminated hypothesis H5 (redundant, given H237).
---  Eliminated hypothesis H10 (redundant, given H29).
---  Eliminated hypothesis H11 (redundant, given H26).
---  Eliminated hypothesis H32 (redundant, given H219).
---  Eliminated hypothesis H33 (redundant, given H232).
---  Eliminated hypothesis H35 (redundant, given H189).
---  Eliminated hypothesis H44 (redundant, given H39).
---  Eliminated hypothesis H83 (redundant, given H82).
---  Eliminated hypothesis H84 (redundant, given H82).
---  Eliminated hypothesis H85 (redundant, given H148).
---  Eliminated hypothesis H151 (redundant, given H82).
---  Eliminated hypothesis H166 (redundant, given H161).
---  Eliminated hypothesis H167 (redundant, given H157).
---  Eliminated hypothesis H186 (redundant, given H3).
---  Eliminated hypothesis H187 (redundant, given H192).
---  Eliminated hypothesis H188 (redundant, given H219).
---  Eliminated hypothesis H189 (redundant, given H232).
---  Eliminated hypothesis H224 (redundant, given H192).
---  Eliminated hypothesis H231 (redundant, given H219).
---  Eliminated hypothesis H232 (redundant, given H3 & H185).
-S-  Eliminated hypothesis H6.
     This was achieved by replacing all occurrences of blocks_required by:
          (byte_count + 63) div 64.
<S>  New H237:  blocks_done + 1 < (byte_count + 63) div 64
<S>  New H235:  (byte_count + 63) div 64 >= 1
<S>  New H236:  (byte_count + 63) div 64 <= 4194304
-S-  Substituted hypothesis H81.
     This was achieved by replacing all occurrences of fld_hash_bit_len(fld_h(
          local_ctx__4)) by:
          fld_hash_bit_len(fld_h(local_ctx__3)).
-S-  Substituted hypothesis H100.
     This was achieved by replacing all occurrences of fld_x(local_ctx__4) by:
          fld_x(local_ctx__3).
-S-  Substituted hypothesis H101.
     This was achieved by replacing all occurrences of fld_b(local_ctx__4) by:
          fld_b(local_ctx__3).
-S-  Substituted hypothesis H162.
     This was achieved by replacing all occurrences of fld_byte_count(fld_h(
          local_ctx__5)) by:
          fld_byte_count(fld_h(local_ctx__4)).
-S-  Substituted hypothesis H159.
     This was achieved by replacing all occurrences of fld_hash_bit_len(fld_h(
          local_ctx__5)) by:
          fld_hash_bit_len(fld_h(local_ctx__3)).
     +++  New H238:  integer__size >= 0
     +++  New H239:  natural__size >= 0
     +++  New H240:  spark__unsigned__u6__size >= 0
     +++  New H241:  spark__unsigned__u7__size >= 0
     +++  New H242:  spark__unsigned__byte__size >= 0
     +++  New H243:  spark__unsigned__u16__size >= 0
     +++  New H244:  spark__unsigned__u32__size >= 0
     +++  New H245:  spark__unsigned__u64__size >= 0
     +++  New H246:  spark__crypto__word_count_t__size >= 0
     +++  New H247:  hash_bit_length__size >= 0
     +++  New H248:  initialized_hash_bit_length__size >= 0
     +++  New H249:  skein_512_state_words_index__size >= 0
     +++  New H250:  skein_512_block_bytes_count__size >= 0
     +++  New H251:  skein_512_block_bytes_index__size >= 0
     +++  New H252:  positive_block_512_count_t__size >= 0
     +++  New H253:  skein_512_context__size >= 0
     +++  New H254:  result__index__subtype__1__first <= 
          result__index__subtype__1__last
     +++  New H255:  context_header__size >= 0
     +++  New H256:  output_byte_count_t__size >= 0
     +++  New H257:  output_block_count_t__size >= 0
     +++  New H258:  positive_output_block_count_t__size >= 0
     +++  New H259:  result__index__subtype__1__first >= 0
     +++  New H260:  result__index__subtype__1__last >= 0
     +++  New H261:  result__index__subtype__1__last <= 2147483647
     +++  New H262:  result__index__subtype__1__first <= 2147483647


@@@@@@@@@@  VC: procedure_skein_512_final_22.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  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 H8 on reading formula in, to give:
     %%%  H8:  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)
***  Proved C3:  fld_hash_bit_len(fld_h(local_ctx)) > 0
     using hypothesis H1.
-S-  Applied substitution rule skein_512_fi_rules(72).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H8:  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 H24:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New C1:  blocks_done >= 0
<S>  New C4:  blocks_done >= 0
-S-  Applied substitution rule skein_512_fi_rules(73).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H25:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          18446744073709551615
<S>  New H8:  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 C2:  blocks_done <= 18446744073709551615
<S>  New C5:  blocks_done <= 18446744073709551615
-S-  Applied substitution rule skein_512_fi_rules(1).
     This was achieved by replacing all occurrences of skein_512_block_bytes_c 
          by:
          64.
<S>  New H3:  blocks_done * 64 < byte_count
<S>  New H4:  blocks_done * 64 < result__index__subtype__1__last + 1
-S-  Applied substitution rule skein_512_fi_rules(9).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H9:  fld_byte_count(fld_h(ctx)) >= 0
-S-  Applied substitution rule skein_512_fi_rules(10).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H10:  fld_byte_count(fld_h(ctx)) <= 2147483647
-S-  Applied substitution rule skein_512_fi_rules(42).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H15:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(43).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H16:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 63
-S-  Applied substitution rule skein_512_fi_rules(48).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H18:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(49).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H19:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 127
-S-  Applied substitution rule skein_512_fi_rules(54).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H7:  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_fi_rules(55).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H7:  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_fi_rules(60).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H20:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(61).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H21:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 65535
-S-  Applied substitution rule skein_512_fi_rules(66).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H22:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(67).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H23:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 4294967295
-S-  Applied substitution rule skein_512_fi_rules(83).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H11:  fld_hash_bit_len(fld_h(ctx)) >= 0
-S-  Applied substitution rule skein_512_fi_rules(84).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H12:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
-S-  Applied substitution rule skein_512_fi_rules(88).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__first by:
          1.
<S>  New H26:  fld_hash_bit_len(fld_h(ctx)) >= 1
-S-  Applied substitution rule skein_512_fi_rules(89).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__last by:
          2147483640.
<S>  New H27:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
-S-  Applied substitution rule skein_512_fi_rules(93).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H8:  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_fi_rules(94).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H8:  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_fi_rules(98).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__first by:
          0.
<S>  New H28:  fld_byte_count(fld_h(ctx)) >= 0
-S-  Applied substitution rule skein_512_fi_rules(99).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__last by:
          64.
<S>  New H29:  fld_byte_count(fld_h(ctx)) <= 64
-S-  Applied substitution rule skein_512_fi_rules(103).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H7:  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_fi_rules(104).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H7:  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_fi_rules(130).
     This was achieved by replacing all occurrences of 
          output_block_count_t__first by:
          0.
<S>  New H32:  blocks_done >= 0
-S-  Applied substitution rule skein_512_fi_rules(131).
     This was achieved by replacing all occurrences of 
          output_block_count_t__last by:
          4194304.
<S>  New H33:  blocks_done <= 4194304
***  Proved C1:  blocks_done >= 0
     using hypothesis H32.
***  Proved C4:  blocks_done >= 0
     using hypothesis H32.
***  Proved C2:  blocks_done <= 18446744073709551615
     using hypothesis H33.
***  Proved C5:  blocks_done <= 18446744073709551615
     using hypothesis H33.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_final_23.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  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 H8 on reading formula in, to give:
     %%%  H8:  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)
---  Hypothesis H36 has been replaced by "true".  (It is already present, as H1)
          .
---  Hypothesis H37 has been replaced by "true".  (It is already present, as 
          H34).
---  Hypothesis H38 has been replaced by "true".  (It is already present, as 
          H35).
%%%  Simplified H40 on reading formula in, to give:
     %%%  H40:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx__3), [i___2]) 
          and element(fld_b(local_ctx__3), [i___2]) <= 
          spark__unsigned__byte__last)
%%%  Simplified H41 on reading formula in, to give:
     %%%  H41:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx__3), [i___1]) 
          and element(fld_x(local_ctx__3), [i___1]) <= 
          spark__unsigned__u64__last)
---  Hypothesis H59 has been replaced by "true".  (It is already present, as 
          H40).
---  Hypothesis H60 has been replaced by "true".  (It is already present, as 
          H41).
---  Hypothesis H61 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H62 has been replaced by "true".  (It is already present, as 
          H43).
---  Hypothesis H63 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H64 has been replaced by "true".  (It is already present, as 
          H45).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H48).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H49).
---  Hypothesis H70 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H71 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H72 has been replaced by "true".  (It is already present, as 
          H53).
---  Hypothesis H73 has been replaced by "true".  (It is already present, as 
          H54).
---  Hypothesis H74 has been replaced by "true".  (It is already present, as 
          H55).
---  Hypothesis H75 has been replaced by "true".  (It is already present, as 
          H56).
---  Hypothesis H76 has been replaced by "true".  (It is already present, as 
          H57).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H58).
-S-  Applied substitution rule skein_512_fi_rules(2).
     This was achieved by replacing all occurrences of skein_block_type_out by:
          63.
<S>  New C1:  63 >= spark__unsigned__u6__first
<S>  New C2:  63 <= spark__unsigned__u6__last
-S-  Applied substitution rule skein_512_fi_rules(42).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H15:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H48:  fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) >= 0
<S>  New C1:  true
-S-  Applied substitution rule skein_512_fi_rules(43).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H16:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 63
<S>  New H49:  fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) <= 63
<S>  New C2:  true
***  Proved C1:  true
***  Proved C2:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_final_24.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  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 H8 on reading formula in, to give:
     %%%  H8:  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)
---  Hypothesis H36 has been replaced by "true".  (It is already present, as H1)
          .
---  Hypothesis H37 has been replaced by "true".  (It is already present, as 
          H34).
---  Hypothesis H38 has been replaced by "true".  (It is already present, as 
          H35).
%%%  Simplified H40 on reading formula in, to give:
     %%%  H40:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx__3), [i___2]) 
          and element(fld_b(local_ctx__3), [i___2]) <= 
          spark__unsigned__byte__last)
%%%  Simplified H41 on reading formula in, to give:
     %%%  H41:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx__3), [i___1]) 
          and element(fld_x(local_ctx__3), [i___1]) <= 
          spark__unsigned__u64__last)
---  Hypothesis H59 has been replaced by "true".  (It is already present, as 
          H40).
---  Hypothesis H60 has been replaced by "true".  (It is already present, as 
          H41).
---  Hypothesis H61 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H62 has been replaced by "true".  (It is already present, as 
          H43).
---  Hypothesis H63 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H64 has been replaced by "true".  (It is already present, as 
          H45).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H48).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H49).
---  Hypothesis H70 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H71 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H72 has been replaced by "true".  (It is already present, as 
          H53).
---  Hypothesis H73 has been replaced by "true".  (It is already present, as 
          H54).
---  Hypothesis H74 has been replaced by "true".  (It is already present, as 
          H55).
---  Hypothesis H75 has been replaced by "true".  (It is already present, as 
          H56).
---  Hypothesis H76 has been replaced by "true".  (It is already present, as 
          H57).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H58).
%%%  Simplified H80 on reading formula in, to give:
     %%%  H80:  fld_h(local_ctx__4) = upf_tweak_words(upf_byte_count(fld_h(
          local_ctx__3), 0), mk__tweak_value(byte_count_lsb := 0, 
          byte_count_msb := 0, reserved := 0, tree_level := 0, bit_pad := 
          false, field_type := skein_block_type_out, first_block := true, 
          final_block := true))
%%%  Simplified H103 on reading formula in, to give:
     %%%  H103:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx__4), [i___2]) 
          and element(fld_b(local_ctx__4), [i___2]) <= 
          spark__unsigned__byte__last)
%%%  Simplified H104 on reading formula in, to give:
     %%%  H104:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx__4), [i___1]) 
          and element(fld_x(local_ctx__4), [i___1]) <= 
          spark__unsigned__u64__last)
---  Hypothesis H105 has been replaced by "true".  (It is already present, as 
          H83).
---  Hypothesis H106 has been replaced by "true".  (It is already present, as 
          H84).
---  Hypothesis H107 has been replaced by "true".  (It is already present, as 
          H85).
---  Hypothesis H108 has been replaced by "true".  (It is already present, as 
          H86).
---  Hypothesis H111 has been replaced by "true".  (It is already present, as 
          H89).
---  Hypothesis H112 has been replaced by "true".  (It is already present, as 
          H90).
---  Hypothesis H114 has been replaced by "true".  (It is already present, as 
          H92).
---  Hypothesis H115 has been replaced by "true".  (It is already present, as 
          H93).
---  Hypothesis H116 has been replaced by "true".  (It is already present, as 
          H94).
---  Hypothesis H117 has been replaced by "true".  (It is already present, as 
          H95).
---  Hypothesis H118 has been replaced by "true".  (It is already present, as 
          H96).
---  Hypothesis H119 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H120 has been replaced by "true".  (It is already present, as 
          H98).
---  Hypothesis H121 has been replaced by "true".  (It is already present, as 
          H99).
---  Hypothesis H122 has been replaced by "true".  (It is already present, as 
          H103).
---  Hypothesis H123 has been replaced by "true".  (It is already present, as 
          H104).
---  Hypothesis H124 has been replaced by "true".  (It is already present, as 
          H83).
---  Hypothesis H125 has been replaced by "true".  (It is already present, as 
          H84).
---  Hypothesis H126 has been replaced by "true".  (It is already present, as 
          H85).
---  Hypothesis H127 has been replaced by "true".  (It is already present, as 
          H86).
---  Hypothesis H130 has been replaced by "true".  (It is already present, as 
          H89).
---  Hypothesis H131 has been replaced by "true".  (It is already present, as 
          H90).
---  Hypothesis H133 has been replaced by "true".  (It is already present, as 
          H92).
---  Hypothesis H134 has been replaced by "true".  (It is already present, as 
          H93).
---  Hypothesis H135 has been replaced by "true".  (It is already present, as 
          H94).
---  Hypothesis H136 has been replaced by "true".  (It is already present, as 
          H95).
---  Hypothesis H137 has been replaced by "true".  (It is already present, as 
          H96).
---  Hypothesis H138 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H139 has been replaced by "true".  (It is already present, as 
          H98).
---  Hypothesis H140 has been replaced by "true".  (It is already present, as 
          H99).
%%%  Simplified H141 on reading formula in, to give:
     %%%  H141:  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(local_ctx__4), [i___1]) 
          and element(fld_b(local_ctx__4), [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:  8 >= natural__first
     using hypotheses H82 & H83.
***  Proved C5:  0 >= natural__first
     using hypotheses H82 & H83.
***  Proved C6:  0 <= natural__last
     using hypotheses H82 & H84.
-S-  Applied substitution rule skein_512_fi_rules(10).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H10:  fld_byte_count(fld_h(ctx)) <= 2147483647
<S>  New H43:  fld_byte_count(fld_h(local_ctx__3)) <= 2147483647
<S>  New H84:  fld_byte_count(fld_h(local_ctx__4)) <= 2147483647
<S>  New C2:  true
<S>  New C14:  skein_512_block_bytes_index__last <= 2147483647
<S>  New C15:  true
-S-  Applied substitution rule skein_512_fi_rules(108).
     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_fi_rules(109).
     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_fi_rules(88).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__first by:
          1.
<S>  New H26:  fld_hash_bit_len(fld_h(ctx)) >= 1
<S>  New C7:  fld_hash_bit_len(fld_h(local_ctx__4)) >= 1
-S-  Applied substitution rule skein_512_fi_rules(89).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__last by:
          2147483640.
<S>  New H27:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New C8:  fld_hash_bit_len(fld_h(local_ctx__4)) <= 2147483640
-S-  Applied substitution rule skein_512_fi_rules(98).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__first by:
          0.
<S>  New H28:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New C9:  fld_byte_count(fld_h(local_ctx__4)) >= 0
-S-  Applied substitution rule skein_512_fi_rules(99).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__last by:
          64.
<S>  New H29:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New C10:  fld_byte_count(fld_h(local_ctx__4)) <= 64
-S-  Applied substitution rule skein_512_fi_rules(104).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H7:  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 H40:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> spark__unsigned__byte__first <= element(
          fld_b(local_ctx__3), [i___2]) and element(fld_b(local_ctx__3), [i___2]
          ) <= spark__unsigned__byte__last)
<S>  New H103:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> spark__unsigned__byte__first <= element(
          fld_b(local_ctx__4), [i___2]) and element(fld_b(local_ctx__4), [i___2]
          ) <= spark__unsigned__byte__last)
<S>  New H141:  for_all(i___1 : integer, skein_512_block_bytes_index__first <= 
          i___1 and i___1 <= 63 -> spark__unsigned__byte__first <= element(
          fld_b(local_ctx__4), [i___1]) and element(fld_b(local_ctx__4), [i___1]
          ) <= spark__unsigned__byte__last)
<S>  New C12:  true
<S>  New C13:  true
<S>  New C14:  true
***  Proved C2:  true
***  Proved C15:  true
***  Proved C3:  true
***  Proved C4:  true
***  Proved C7:  fld_hash_bit_len(fld_h(local_ctx__4)) >= 1
     using hypotheses H39 & H81.
***  Proved C9:  fld_byte_count(fld_h(local_ctx__4)) >= 0
     using hypothesis H82.
***  Proved C10:  fld_byte_count(fld_h(local_ctx__4)) <= 64
     using hypothesis H82.
***  Proved C12:  true
***  Proved C13:  true
***  Proved C14:  true
-S-  Applied substitution rule skein_512_fi_rules(1).
     This was achieved by replacing all occurrences of skein_512_block_bytes_c 
          by:
          64.
<S>  New H3:  blocks_done * 64 < byte_count
<S>  New H4:  blocks_done * 64 < result__index__subtype__1__last + 1
-S-  Applied substitution rule skein_512_fi_rules(2).
     This was achieved by replacing all occurrences of skein_block_type_out by:
          63.
<S>  New H78:  63 >= spark__unsigned__u6__first
<S>  New H79:  63 <= spark__unsigned__u6__last
<S>  New H80:  fld_h(local_ctx__4) = upf_tweak_words(upf_byte_count(fld_h(
          local_ctx__3), 0), mk__tweak_value(byte_count_lsb := 0, 
          byte_count_msb := 0, reserved := 0, tree_level := 0, bit_pad := 
          false, field_type := 63, first_block := true, final_block := true))
-S-  Applied substitution rule skein_512_fi_rules(9).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H9:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H42:  fld_byte_count(fld_h(local_ctx__3)) >= 0
<S>  New H83:  fld_byte_count(fld_h(local_ctx__4)) >= 0
-S-  Applied substitution rule skein_512_fi_rules(42).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H15:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H48:  fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) >= 0
<S>  New H89:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) >= 0
<S>  New H78:  true
-S-  Applied substitution rule skein_512_fi_rules(43).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H16:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 63
<S>  New H49:  fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) <= 63
<S>  New H90:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) <= 63
<S>  New H79:  true
-S-  Applied substitution rule skein_512_fi_rules(48).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H18:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H51:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) >= 0
<S>  New H92:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(49).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H19:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 127
<S>  New H52:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) <= 127
<S>  New H93:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) <= 127
-S-  Applied substitution rule skein_512_fi_rules(54).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H7:  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 H40:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> 0 <= element(fld_b(local_ctx__3), [i___2]) 
          and element(fld_b(local_ctx__3), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New H103:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> 0 <= element(fld_b(local_ctx__4), [i___2]) 
          and element(fld_b(local_ctx__4), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New H141:  for_all(i___1 : integer, skein_512_block_bytes_index__first <= 
          i___1 and i___1 <= 63 -> 0 <= element(fld_b(local_ctx__4), [i___1]) 
          and element(fld_b(local_ctx__4), [i___1]) <= 
          spark__unsigned__byte__last)
-S-  Applied substitution rule skein_512_fi_rules(55).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H7:  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 H40:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> 0 <= element(fld_b(local_ctx__3), [i___2]) 
          and element(fld_b(local_ctx__3), [i___2]) <= 255)
<S>  New H103:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> 0 <= element(fld_b(local_ctx__4), [i___2]) 
          and element(fld_b(local_ctx__4), [i___2]) <= 255)
<S>  New H141:  for_all(i___1 : integer, skein_512_block_bytes_index__first <= 
          i___1 and i___1 <= 63 -> 0 <= element(fld_b(local_ctx__4), [i___1]) 
          and element(fld_b(local_ctx__4), [i___1]) <= 255)
-S-  Applied substitution rule skein_512_fi_rules(60).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H20:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H53:  fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) >= 0
<S>  New H94:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(61).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H21:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 65535
<S>  New H54:  fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) <= 65535
<S>  New H95:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) <= 65535
-S-  Applied substitution rule skein_512_fi_rules(66).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H22:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H55:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) >= 0
<S>  New H96:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(67).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H23:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 4294967295
<S>  New H56:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) <= 
          4294967295
<S>  New H97:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) <= 
          4294967295
-S-  Applied substitution rule skein_512_fi_rules(72).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H8:  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 H24:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H34:  blocks_done >= 0
<S>  New H41:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__3), [i___1]) and element(fld_x(local_ctx__3), [i___1]
          ) <= spark__unsigned__u64__last)
<S>  New H57:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) >= 0
<S>  New H98:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) >= 0
<S>  New H104:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__4), [i___1]) and element(fld_x(local_ctx__4), [i___1]
          ) <= spark__unsigned__u64__last)
-S-  Applied substitution rule skein_512_fi_rules(73).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H25:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          18446744073709551615
<S>  New H35:  blocks_done <= 18446744073709551615
<S>  New H58:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) <= 
          18446744073709551615
<S>  New H99:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) <= 
          18446744073709551615
<S>  New H8:  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 H41:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__3), [i___1]) and element(fld_x(local_ctx__3), [i___1]
          ) <= 18446744073709551615)
<S>  New H104:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__4), [i___1]) and element(fld_x(local_ctx__4), [i___1]
          ) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_fi_rules(83).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H11:  fld_hash_bit_len(fld_h(ctx)) >= 0
<S>  New H44:  fld_hash_bit_len(fld_h(local_ctx__3)) >= 0
<S>  New H85:  fld_hash_bit_len(fld_h(local_ctx__4)) >= 0
-S-  Applied substitution rule skein_512_fi_rules(84).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H12:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H45:  fld_hash_bit_len(fld_h(local_ctx__3)) <= 2147483640
<S>  New H86:  fld_hash_bit_len(fld_h(local_ctx__4)) <= 2147483640
-S-  Applied substitution rule skein_512_fi_rules(93).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H8:  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 H41:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(local_ctx__3)
          , [i___1]) and element(fld_x(local_ctx__3), [i___1]) <= 
          18446744073709551615)
<S>  New H104:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(local_ctx__4)
          , [i___1]) and element(fld_x(local_ctx__4), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule skein_512_fi_rules(94).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H8:  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 H41:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(local_ctx__3), [i___1]) and element(fld_x(local_ctx__3)
          , [i___1]) <= 18446744073709551615)
<S>  New H104:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(local_ctx__4), [i___1]) and element(fld_x(local_ctx__4)
          , [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_fi_rules(103).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H7:  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 H40:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(local_ctx__3), [i___2]) and element(fld_b(local_ctx__3)
          , [i___2]) <= 255)
<S>  New H103:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(local_ctx__4), [i___2]) and element(fld_b(local_ctx__4)
          , [i___2]) <= 255)
<S>  New H141:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 63 -> 0 <= 
          element(fld_b(local_ctx__4), [i___1]) and element(fld_b(local_ctx__4)
          , [i___1]) <= 255)
<S>  New C11:  true
-S-  Applied substitution rule skein_512_fi_rules(130).
     This was achieved by replacing all occurrences of 
          output_block_count_t__first by:
          0.
<S>  New H32:  blocks_done >= 0
-S-  Applied substitution rule skein_512_fi_rules(131).
     This was achieved by replacing all occurrences of 
          output_block_count_t__last by:
          4194304.
<S>  New H33:  blocks_done <= 4194304
***  Proved C8:  fld_hash_bit_len(fld_h(local_ctx__4)) <= 2147483640
     using hypothesis H86.
***  Proved C11:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_final_25.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  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 H8 on reading formula in, to give:
     %%%  H8:  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)
---  Hypothesis H36 has been replaced by "true".  (It is already present, as H1)
          .
---  Hypothesis H37 has been replaced by "true".  (It is already present, as 
          H34).
---  Hypothesis H38 has been replaced by "true".  (It is already present, as 
          H35).
%%%  Simplified H40 on reading formula in, to give:
     %%%  H40:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx__3), [i___2]) 
          and element(fld_b(local_ctx__3), [i___2]) <= 
          spark__unsigned__byte__last)
%%%  Simplified H41 on reading formula in, to give:
     %%%  H41:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx__3), [i___1]) 
          and element(fld_x(local_ctx__3), [i___1]) <= 
          spark__unsigned__u64__last)
---  Hypothesis H59 has been replaced by "true".  (It is already present, as 
          H40).
---  Hypothesis H60 has been replaced by "true".  (It is already present, as 
          H41).
---  Hypothesis H61 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H62 has been replaced by "true".  (It is already present, as 
          H43).
---  Hypothesis H63 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H64 has been replaced by "true".  (It is already present, as 
          H45).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H48).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H49).
---  Hypothesis H70 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H71 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H72 has been replaced by "true".  (It is already present, as 
          H53).
---  Hypothesis H73 has been replaced by "true".  (It is already present, as 
          H54).
---  Hypothesis H74 has been replaced by "true".  (It is already present, as 
          H55).
---  Hypothesis H75 has been replaced by "true".  (It is already present, as 
          H56).
---  Hypothesis H76 has been replaced by "true".  (It is already present, as 
          H57).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H58).
%%%  Simplified H80 on reading formula in, to give:
     %%%  H80:  fld_h(local_ctx__4) = upf_tweak_words(upf_byte_count(fld_h(
          local_ctx__3), 0), mk__tweak_value(byte_count_lsb := 0, 
          byte_count_msb := 0, reserved := 0, tree_level := 0, bit_pad := 
          false, field_type := skein_block_type_out, first_block := true, 
          final_block := true))
%%%  Simplified H103 on reading formula in, to give:
     %%%  H103:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx__4), [i___2]) 
          and element(fld_b(local_ctx__4), [i___2]) <= 
          spark__unsigned__byte__last)
%%%  Simplified H104 on reading formula in, to give:
     %%%  H104:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx__4), [i___1]) 
          and element(fld_x(local_ctx__4), [i___1]) <= 
          spark__unsigned__u64__last)
---  Hypothesis H105 has been replaced by "true".  (It is already present, as 
          H83).
---  Hypothesis H106 has been replaced by "true".  (It is already present, as 
          H84).
---  Hypothesis H107 has been replaced by "true".  (It is already present, as 
          H85).
---  Hypothesis H108 has been replaced by "true".  (It is already present, as 
          H86).
---  Hypothesis H111 has been replaced by "true".  (It is already present, as 
          H89).
---  Hypothesis H112 has been replaced by "true".  (It is already present, as 
          H90).
---  Hypothesis H114 has been replaced by "true".  (It is already present, as 
          H92).
---  Hypothesis H115 has been replaced by "true".  (It is already present, as 
          H93).
---  Hypothesis H116 has been replaced by "true".  (It is already present, as 
          H94).
---  Hypothesis H117 has been replaced by "true".  (It is already present, as 
          H95).
---  Hypothesis H118 has been replaced by "true".  (It is already present, as 
          H96).
---  Hypothesis H119 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H120 has been replaced by "true".  (It is already present, as 
          H98).
---  Hypothesis H121 has been replaced by "true".  (It is already present, as 
          H99).
---  Hypothesis H122 has been replaced by "true".  (It is already present, as 
          H103).
---  Hypothesis H123 has been replaced by "true".  (It is already present, as 
          H104).
---  Hypothesis H124 has been replaced by "true".  (It is already present, as 
          H83).
---  Hypothesis H125 has been replaced by "true".  (It is already present, as 
          H84).
---  Hypothesis H126 has been replaced by "true".  (It is already present, as 
          H85).
---  Hypothesis H127 has been replaced by "true".  (It is already present, as 
          H86).
---  Hypothesis H130 has been replaced by "true".  (It is already present, as 
          H89).
---  Hypothesis H131 has been replaced by "true".  (It is already present, as 
          H90).
---  Hypothesis H133 has been replaced by "true".  (It is already present, as 
          H92).
---  Hypothesis H134 has been replaced by "true".  (It is already present, as 
          H93).
---  Hypothesis H135 has been replaced by "true".  (It is already present, as 
          H94).
---  Hypothesis H136 has been replaced by "true".  (It is already present, as 
          H95).
---  Hypothesis H137 has been replaced by "true".  (It is already present, as 
          H96).
---  Hypothesis H138 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H139 has been replaced by "true".  (It is already present, as 
          H98).
---  Hypothesis H140 has been replaced by "true".  (It is already present, as 
          H99).
%%%  Simplified H141 on reading formula in, to give:
     %%%  H141:  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(local_ctx__4), [i___1]) 
          and element(fld_b(local_ctx__4), [i___1]) <= 
          spark__unsigned__byte__last)
%%%  Simplified H153 on reading formula in, to give:
     %%%  H153:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H154 on reading formula in, to give:
     %%%  H154:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H156 on reading formula in, to give:
     %%%  H156:  63 <= natural__last
%%%  Simplified H163 on reading formula in, to give:
     %%%  H163:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx__5), [i___2]) 
          and element(fld_b(local_ctx__5), [i___2]) <= 
          spark__unsigned__byte__last)
%%%  Simplified H164 on reading formula in, to give:
     %%%  H164:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx__5), [i___1]) 
          and element(fld_x(local_ctx__5), [i___1]) <= 
          spark__unsigned__u64__last)
---  Hypothesis H182 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H183 has been replaced by "true".  (It is already present, as 
          H33).
-S-  Applied substitution rule skein_512_fi_rules(9).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H9:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H42:  fld_byte_count(fld_h(local_ctx__3)) >= 0
<S>  New H83:  fld_byte_count(fld_h(local_ctx__4)) >= 0
<S>  New H142:  true
<S>  New H146:  true
<S>  New H165:  fld_byte_count(fld_h(local_ctx__5)) >= 0
<S>  New C1:  byte_count - blocks_done * skein_512_block_bytes_c >= 0
-S-  Applied substitution rule skein_512_fi_rules(10).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H10:  fld_byte_count(fld_h(ctx)) <= 2147483647
<S>  New H43:  fld_byte_count(fld_h(local_ctx__3)) <= 2147483647
<S>  New H84:  fld_byte_count(fld_h(local_ctx__4)) <= 2147483647
<S>  New H143:  true
<S>  New H147:  true
<S>  New H155:  skein_512_block_bytes_index__last <= 2147483647
<S>  New H156:  true
<S>  New H166:  fld_byte_count(fld_h(local_ctx__5)) <= 2147483647
<S>  New C2:  byte_count - blocks_done * skein_512_block_bytes_c <= 2147483647
-S-  Applied substitution rule skein_512_fi_rules(6).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New C3:  blocks_done * skein_512_block_bytes_c >= - 2147483648
-S-  Applied substitution rule skein_512_fi_rules(7).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New C4:  blocks_done * skein_512_block_bytes_c <= 2147483647
***  Proved C1:  byte_count - blocks_done * skein_512_block_bytes_c >= 0
     using hypothesis H3.
-S-  Applied substitution rule skein_512_fi_rules(1).
     This was achieved by replacing all occurrences of skein_512_block_bytes_c 
          by:
          64.
<S>  New H3:  blocks_done * 64 < byte_count
<S>  New H4:  blocks_done * 64 < result__index__subtype__1__last + 1
<S>  New C2:  byte_count - blocks_done * 64 <= 2147483647
<S>  New C3:  blocks_done * 64 >= - 2147483648
<S>  New C4:  blocks_done * 64 <= 2147483647
-S-  Applied substitution rule skein_512_fi_rules(2).
     This was achieved by replacing all occurrences of skein_block_type_out by:
          63.
<S>  New H78:  63 >= spark__unsigned__u6__first
<S>  New H79:  63 <= spark__unsigned__u6__last
<S>  New H80:  fld_h(local_ctx__4) = upf_tweak_words(upf_byte_count(fld_h(
          local_ctx__3), 0), mk__tweak_value(byte_count_lsb := 0, 
          byte_count_msb := 0, reserved := 0, tree_level := 0, bit_pad := 
          false, field_type := 63, first_block := true, final_block := true))
-S-  Applied substitution rule skein_512_fi_rules(42).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H15:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H48:  fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) >= 0
<S>  New H89:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) >= 0
<S>  New H171:  fld_field_type(fld_tweak_words(fld_h(local_ctx__5))) >= 0
<S>  New H78:  true
-S-  Applied substitution rule skein_512_fi_rules(43).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H16:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 63
<S>  New H49:  fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) <= 63
<S>  New H90:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) <= 63
<S>  New H172:  fld_field_type(fld_tweak_words(fld_h(local_ctx__5))) <= 63
<S>  New H79:  true
-S-  Applied substitution rule skein_512_fi_rules(48).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H18:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H51:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) >= 0
<S>  New H92:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) >= 0
<S>  New H174:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__5))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(49).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H19:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 127
<S>  New H52:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) <= 127
<S>  New H93:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) <= 127
<S>  New H175:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__5))) <= 127
-S-  Applied substitution rule skein_512_fi_rules(54).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H7:  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 H40:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__3), [i___2]) and element(fld_b(local_ctx__3), [i___2]
          ) <= spark__unsigned__byte__last)
<S>  New H103:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__4), [i___2]) and element(fld_b(local_ctx__4), [i___2]
          ) <= spark__unsigned__byte__last)
<S>  New H141:  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(local_ctx__4), [i___1]) and element(fld_b(local_ctx__4), [i___1]
          ) <= spark__unsigned__byte__last)
<S>  New H163:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__5), [i___2]) and element(fld_b(local_ctx__5), [i___2]
          ) <= spark__unsigned__byte__last)
-S-  Applied substitution rule skein_512_fi_rules(55).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H7:  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 H40:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__3), [i___2]) and element(fld_b(local_ctx__3), [i___2]
          ) <= 255)
<S>  New H103:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__4), [i___2]) and element(fld_b(local_ctx__4), [i___2]
          ) <= 255)
<S>  New H141:  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(local_ctx__4), [i___1]) and element(fld_b(local_ctx__4), [i___1]
          ) <= 255)
<S>  New H163:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__5), [i___2]) and element(fld_b(local_ctx__5), [i___2]
          ) <= 255)
-S-  Applied substitution rule skein_512_fi_rules(60).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H20:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H53:  fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) >= 0
<S>  New H94:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) >= 0
<S>  New H176:  fld_reserved(fld_tweak_words(fld_h(local_ctx__5))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(61).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H21:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 65535
<S>  New H54:  fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) <= 65535
<S>  New H95:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) <= 65535
<S>  New H177:  fld_reserved(fld_tweak_words(fld_h(local_ctx__5))) <= 65535
-S-  Applied substitution rule skein_512_fi_rules(66).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H22:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H55:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) >= 0
<S>  New H96:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) >= 0
<S>  New H178:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__5))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(67).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H23:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 4294967295
<S>  New H56:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) <= 
          4294967295
<S>  New H97:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) <= 
          4294967295
<S>  New H179:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__5))) <= 
          4294967295
-S-  Applied substitution rule skein_512_fi_rules(72).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H8:  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 H24:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H34:  blocks_done >= 0
<S>  New H41:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__3), [i___1]) and element(fld_x(local_ctx__3), [i___1]
          ) <= spark__unsigned__u64__last)
<S>  New H57:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) >= 0
<S>  New H98:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) >= 0
<S>  New H104:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__4), [i___1]) and element(fld_x(local_ctx__4), [i___1]
          ) <= spark__unsigned__u64__last)
<S>  New H164:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__5), [i___1]) and element(fld_x(local_ctx__5), [i___1]
          ) <= spark__unsigned__u64__last)
<S>  New H180:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__5))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(73).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H25:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          18446744073709551615
<S>  New H35:  blocks_done <= 18446744073709551615
<S>  New H58:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) <= 
          18446744073709551615
<S>  New H99:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) <= 
          18446744073709551615
<S>  New H181:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__5))) <= 
          18446744073709551615
<S>  New H8:  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 H41:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__3), [i___1]) and element(fld_x(local_ctx__3), [i___1]
          ) <= 18446744073709551615)
<S>  New H104:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__4), [i___1]) and element(fld_x(local_ctx__4), [i___1]
          ) <= 18446744073709551615)
<S>  New H164:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__5), [i___1]) and element(fld_x(local_ctx__5), [i___1]
          ) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_fi_rules(83).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H11:  fld_hash_bit_len(fld_h(ctx)) >= 0
<S>  New H44:  fld_hash_bit_len(fld_h(local_ctx__3)) >= 0
<S>  New H85:  fld_hash_bit_len(fld_h(local_ctx__4)) >= 0
<S>  New H167:  fld_hash_bit_len(fld_h(local_ctx__5)) >= 0
-S-  Applied substitution rule skein_512_fi_rules(84).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H12:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H45:  fld_hash_bit_len(fld_h(local_ctx__3)) <= 2147483640
<S>  New H86:  fld_hash_bit_len(fld_h(local_ctx__4)) <= 2147483640
<S>  New H168:  fld_hash_bit_len(fld_h(local_ctx__5)) <= 2147483640
-S-  Applied substitution rule skein_512_fi_rules(88).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__first by:
          1.
<S>  New H26:  fld_hash_bit_len(fld_h(ctx)) >= 1
<S>  New H148:  fld_hash_bit_len(fld_h(local_ctx__4)) >= 1
<S>  New H157:  fld_hash_bit_len(fld_h(local_ctx__5)) >= 1
-S-  Applied substitution rule skein_512_fi_rules(89).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__last by:
          2147483640.
<S>  New H27:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H149:  fld_hash_bit_len(fld_h(local_ctx__4)) <= 2147483640
<S>  New H158:  fld_hash_bit_len(fld_h(local_ctx__5)) <= 2147483640
-S-  Applied substitution rule skein_512_fi_rules(93).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H8:  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 H41:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(local_ctx__3)
          , [i___1]) and element(fld_x(local_ctx__3), [i___1]) <= 
          18446744073709551615)
<S>  New H104:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(local_ctx__4)
          , [i___1]) and element(fld_x(local_ctx__4), [i___1]) <= 
          18446744073709551615)
<S>  New H164:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(local_ctx__5)
          , [i___1]) and element(fld_x(local_ctx__5), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule skein_512_fi_rules(94).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H8:  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 H41:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(local_ctx__3), [i___1]) and element(fld_x(local_ctx__3)
          , [i___1]) <= 18446744073709551615)
<S>  New H104:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(local_ctx__4), [i___1]) and element(fld_x(local_ctx__4)
          , [i___1]) <= 18446744073709551615)
<S>  New H164:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(local_ctx__5), [i___1]) and element(fld_x(local_ctx__5)
          , [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_fi_rules(98).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__first by:
          0.
<S>  New H28:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H150:  fld_byte_count(fld_h(local_ctx__4)) >= 0
<S>  New H160:  fld_byte_count(fld_h(local_ctx__5)) >= 0
-S-  Applied substitution rule skein_512_fi_rules(99).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__last by:
          64.
<S>  New H29:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New H151:  fld_byte_count(fld_h(local_ctx__4)) <= 64
<S>  New H161:  fld_byte_count(fld_h(local_ctx__5)) <= 64
-S-  Applied substitution rule skein_512_fi_rules(103).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H152:  true
<S>  New H7:  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 H40:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(local_ctx__3)
          , [i___2]) and element(fld_b(local_ctx__3), [i___2]) <= 255)
<S>  New H103:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(local_ctx__4)
          , [i___2]) and element(fld_b(local_ctx__4), [i___2]) <= 255)
<S>  New H141:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(local_ctx__4)
          , [i___1]) and element(fld_b(local_ctx__4), [i___1]) <= 255)
<S>  New H163:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(local_ctx__5)
          , [i___2]) and element(fld_b(local_ctx__5), [i___2]) <= 255)
-S-  Applied substitution rule skein_512_fi_rules(104).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H153:  true
<S>  New H154:  true
<S>  New H155:  true
<S>  New H7:  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 H40:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(local_ctx__3), [i___2]) and element(fld_b(local_ctx__3)
          , [i___2]) <= 255)
<S>  New H103:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(local_ctx__4), [i___2]) and element(fld_b(local_ctx__4)
          , [i___2]) <= 255)
<S>  New H141:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 63 -> 0 <= 
          element(fld_b(local_ctx__4), [i___1]) and element(fld_b(local_ctx__4)
          , [i___1]) <= 255)
<S>  New H163:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(local_ctx__5), [i___2]) and element(fld_b(local_ctx__5)
          , [i___2]) <= 255)
-S-  Applied substitution rule skein_512_fi_rules(108).
     This was achieved by replacing all occurrences of 
          positive_block_512_count_t__first by:
          1.
<S>  New H144:  true
-S-  Applied substitution rule skein_512_fi_rules(109).
     This was achieved by replacing all occurrences of 
          positive_block_512_count_t__last by:
          33554431.
<S>  New H145:  true
-S-  Applied substitution rule skein_512_fi_rules(125).
     This was achieved by replacing all occurrences of 
          output_byte_count_t__first by:
          1.
<S>  New H184:  byte_count >= 1
-S-  Applied substitution rule skein_512_fi_rules(126).
     This was achieved by replacing all occurrences of 
          output_byte_count_t__last by:
          268435455.
<S>  New H185:  byte_count <= 268435455
-S-  Applied substitution rule skein_512_fi_rules(130).
     This was achieved by replacing all occurrences of 
          output_block_count_t__first by:
          0.
<S>  New H32:  blocks_done >= 0
-S-  Applied substitution rule skein_512_fi_rules(131).
     This was achieved by replacing all occurrences of 
          output_block_count_t__last by:
          4194304.
<S>  New H33:  blocks_done <= 4194304
***  Proved C3:  blocks_done * 64 >= - 2147483648
     using hypothesis H34.
***  Proved C4:  blocks_done * 64 <= 2147483647
     using hypothesis H33.
---  Eliminated hypothesis H13 (true-hypothesis).
---  Eliminated hypothesis H14 (true-hypothesis).
---  Eliminated hypothesis H17 (true-hypothesis).
---  Eliminated hypothesis H36 (true-hypothesis).
---  Eliminated hypothesis H37 (true-hypothesis).
---  Eliminated hypothesis H38 (true-hypothesis).
---  Eliminated hypothesis H46 (true-hypothesis).
---  Eliminated hypothesis H47 (true-hypothesis).
---  Eliminated hypothesis H50 (true-hypothesis).
---  Eliminated hypothesis H59 (true-hypothesis).
---  Eliminated hypothesis H60 (true-hypothesis).
---  Eliminated hypothesis H61 (true-hypothesis).
---  Eliminated hypothesis H62 (true-hypothesis).
---  Eliminated hypothesis H63 (true-hypothesis).
---  Eliminated hypothesis H64 (true-hypothesis).
---  Eliminated hypothesis H65 (true-hypothesis).
---  Eliminated hypothesis H66 (true-hypothesis).
---  Eliminated hypothesis H67 (true-hypothesis).
---  Eliminated hypothesis H68 (true-hypothesis).
---  Eliminated hypothesis H69 (true-hypothesis).
---  Eliminated hypothesis H70 (true-hypothesis).
---  Eliminated hypothesis H71 (true-hypothesis).
---  Eliminated hypothesis H72 (true-hypothesis).
---  Eliminated hypothesis H73 (true-hypothesis).
---  Eliminated hypothesis H74 (true-hypothesis).
---  Eliminated hypothesis H75 (true-hypothesis).
---  Eliminated hypothesis H76 (true-hypothesis).
---  Eliminated hypothesis H77 (true-hypothesis).
---  Eliminated hypothesis H87 (true-hypothesis).
---  Eliminated hypothesis H88 (true-hypothesis).
---  Eliminated hypothesis H91 (true-hypothesis).
---  Eliminated hypothesis H105 (true-hypothesis).
---  Eliminated hypothesis H106 (true-hypothesis).
---  Eliminated hypothesis H107 (true-hypothesis).
---  Eliminated hypothesis H108 (true-hypothesis).
---  Eliminated hypothesis H109 (true-hypothesis).
---  Eliminated hypothesis H110 (true-hypothesis).
---  Eliminated hypothesis H111 (true-hypothesis).
---  Eliminated hypothesis H112 (true-hypothesis).
---  Eliminated hypothesis H113 (true-hypothesis).
---  Eliminated hypothesis H114 (true-hypothesis).
---  Eliminated hypothesis H115 (true-hypothesis).
---  Eliminated hypothesis H116 (true-hypothesis).
---  Eliminated hypothesis H117 (true-hypothesis).
---  Eliminated hypothesis H118 (true-hypothesis).
---  Eliminated hypothesis H119 (true-hypothesis).
---  Eliminated hypothesis H120 (true-hypothesis).
---  Eliminated hypothesis H121 (true-hypothesis).
---  Eliminated hypothesis H122 (true-hypothesis).
---  Eliminated hypothesis H123 (true-hypothesis).
---  Eliminated hypothesis H124 (true-hypothesis).
---  Eliminated hypothesis H125 (true-hypothesis).
---  Eliminated hypothesis H126 (true-hypothesis).
---  Eliminated hypothesis H127 (true-hypothesis).
---  Eliminated hypothesis H128 (true-hypothesis).
---  Eliminated hypothesis H129 (true-hypothesis).
---  Eliminated hypothesis H130 (true-hypothesis).
---  Eliminated hypothesis H131 (true-hypothesis).
---  Eliminated hypothesis H132 (true-hypothesis).
---  Eliminated hypothesis H133 (true-hypothesis).
---  Eliminated hypothesis H134 (true-hypothesis).
---  Eliminated hypothesis H135 (true-hypothesis).
---  Eliminated hypothesis H136 (true-hypothesis).
---  Eliminated hypothesis H137 (true-hypothesis).
---  Eliminated hypothesis H138 (true-hypothesis).
---  Eliminated hypothesis H139 (true-hypothesis).
---  Eliminated hypothesis H140 (true-hypothesis).
---  Eliminated hypothesis H142 (true-hypothesis).
---  Eliminated hypothesis H143 (true-hypothesis).
---  Eliminated hypothesis H146 (true-hypothesis).
---  Eliminated hypothesis H147 (true-hypothesis).
---  Eliminated hypothesis H156 (true-hypothesis).
---  Eliminated hypothesis H169 (true-hypothesis).
---  Eliminated hypothesis H170 (true-hypothesis).
---  Eliminated hypothesis H173 (true-hypothesis).
---  Eliminated hypothesis H182 (true-hypothesis).
---  Eliminated hypothesis H183 (true-hypothesis).
---  Eliminated hypothesis H78 (true-hypothesis).
---  Eliminated hypothesis H79 (true-hypothesis).
---  Eliminated hypothesis H152 (true-hypothesis).
---  Eliminated hypothesis H153 (true-hypothesis).
---  Eliminated hypothesis H154 (true-hypothesis).
---  Eliminated hypothesis H155 (true-hypothesis).
---  Eliminated hypothesis H144 (true-hypothesis).
---  Eliminated hypothesis H145 (true-hypothesis).
---  Eliminated hypothesis H28 (duplicate of H9).
---  Eliminated hypothesis H150 (duplicate of H83).
---  Eliminated hypothesis H27 (duplicate of H12).
---  Eliminated hypothesis H149 (duplicate of H86).
---  Eliminated hypothesis H168 (duplicate of H158).
---  Eliminated hypothesis H165 (duplicate of H160).
---  Eliminated hypothesis H34 (duplicate of H32).
---  Eliminated hypothesis H10 (redundant, given H29).
---  Eliminated hypothesis H11 (redundant, given H26).
---  Eliminated hypothesis H33 (redundant, given H3 & H185).
---  Eliminated hypothesis H35 (redundant, given H3 & H185).
---  Eliminated hypothesis H44 (redundant, given H39).
---  Eliminated hypothesis H83 (redundant, given H82).
---  Eliminated hypothesis H84 (redundant, given H82).
---  Eliminated hypothesis H85 (redundant, given H148).
---  Eliminated hypothesis H151 (redundant, given H82).
---  Eliminated hypothesis H166 (redundant, given H161).
---  Eliminated hypothesis H167 (redundant, given H157).
-S-  Eliminated hypothesis H6.
     This was achieved by replacing all occurrences of blocks_required by:
          (byte_count + 63) div 64.
<S>  New H5:  blocks_done < (byte_count + 63) div 64
-S-  Substituted hypothesis H81.
     This was achieved by replacing all occurrences of fld_hash_bit_len(fld_h(
          local_ctx__4)) by:
          fld_hash_bit_len(fld_h(local_ctx__3)).
-S-  Substituted hypothesis H100.
     This was achieved by replacing all occurrences of fld_x(local_ctx__4) by:
          fld_x(local_ctx__3).
-S-  Substituted hypothesis H101.
     This was achieved by replacing all occurrences of fld_b(local_ctx__4) by:
          fld_b(local_ctx__3).
-S-  Substituted hypothesis H162.
     This was achieved by replacing all occurrences of fld_byte_count(fld_h(
          local_ctx__5)) by:
          fld_byte_count(fld_h(local_ctx__4)).
-S-  Substituted hypothesis H159.
     This was achieved by replacing all occurrences of fld_hash_bit_len(fld_h(
          local_ctx__5)) by:
          fld_hash_bit_len(fld_h(local_ctx__3)).
***  Proved C2:  byte_count - blocks_done * 64 <= 2147483647
     using hypotheses H34 & H185.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_final_26.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  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 H8 on reading formula in, to give:
     %%%  H8:  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)
---  Hypothesis H36 has been replaced by "true".  (It is already present, as H1)
          .
---  Hypothesis H37 has been replaced by "true".  (It is already present, as 
          H34).
---  Hypothesis H38 has been replaced by "true".  (It is already present, as 
          H35).
%%%  Simplified H40 on reading formula in, to give:
     %%%  H40:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx__3), [i___2]) 
          and element(fld_b(local_ctx__3), [i___2]) <= 
          spark__unsigned__byte__last)
%%%  Simplified H41 on reading formula in, to give:
     %%%  H41:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx__3), [i___1]) 
          and element(fld_x(local_ctx__3), [i___1]) <= 
          spark__unsigned__u64__last)
---  Hypothesis H59 has been replaced by "true".  (It is already present, as 
          H40).
---  Hypothesis H60 has been replaced by "true".  (It is already present, as 
          H41).
---  Hypothesis H61 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H62 has been replaced by "true".  (It is already present, as 
          H43).
---  Hypothesis H63 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H64 has been replaced by "true".  (It is already present, as 
          H45).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H48).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H49).
---  Hypothesis H70 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H71 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H72 has been replaced by "true".  (It is already present, as 
          H53).
---  Hypothesis H73 has been replaced by "true".  (It is already present, as 
          H54).
---  Hypothesis H74 has been replaced by "true".  (It is already present, as 
          H55).
---  Hypothesis H75 has been replaced by "true".  (It is already present, as 
          H56).
---  Hypothesis H76 has been replaced by "true".  (It is already present, as 
          H57).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H58).
%%%  Simplified H80 on reading formula in, to give:
     %%%  H80:  fld_h(local_ctx__4) = upf_tweak_words(upf_byte_count(fld_h(
          local_ctx__3), 0), mk__tweak_value(byte_count_lsb := 0, 
          byte_count_msb := 0, reserved := 0, tree_level := 0, bit_pad := 
          false, field_type := skein_block_type_out, first_block := true, 
          final_block := true))
%%%  Simplified H103 on reading formula in, to give:
     %%%  H103:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx__4), [i___2]) 
          and element(fld_b(local_ctx__4), [i___2]) <= 
          spark__unsigned__byte__last)
%%%  Simplified H104 on reading formula in, to give:
     %%%  H104:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx__4), [i___1]) 
          and element(fld_x(local_ctx__4), [i___1]) <= 
          spark__unsigned__u64__last)
---  Hypothesis H105 has been replaced by "true".  (It is already present, as 
          H83).
---  Hypothesis H106 has been replaced by "true".  (It is already present, as 
          H84).
---  Hypothesis H107 has been replaced by "true".  (It is already present, as 
          H85).
---  Hypothesis H108 has been replaced by "true".  (It is already present, as 
          H86).
---  Hypothesis H111 has been replaced by "true".  (It is already present, as 
          H89).
---  Hypothesis H112 has been replaced by "true".  (It is already present, as 
          H90).
---  Hypothesis H114 has been replaced by "true".  (It is already present, as 
          H92).
---  Hypothesis H115 has been replaced by "true".  (It is already present, as 
          H93).
---  Hypothesis H116 has been replaced by "true".  (It is already present, as 
          H94).
---  Hypothesis H117 has been replaced by "true".  (It is already present, as 
          H95).
---  Hypothesis H118 has been replaced by "true".  (It is already present, as 
          H96).
---  Hypothesis H119 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H120 has been replaced by "true".  (It is already present, as 
          H98).
---  Hypothesis H121 has been replaced by "true".  (It is already present, as 
          H99).
---  Hypothesis H122 has been replaced by "true".  (It is already present, as 
          H103).
---  Hypothesis H123 has been replaced by "true".  (It is already present, as 
          H104).
---  Hypothesis H124 has been replaced by "true".  (It is already present, as 
          H83).
---  Hypothesis H125 has been replaced by "true".  (It is already present, as 
          H84).
---  Hypothesis H126 has been replaced by "true".  (It is already present, as 
          H85).
---  Hypothesis H127 has been replaced by "true".  (It is already present, as 
          H86).
---  Hypothesis H130 has been replaced by "true".  (It is already present, as 
          H89).
---  Hypothesis H131 has been replaced by "true".  (It is already present, as 
          H90).
---  Hypothesis H133 has been replaced by "true".  (It is already present, as 
          H92).
---  Hypothesis H134 has been replaced by "true".  (It is already present, as 
          H93).
---  Hypothesis H135 has been replaced by "true".  (It is already present, as 
          H94).
---  Hypothesis H136 has been replaced by "true".  (It is already present, as 
          H95).
---  Hypothesis H137 has been replaced by "true".  (It is already present, as 
          H96).
---  Hypothesis H138 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H139 has been replaced by "true".  (It is already present, as 
          H98).
---  Hypothesis H140 has been replaced by "true".  (It is already present, as 
          H99).
%%%  Simplified H141 on reading formula in, to give:
     %%%  H141:  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(local_ctx__4), [i___1]) 
          and element(fld_b(local_ctx__4), [i___1]) <= 
          spark__unsigned__byte__last)
%%%  Simplified H153 on reading formula in, to give:
     %%%  H153:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H154 on reading formula in, to give:
     %%%  H154:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H156 on reading formula in, to give:
     %%%  H156:  63 <= natural__last
%%%  Simplified H163 on reading formula in, to give:
     %%%  H163:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx__5), [i___2]) 
          and element(fld_b(local_ctx__5), [i___2]) <= 
          spark__unsigned__byte__last)
%%%  Simplified H164 on reading formula in, to give:
     %%%  H164:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx__5), [i___1]) 
          and element(fld_x(local_ctx__5), [i___1]) <= 
          spark__unsigned__u64__last)
---  Hypothesis H182 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H183 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H190 has been replaced by "true".  (It is already present, as 
          H186).
---  Hypothesis H191 has been replaced by "true".  (It is already present, as 
          H187).
***  Proved C2:  skein_512_block_bytes_c <= natural__last
     using hypotheses H187 & H192.
-S-  Applied substitution rule skein_512_fi_rules(1).
     This was achieved by replacing all occurrences of skein_512_block_bytes_c 
          by:
          64.
<S>  New H3:  blocks_done * 64 < byte_count
<S>  New H4:  blocks_done * 64 < result__index__subtype__1__last + 1
<S>  New H186:  byte_count - blocks_done * 64 >= natural__first
<S>  New H187:  byte_count - blocks_done * 64 <= natural__last
<S>  New H188:  blocks_done * 64 >= integer__base__first
<S>  New H189:  blocks_done * 64 <= integer__base__last
<S>  New H192:  byte_count - blocks_done * 64 >= 64
<S>  New C1:  64 >= natural__first
-S-  Applied substitution rule skein_512_fi_rules(9).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H9:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H42:  fld_byte_count(fld_h(local_ctx__3)) >= 0
<S>  New H83:  fld_byte_count(fld_h(local_ctx__4)) >= 0
<S>  New H142:  true
<S>  New H146:  true
<S>  New H165:  fld_byte_count(fld_h(local_ctx__5)) >= 0
<S>  New H186:  byte_count - blocks_done * 64 >= 0
<S>  New C1:  true
***  Proved C1:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_final_27.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  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 H8 on reading formula in, to give:
     %%%  H8:  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)
---  Hypothesis H36 has been replaced by "true".  (It is already present, as H1)
          .
---  Hypothesis H37 has been replaced by "true".  (It is already present, as 
          H34).
---  Hypothesis H38 has been replaced by "true".  (It is already present, as 
          H35).
%%%  Simplified H40 on reading formula in, to give:
     %%%  H40:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx__3), [i___2]) 
          and element(fld_b(local_ctx__3), [i___2]) <= 
          spark__unsigned__byte__last)
%%%  Simplified H41 on reading formula in, to give:
     %%%  H41:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx__3), [i___1]) 
          and element(fld_x(local_ctx__3), [i___1]) <= 
          spark__unsigned__u64__last)
---  Hypothesis H59 has been replaced by "true".  (It is already present, as 
          H40).
---  Hypothesis H60 has been replaced by "true".  (It is already present, as 
          H41).
---  Hypothesis H61 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H62 has been replaced by "true".  (It is already present, as 
          H43).
---  Hypothesis H63 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H64 has been replaced by "true".  (It is already present, as 
          H45).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H48).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H49).
---  Hypothesis H70 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H71 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H72 has been replaced by "true".  (It is already present, as 
          H53).
---  Hypothesis H73 has been replaced by "true".  (It is already present, as 
          H54).
---  Hypothesis H74 has been replaced by "true".  (It is already present, as 
          H55).
---  Hypothesis H75 has been replaced by "true".  (It is already present, as 
          H56).
---  Hypothesis H76 has been replaced by "true".  (It is already present, as 
          H57).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H58).
%%%  Simplified H80 on reading formula in, to give:
     %%%  H80:  fld_h(local_ctx__4) = upf_tweak_words(upf_byte_count(fld_h(
          local_ctx__3), 0), mk__tweak_value(byte_count_lsb := 0, 
          byte_count_msb := 0, reserved := 0, tree_level := 0, bit_pad := 
          false, field_type := skein_block_type_out, first_block := true, 
          final_block := true))
%%%  Simplified H103 on reading formula in, to give:
     %%%  H103:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx__4), [i___2]) 
          and element(fld_b(local_ctx__4), [i___2]) <= 
          spark__unsigned__byte__last)
%%%  Simplified H104 on reading formula in, to give:
     %%%  H104:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx__4), [i___1]) 
          and element(fld_x(local_ctx__4), [i___1]) <= 
          spark__unsigned__u64__last)
---  Hypothesis H105 has been replaced by "true".  (It is already present, as 
          H83).
---  Hypothesis H106 has been replaced by "true".  (It is already present, as 
          H84).
---  Hypothesis H107 has been replaced by "true".  (It is already present, as 
          H85).
---  Hypothesis H108 has been replaced by "true".  (It is already present, as 
          H86).
---  Hypothesis H111 has been replaced by "true".  (It is already present, as 
          H89).
---  Hypothesis H112 has been replaced by "true".  (It is already present, as 
          H90).
---  Hypothesis H114 has been replaced by "true".  (It is already present, as 
          H92).
---  Hypothesis H115 has been replaced by "true".  (It is already present, as 
          H93).
---  Hypothesis H116 has been replaced by "true".  (It is already present, as 
          H94).
---  Hypothesis H117 has been replaced by "true".  (It is already present, as 
          H95).
---  Hypothesis H118 has been replaced by "true".  (It is already present, as 
          H96).
---  Hypothesis H119 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H120 has been replaced by "true".  (It is already present, as 
          H98).
---  Hypothesis H121 has been replaced by "true".  (It is already present, as 
          H99).
---  Hypothesis H122 has been replaced by "true".  (It is already present, as 
          H103).
---  Hypothesis H123 has been replaced by "true".  (It is already present, as 
          H104).
---  Hypothesis H124 has been replaced by "true".  (It is already present, as 
          H83).
---  Hypothesis H125 has been replaced by "true".  (It is already present, as 
          H84).
---  Hypothesis H126 has been replaced by "true".  (It is already present, as 
          H85).
---  Hypothesis H127 has been replaced by "true".  (It is already present, as 
          H86).
---  Hypothesis H130 has been replaced by "true".  (It is already present, as 
          H89).
---  Hypothesis H131 has been replaced by "true".  (It is already present, as 
          H90).
---  Hypothesis H133 has been replaced by "true".  (It is already present, as 
          H92).
---  Hypothesis H134 has been replaced by "true".  (It is already present, as 
          H93).
---  Hypothesis H135 has been replaced by "true".  (It is already present, as 
          H94).
---  Hypothesis H136 has been replaced by "true".  (It is already present, as 
          H95).
---  Hypothesis H137 has been replaced by "true".  (It is already present, as 
          H96).
---  Hypothesis H138 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H139 has been replaced by "true".  (It is already present, as 
          H98).
---  Hypothesis H140 has been replaced by "true".  (It is already present, as 
          H99).
%%%  Simplified H141 on reading formula in, to give:
     %%%  H141:  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(local_ctx__4), [i___1]) 
          and element(fld_b(local_ctx__4), [i___1]) <= 
          spark__unsigned__byte__last)
%%%  Simplified H153 on reading formula in, to give:
     %%%  H153:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H154 on reading formula in, to give:
     %%%  H154:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H156 on reading formula in, to give:
     %%%  H156:  63 <= natural__last
%%%  Simplified H163 on reading formula in, to give:
     %%%  H163:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx__5), [i___2]) 
          and element(fld_b(local_ctx__5), [i___2]) <= 
          spark__unsigned__byte__last)
%%%  Simplified H164 on reading formula in, to give:
     %%%  H164:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx__5), [i___1]) 
          and element(fld_x(local_ctx__5), [i___1]) <= 
          spark__unsigned__u64__last)
---  Hypothesis H182 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H183 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H190 has been replaced by "true".  (It is already present, as 
          H186).
---  Hypothesis H191 has been replaced by "true".  (It is already present, as 
          H187).
%%%  Simplified H195 on reading formula in, to give:
     %%%  H195:  for_all(i___1 : integer, result__index__subtype__1__first <= 
          i___1 and i___1 <= result__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(result, [i___1]) and element(
          result, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H196 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H197 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H198 has been replaced by "true".  (It is already present, as 
          H163).
---  Hypothesis H199 has been replaced by "true".  (It is already present, as 
          H164).
---  Hypothesis H200 has been replaced by "true".  (It is already present, as 
          H165).
---  Hypothesis H201 has been replaced by "true".  (It is already present, as 
          H166).
---  Hypothesis H202 has been replaced by "true".  (It is already present, as 
          H167).
---  Hypothesis H203 has been replaced by "true".  (It is already present, as 
          H168).
---  Hypothesis H206 has been replaced by "true".  (It is already present, as 
          H171).
---  Hypothesis H207 has been replaced by "true".  (It is already present, as 
          H172).
---  Hypothesis H209 has been replaced by "true".  (It is already present, as 
          H174).
---  Hypothesis H210 has been replaced by "true".  (It is already present, as 
          H175).
---  Hypothesis H211 has been replaced by "true".  (It is already present, as 
          H176).
---  Hypothesis H212 has been replaced by "true".  (It is already present, as 
          H177).
---  Hypothesis H213 has been replaced by "true".  (It is already present, as 
          H178).
---  Hypothesis H214 has been replaced by "true".  (It is already present, as 
          H179).
---  Hypothesis H215 has been replaced by "true".  (It is already present, as 
          H180).
---  Hypothesis H216 has been replaced by "true".  (It is already present, as 
          H181).
---  Hypothesis H217 has been replaced by "true".  (It is already present, as 
          H193).
---  Hypothesis H218 has been replaced by "true".  (It is already present, as 
          H194).
***  Proved C1:  skein_512_block_bytes_c >= natural__first
     using hypothesis H193.
***  Proved C2:  skein_512_block_bytes_c <= natural__last
     using hypothesis H194.
***  Proved C5:  result__index__subtype__1__first = 0
     using hypothesis H30.
***  Proved C9:  blocks_done * skein_512_block_bytes_c >= integer__base__first
     using hypothesis H188.
***  Proved C10:  blocks_done * skein_512_block_bytes_c <= integer__base__last
     using hypothesis H189.
-S-  Applied substitution rule skein_512_fi_rules(9).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H9:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H42:  fld_byte_count(fld_h(local_ctx__3)) >= 0
<S>  New H83:  fld_byte_count(fld_h(local_ctx__4)) >= 0
<S>  New H142:  true
<S>  New H146:  true
<S>  New H165:  fld_byte_count(fld_h(local_ctx__5)) >= 0
<S>  New H186:  byte_count - blocks_done * skein_512_block_bytes_c >= 0
<S>  New H193:  skein_512_block_bytes_c >= 0
<S>  New C3:  blocks_done * skein_512_block_bytes_c >= 0
-S-  Applied substitution rule skein_512_fi_rules(10).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H10:  fld_byte_count(fld_h(ctx)) <= 2147483647
<S>  New H43:  fld_byte_count(fld_h(local_ctx__3)) <= 2147483647
<S>  New H84:  fld_byte_count(fld_h(local_ctx__4)) <= 2147483647
<S>  New H143:  true
<S>  New H147:  true
<S>  New H155:  skein_512_block_bytes_index__last <= 2147483647
<S>  New H156:  true
<S>  New H166:  fld_byte_count(fld_h(local_ctx__5)) <= 2147483647
<S>  New H187:  byte_count - blocks_done * skein_512_block_bytes_c <= 2147483647
<S>  New H194:  skein_512_block_bytes_c <= 2147483647
<S>  New C4:  blocks_done * skein_512_block_bytes_c <= 2147483647
-S-  Applied substitution rule skein_512_fi_rules(1).
     This was achieved by replacing all occurrences of skein_512_block_bytes_c 
          by:
          64.
<S>  New H3:  blocks_done * 64 < byte_count
<S>  New H4:  blocks_done * 64 < result__index__subtype__1__last + 1
<S>  New H188:  blocks_done * 64 >= integer__base__first
<S>  New H189:  blocks_done * 64 <= integer__base__last
<S>  New H192:  byte_count - blocks_done * 64 >= 64
<S>  New H186:  byte_count - blocks_done * 64 >= 0
<S>  New H193:  true
<S>  New H187:  byte_count - blocks_done * 64 <= 2147483647
<S>  New H194:  true
<S>  New C7:  result__index__subtype__1__last >= blocks_done * 64 + 63
<S>  New C8:  64 <= (skein_512_state_words_index__last + 1) * 8
<S>  New C3:  blocks_done * 64 >= 0
<S>  New C4:  blocks_done * 64 <= 2147483647
-S-  Applied substitution rule skein_512_fi_rules(2).
     This was achieved by replacing all occurrences of skein_block_type_out by:
          63.
<S>  New H78:  63 >= spark__unsigned__u6__first
<S>  New H79:  63 <= spark__unsigned__u6__last
<S>  New H80:  fld_h(local_ctx__4) = upf_tweak_words(upf_byte_count(fld_h(
          local_ctx__3), 0), mk__tweak_value(byte_count_lsb := 0, 
          byte_count_msb := 0, reserved := 0, tree_level := 0, bit_pad := 
          false, field_type := 63, first_block := true, final_block := true))
-S-  Applied substitution rule skein_512_fi_rules(6).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H188:  blocks_done * 64 >= - 2147483648
-S-  Applied substitution rule skein_512_fi_rules(7).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H189:  blocks_done * 64 <= 2147483647
-S-  Applied substitution rule skein_512_fi_rules(42).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H15:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H48:  fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) >= 0
<S>  New H89:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) >= 0
<S>  New H171:  fld_field_type(fld_tweak_words(fld_h(local_ctx__5))) >= 0
<S>  New H78:  true
-S-  Applied substitution rule skein_512_fi_rules(43).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H16:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 63
<S>  New H49:  fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) <= 63
<S>  New H90:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) <= 63
<S>  New H172:  fld_field_type(fld_tweak_words(fld_h(local_ctx__5))) <= 63
<S>  New H79:  true
-S-  Applied substitution rule skein_512_fi_rules(48).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H18:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H51:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) >= 0
<S>  New H92:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) >= 0
<S>  New H174:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__5))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(49).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H19:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 127
<S>  New H52:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) <= 127
<S>  New H93:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) <= 127
<S>  New H175:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__5))) <= 127
-S-  Applied substitution rule skein_512_fi_rules(54).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H7:  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 H40:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__3), [i___2]) and element(fld_b(local_ctx__3), [i___2]
          ) <= spark__unsigned__byte__last)
<S>  New H103:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__4), [i___2]) and element(fld_b(local_ctx__4), [i___2]
          ) <= spark__unsigned__byte__last)
<S>  New H141:  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(local_ctx__4), [i___1]) and element(fld_b(local_ctx__4), [i___1]
          ) <= spark__unsigned__byte__last)
<S>  New H163:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__5), [i___2]) and element(fld_b(local_ctx__5), [i___2]
          ) <= spark__unsigned__byte__last)
<S>  New H195:  for_all(i___1 : integer, result__index__subtype__1__first <= 
          i___1 and i___1 <= result__index__subtype__1__last -> 0 <= element(
          result, [i___1]) and element(result, [i___1]) <= 
          spark__unsigned__byte__last)
-S-  Applied substitution rule skein_512_fi_rules(55).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H7:  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 H40:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__3), [i___2]) and element(fld_b(local_ctx__3), [i___2]
          ) <= 255)
<S>  New H103:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__4), [i___2]) and element(fld_b(local_ctx__4), [i___2]
          ) <= 255)
<S>  New H141:  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(local_ctx__4), [i___1]) and element(fld_b(local_ctx__4), [i___1]
          ) <= 255)
<S>  New H163:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__5), [i___2]) and element(fld_b(local_ctx__5), [i___2]
          ) <= 255)
<S>  New H195:  for_all(i___1 : integer, result__index__subtype__1__first <= 
          i___1 and i___1 <= result__index__subtype__1__last -> 0 <= element(
          result, [i___1]) and element(result, [i___1]) <= 255)
-S-  Applied substitution rule skein_512_fi_rules(60).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H20:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H53:  fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) >= 0
<S>  New H94:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) >= 0
<S>  New H176:  fld_reserved(fld_tweak_words(fld_h(local_ctx__5))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(61).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H21:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 65535
<S>  New H54:  fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) <= 65535
<S>  New H95:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) <= 65535
<S>  New H177:  fld_reserved(fld_tweak_words(fld_h(local_ctx__5))) <= 65535
-S-  Applied substitution rule skein_512_fi_rules(66).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H22:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H55:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) >= 0
<S>  New H96:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) >= 0
<S>  New H178:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__5))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(67).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H23:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 4294967295
<S>  New H56:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) <= 
          4294967295
<S>  New H97:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) <= 
          4294967295
<S>  New H179:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__5))) <= 
          4294967295
-S-  Applied substitution rule skein_512_fi_rules(72).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H8:  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 H24:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H34:  blocks_done >= 0
<S>  New H41:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__3), [i___1]) and element(fld_x(local_ctx__3), [i___1]
          ) <= spark__unsigned__u64__last)
<S>  New H57:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) >= 0
<S>  New H98:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) >= 0
<S>  New H104:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__4), [i___1]) and element(fld_x(local_ctx__4), [i___1]
          ) <= spark__unsigned__u64__last)
<S>  New H164:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__5), [i___1]) and element(fld_x(local_ctx__5), [i___1]
          ) <= spark__unsigned__u64__last)
<S>  New H180:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__5))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(73).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H25:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          18446744073709551615
<S>  New H35:  blocks_done <= 18446744073709551615
<S>  New H58:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) <= 
          18446744073709551615
<S>  New H99:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) <= 
          18446744073709551615
<S>  New H181:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__5))) <= 
          18446744073709551615
<S>  New H8:  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 H41:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__3), [i___1]) and element(fld_x(local_ctx__3), [i___1]
          ) <= 18446744073709551615)
<S>  New H104:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__4), [i___1]) and element(fld_x(local_ctx__4), [i___1]
          ) <= 18446744073709551615)
<S>  New H164:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__5), [i___1]) and element(fld_x(local_ctx__5), [i___1]
          ) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_fi_rules(83).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H11:  fld_hash_bit_len(fld_h(ctx)) >= 0
<S>  New H44:  fld_hash_bit_len(fld_h(local_ctx__3)) >= 0
<S>  New H85:  fld_hash_bit_len(fld_h(local_ctx__4)) >= 0
<S>  New H167:  fld_hash_bit_len(fld_h(local_ctx__5)) >= 0
-S-  Applied substitution rule skein_512_fi_rules(84).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H12:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H45:  fld_hash_bit_len(fld_h(local_ctx__3)) <= 2147483640
<S>  New H86:  fld_hash_bit_len(fld_h(local_ctx__4)) <= 2147483640
<S>  New H168:  fld_hash_bit_len(fld_h(local_ctx__5)) <= 2147483640
-S-  Applied substitution rule skein_512_fi_rules(88).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__first by:
          1.
<S>  New H26:  fld_hash_bit_len(fld_h(ctx)) >= 1
<S>  New H148:  fld_hash_bit_len(fld_h(local_ctx__4)) >= 1
<S>  New H157:  fld_hash_bit_len(fld_h(local_ctx__5)) >= 1
-S-  Applied substitution rule skein_512_fi_rules(89).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__last by:
          2147483640.
<S>  New H27:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H149:  fld_hash_bit_len(fld_h(local_ctx__4)) <= 2147483640
<S>  New H158:  fld_hash_bit_len(fld_h(local_ctx__5)) <= 2147483640
-S-  Applied substitution rule skein_512_fi_rules(93).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H8:  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 H41:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(local_ctx__3)
          , [i___1]) and element(fld_x(local_ctx__3), [i___1]) <= 
          18446744073709551615)
<S>  New H104:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(local_ctx__4)
          , [i___1]) and element(fld_x(local_ctx__4), [i___1]) <= 
          18446744073709551615)
<S>  New H164:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(local_ctx__5)
          , [i___1]) and element(fld_x(local_ctx__5), [i___1]) <= 
          18446744073709551615)
<S>  New C6:  true
-S-  Applied substitution rule skein_512_fi_rules(94).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H8:  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 H41:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(local_ctx__3), [i___1]) and element(fld_x(local_ctx__3)
          , [i___1]) <= 18446744073709551615)
<S>  New H104:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(local_ctx__4), [i___1]) and element(fld_x(local_ctx__4)
          , [i___1]) <= 18446744073709551615)
<S>  New H164:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(local_ctx__5), [i___1]) and element(fld_x(local_ctx__5)
          , [i___1]) <= 18446744073709551615)
<S>  New C8:  true
-S-  Applied substitution rule skein_512_fi_rules(98).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__first by:
          0.
<S>  New H28:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H150:  fld_byte_count(fld_h(local_ctx__4)) >= 0
<S>  New H160:  fld_byte_count(fld_h(local_ctx__5)) >= 0
-S-  Applied substitution rule skein_512_fi_rules(99).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__last by:
          64.
<S>  New H29:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New H151:  fld_byte_count(fld_h(local_ctx__4)) <= 64
<S>  New H161:  fld_byte_count(fld_h(local_ctx__5)) <= 64
-S-  Applied substitution rule skein_512_fi_rules(103).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H152:  true
<S>  New H7:  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 H40:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(local_ctx__3)
          , [i___2]) and element(fld_b(local_ctx__3), [i___2]) <= 255)
<S>  New H103:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(local_ctx__4)
          , [i___2]) and element(fld_b(local_ctx__4), [i___2]) <= 255)
<S>  New H141:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(local_ctx__4)
          , [i___1]) and element(fld_b(local_ctx__4), [i___1]) <= 255)
<S>  New H163:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(local_ctx__5)
          , [i___2]) and element(fld_b(local_ctx__5), [i___2]) <= 255)
-S-  Applied substitution rule skein_512_fi_rules(104).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H153:  true
<S>  New H154:  true
<S>  New H155:  true
<S>  New H7:  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 H40:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(local_ctx__3), [i___2]) and element(fld_b(local_ctx__3)
          , [i___2]) <= 255)
<S>  New H103:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(local_ctx__4), [i___2]) and element(fld_b(local_ctx__4)
          , [i___2]) <= 255)
<S>  New H141:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 63 -> 0 <= 
          element(fld_b(local_ctx__4), [i___1]) and element(fld_b(local_ctx__4)
          , [i___1]) <= 255)
<S>  New H163:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(local_ctx__5), [i___2]) and element(fld_b(local_ctx__5)
          , [i___2]) <= 255)
-S-  Applied substitution rule skein_512_fi_rules(108).
     This was achieved by replacing all occurrences of 
          positive_block_512_count_t__first by:
          1.
<S>  New H144:  true
-S-  Applied substitution rule skein_512_fi_rules(109).
     This was achieved by replacing all occurrences of 
          positive_block_512_count_t__last by:
          33554431.
<S>  New H145:  true
-S-  Applied substitution rule skein_512_fi_rules(125).
     This was achieved by replacing all occurrences of 
          output_byte_count_t__first by:
          1.
<S>  New H184:  byte_count >= 1
-S-  Applied substitution rule skein_512_fi_rules(126).
     This was achieved by replacing all occurrences of 
          output_byte_count_t__last by:
          268435455.
<S>  New H185:  byte_count <= 268435455
-S-  Applied substitution rule skein_512_fi_rules(130).
     This was achieved by replacing all occurrences of 
          output_block_count_t__first by:
          0.
<S>  New H32:  blocks_done >= 0
-S-  Applied substitution rule skein_512_fi_rules(131).
     This was achieved by replacing all occurrences of 
          output_block_count_t__last by:
          4194304.
<S>  New H33:  blocks_done <= 4194304
***  Proved C3:  blocks_done * 64 >= 0
     using hypothesis H34.
***  Proved C4:  blocks_done * 64 <= 2147483647
     using hypothesis H189.
***  Proved C6:  true
***  Proved C8:  true
---  Eliminated hypothesis H13 (true-hypothesis).
---  Eliminated hypothesis H14 (true-hypothesis).
---  Eliminated hypothesis H17 (true-hypothesis).
---  Eliminated hypothesis H36 (true-hypothesis).
---  Eliminated hypothesis H37 (true-hypothesis).
---  Eliminated hypothesis H38 (true-hypothesis).
---  Eliminated hypothesis H46 (true-hypothesis).
---  Eliminated hypothesis H47 (true-hypothesis).
---  Eliminated hypothesis H50 (true-hypothesis).
---  Eliminated hypothesis H59 (true-hypothesis).
---  Eliminated hypothesis H60 (true-hypothesis).
---  Eliminated hypothesis H61 (true-hypothesis).
---  Eliminated hypothesis H62 (true-hypothesis).
---  Eliminated hypothesis H63 (true-hypothesis).
---  Eliminated hypothesis H64 (true-hypothesis).
---  Eliminated hypothesis H65 (true-hypothesis).
---  Eliminated hypothesis H66 (true-hypothesis).
---  Eliminated hypothesis H67 (true-hypothesis).
---  Eliminated hypothesis H68 (true-hypothesis).
---  Eliminated hypothesis H69 (true-hypothesis).
---  Eliminated hypothesis H70 (true-hypothesis).
---  Eliminated hypothesis H71 (true-hypothesis).
---  Eliminated hypothesis H72 (true-hypothesis).
---  Eliminated hypothesis H73 (true-hypothesis).
---  Eliminated hypothesis H74 (true-hypothesis).
---  Eliminated hypothesis H75 (true-hypothesis).
---  Eliminated hypothesis H76 (true-hypothesis).
---  Eliminated hypothesis H77 (true-hypothesis).
---  Eliminated hypothesis H87 (true-hypothesis).
---  Eliminated hypothesis H88 (true-hypothesis).
---  Eliminated hypothesis H91 (true-hypothesis).
---  Eliminated hypothesis H105 (true-hypothesis).
---  Eliminated hypothesis H106 (true-hypothesis).
---  Eliminated hypothesis H107 (true-hypothesis).
---  Eliminated hypothesis H108 (true-hypothesis).
---  Eliminated hypothesis H109 (true-hypothesis).
---  Eliminated hypothesis H110 (true-hypothesis).
---  Eliminated hypothesis H111 (true-hypothesis).
---  Eliminated hypothesis H112 (true-hypothesis).
---  Eliminated hypothesis H113 (true-hypothesis).
---  Eliminated hypothesis H114 (true-hypothesis).
---  Eliminated hypothesis H115 (true-hypothesis).
---  Eliminated hypothesis H116 (true-hypothesis).
---  Eliminated hypothesis H117 (true-hypothesis).
---  Eliminated hypothesis H118 (true-hypothesis).
---  Eliminated hypothesis H119 (true-hypothesis).
---  Eliminated hypothesis H120 (true-hypothesis).
---  Eliminated hypothesis H121 (true-hypothesis).
---  Eliminated hypothesis H122 (true-hypothesis).
---  Eliminated hypothesis H123 (true-hypothesis).
---  Eliminated hypothesis H124 (true-hypothesis).
---  Eliminated hypothesis H125 (true-hypothesis).
---  Eliminated hypothesis H126 (true-hypothesis).
---  Eliminated hypothesis H127 (true-hypothesis).
---  Eliminated hypothesis H128 (true-hypothesis).
---  Eliminated hypothesis H129 (true-hypothesis).
---  Eliminated hypothesis H130 (true-hypothesis).
---  Eliminated hypothesis H131 (true-hypothesis).
---  Eliminated hypothesis H132 (true-hypothesis).
---  Eliminated hypothesis H133 (true-hypothesis).
---  Eliminated hypothesis H134 (true-hypothesis).
---  Eliminated hypothesis H135 (true-hypothesis).
---  Eliminated hypothesis H136 (true-hypothesis).
---  Eliminated hypothesis H137 (true-hypothesis).
---  Eliminated hypothesis H138 (true-hypothesis).
---  Eliminated hypothesis H139 (true-hypothesis).
---  Eliminated hypothesis H140 (true-hypothesis).
---  Eliminated hypothesis H142 (true-hypothesis).
---  Eliminated hypothesis H143 (true-hypothesis).
---  Eliminated hypothesis H146 (true-hypothesis).
---  Eliminated hypothesis H147 (true-hypothesis).
---  Eliminated hypothesis H156 (true-hypothesis).
---  Eliminated hypothesis H169 (true-hypothesis).
---  Eliminated hypothesis H170 (true-hypothesis).
---  Eliminated hypothesis H173 (true-hypothesis).
---  Eliminated hypothesis H182 (true-hypothesis).
---  Eliminated hypothesis H183 (true-hypothesis).
---  Eliminated hypothesis H190 (true-hypothesis).
---  Eliminated hypothesis H191 (true-hypothesis).
---  Eliminated hypothesis H193 (true-hypothesis).
---  Eliminated hypothesis H194 (true-hypothesis).
---  Eliminated hypothesis H196 (true-hypothesis).
---  Eliminated hypothesis H197 (true-hypothesis).
---  Eliminated hypothesis H198 (true-hypothesis).
---  Eliminated hypothesis H199 (true-hypothesis).
---  Eliminated hypothesis H200 (true-hypothesis).
---  Eliminated hypothesis H201 (true-hypothesis).
---  Eliminated hypothesis H202 (true-hypothesis).
---  Eliminated hypothesis H203 (true-hypothesis).
---  Eliminated hypothesis H204 (true-hypothesis).
---  Eliminated hypothesis H205 (true-hypothesis).
---  Eliminated hypothesis H206 (true-hypothesis).
---  Eliminated hypothesis H207 (true-hypothesis).
---  Eliminated hypothesis H208 (true-hypothesis).
---  Eliminated hypothesis H209 (true-hypothesis).
---  Eliminated hypothesis H210 (true-hypothesis).
---  Eliminated hypothesis H211 (true-hypothesis).
---  Eliminated hypothesis H212 (true-hypothesis).
---  Eliminated hypothesis H213 (true-hypothesis).
---  Eliminated hypothesis H214 (true-hypothesis).
---  Eliminated hypothesis H215 (true-hypothesis).
---  Eliminated hypothesis H216 (true-hypothesis).
---  Eliminated hypothesis H217 (true-hypothesis).
---  Eliminated hypothesis H218 (true-hypothesis).
---  Eliminated hypothesis H78 (true-hypothesis).
---  Eliminated hypothesis H79 (true-hypothesis).
---  Eliminated hypothesis H152 (true-hypothesis).
---  Eliminated hypothesis H153 (true-hypothesis).
---  Eliminated hypothesis H154 (true-hypothesis).
---  Eliminated hypothesis H155 (true-hypothesis).
---  Eliminated hypothesis H144 (true-hypothesis).
---  Eliminated hypothesis H145 (true-hypothesis).
---  Eliminated hypothesis H28 (duplicate of H9).
---  Eliminated hypothesis H150 (duplicate of H83).
---  Eliminated hypothesis H27 (duplicate of H12).
---  Eliminated hypothesis H149 (duplicate of H86).
---  Eliminated hypothesis H168 (duplicate of H158).
---  Eliminated hypothesis H165 (duplicate of H160).
---  Eliminated hypothesis H34 (duplicate of H32).
---  Eliminated hypothesis H3 (redundant, given H192).
---  Eliminated hypothesis H4 (redundant, given H2 & H192).
---  Eliminated hypothesis H10 (redundant, given H29).
---  Eliminated hypothesis H11 (redundant, given H26).
---  Eliminated hypothesis H35 (redundant, given H33).
---  Eliminated hypothesis H44 (redundant, given H39).
---  Eliminated hypothesis H83 (redundant, given H82).
---  Eliminated hypothesis H84 (redundant, given H82).
---  Eliminated hypothesis H85 (redundant, given H148).
---  Eliminated hypothesis H151 (redundant, given H82).
---  Eliminated hypothesis H166 (redundant, given H161).
---  Eliminated hypothesis H167 (redundant, given H157).
---  Eliminated hypothesis H184 (redundant, given H32 & H192).
---  Eliminated hypothesis H186 (redundant, given H192).
---  Eliminated hypothesis H188 (redundant, given H32).
---  Eliminated hypothesis H189 (redundant, given H33).
-S-  Eliminated hypothesis H6.
     This was achieved by replacing all occurrences of blocks_required by:
          (byte_count + 63) div 64.
<S>  New H5:  blocks_done < (byte_count + 63) div 64
-S-  Substituted hypothesis H81.
     This was achieved by replacing all occurrences of fld_hash_bit_len(fld_h(
          local_ctx__4)) by:
          fld_hash_bit_len(fld_h(local_ctx__3)).
-S-  Substituted hypothesis H100.
     This was achieved by replacing all occurrences of fld_x(local_ctx__4) by:
          fld_x(local_ctx__3).
-S-  Substituted hypothesis H101.
     This was achieved by replacing all occurrences of fld_b(local_ctx__4) by:
          fld_b(local_ctx__3).
-S-  Substituted hypothesis H162.
     This was achieved by replacing all occurrences of fld_byte_count(fld_h(
          local_ctx__5)) by:
          fld_byte_count(fld_h(local_ctx__4)).
-S-  Substituted hypothesis H159.
     This was achieved by replacing all occurrences of fld_hash_bit_len(fld_h(
          local_ctx__5)) by:
          fld_hash_bit_len(fld_h(local_ctx__3)).
***  Proved C7:  result__index__subtype__1__last >= blocks_done * 64 + 63
     via its standard form, which is:
     Std.Fm C7:  - (64 * blocks_done) + result__index__subtype__1__last > 62
     using hypotheses H2 & H192.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_final_28.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  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 H8 on reading formula in, to give:
     %%%  H8:  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)
---  Hypothesis H36 has been replaced by "true".  (It is already present, as H1)
          .
---  Hypothesis H37 has been replaced by "true".  (It is already present, as 
          H34).
---  Hypothesis H38 has been replaced by "true".  (It is already present, as 
          H35).
%%%  Simplified H40 on reading formula in, to give:
     %%%  H40:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx__3), [i___2]) 
          and element(fld_b(local_ctx__3), [i___2]) <= 
          spark__unsigned__byte__last)
%%%  Simplified H41 on reading formula in, to give:
     %%%  H41:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx__3), [i___1]) 
          and element(fld_x(local_ctx__3), [i___1]) <= 
          spark__unsigned__u64__last)
---  Hypothesis H59 has been replaced by "true".  (It is already present, as 
          H40).
---  Hypothesis H60 has been replaced by "true".  (It is already present, as 
          H41).
---  Hypothesis H61 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H62 has been replaced by "true".  (It is already present, as 
          H43).
---  Hypothesis H63 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H64 has been replaced by "true".  (It is already present, as 
          H45).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H48).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H49).
---  Hypothesis H70 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H71 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H72 has been replaced by "true".  (It is already present, as 
          H53).
---  Hypothesis H73 has been replaced by "true".  (It is already present, as 
          H54).
---  Hypothesis H74 has been replaced by "true".  (It is already present, as 
          H55).
---  Hypothesis H75 has been replaced by "true".  (It is already present, as 
          H56).
---  Hypothesis H76 has been replaced by "true".  (It is already present, as 
          H57).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H58).
%%%  Simplified H80 on reading formula in, to give:
     %%%  H80:  fld_h(local_ctx__4) = upf_tweak_words(upf_byte_count(fld_h(
          local_ctx__3), 0), mk__tweak_value(byte_count_lsb := 0, 
          byte_count_msb := 0, reserved := 0, tree_level := 0, bit_pad := 
          false, field_type := skein_block_type_out, first_block := true, 
          final_block := true))
%%%  Simplified H103 on reading formula in, to give:
     %%%  H103:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx__4), [i___2]) 
          and element(fld_b(local_ctx__4), [i___2]) <= 
          spark__unsigned__byte__last)
%%%  Simplified H104 on reading formula in, to give:
     %%%  H104:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx__4), [i___1]) 
          and element(fld_x(local_ctx__4), [i___1]) <= 
          spark__unsigned__u64__last)
---  Hypothesis H105 has been replaced by "true".  (It is already present, as 
          H83).
---  Hypothesis H106 has been replaced by "true".  (It is already present, as 
          H84).
---  Hypothesis H107 has been replaced by "true".  (It is already present, as 
          H85).
---  Hypothesis H108 has been replaced by "true".  (It is already present, as 
          H86).
---  Hypothesis H111 has been replaced by "true".  (It is already present, as 
          H89).
---  Hypothesis H112 has been replaced by "true".  (It is already present, as 
          H90).
---  Hypothesis H114 has been replaced by "true".  (It is already present, as 
          H92).
---  Hypothesis H115 has been replaced by "true".  (It is already present, as 
          H93).
---  Hypothesis H116 has been replaced by "true".  (It is already present, as 
          H94).
---  Hypothesis H117 has been replaced by "true".  (It is already present, as 
          H95).
---  Hypothesis H118 has been replaced by "true".  (It is already present, as 
          H96).
---  Hypothesis H119 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H120 has been replaced by "true".  (It is already present, as 
          H98).
---  Hypothesis H121 has been replaced by "true".  (It is already present, as 
          H99).
---  Hypothesis H122 has been replaced by "true".  (It is already present, as 
          H103).
---  Hypothesis H123 has been replaced by "true".  (It is already present, as 
          H104).
---  Hypothesis H124 has been replaced by "true".  (It is already present, as 
          H83).
---  Hypothesis H125 has been replaced by "true".  (It is already present, as 
          H84).
---  Hypothesis H126 has been replaced by "true".  (It is already present, as 
          H85).
---  Hypothesis H127 has been replaced by "true".  (It is already present, as 
          H86).
---  Hypothesis H130 has been replaced by "true".  (It is already present, as 
          H89).
---  Hypothesis H131 has been replaced by "true".  (It is already present, as 
          H90).
---  Hypothesis H133 has been replaced by "true".  (It is already present, as 
          H92).
---  Hypothesis H134 has been replaced by "true".  (It is already present, as 
          H93).
---  Hypothesis H135 has been replaced by "true".  (It is already present, as 
          H94).
---  Hypothesis H136 has been replaced by "true".  (It is already present, as 
          H95).
---  Hypothesis H137 has been replaced by "true".  (It is already present, as 
          H96).
---  Hypothesis H138 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H139 has been replaced by "true".  (It is already present, as 
          H98).
---  Hypothesis H140 has been replaced by "true".  (It is already present, as 
          H99).
%%%  Simplified H141 on reading formula in, to give:
     %%%  H141:  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(local_ctx__4), [i___1]) 
          and element(fld_b(local_ctx__4), [i___1]) <= 
          spark__unsigned__byte__last)
%%%  Simplified H153 on reading formula in, to give:
     %%%  H153:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H154 on reading formula in, to give:
     %%%  H154:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H156 on reading formula in, to give:
     %%%  H156:  63 <= natural__last
%%%  Simplified H163 on reading formula in, to give:
     %%%  H163:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx__5), [i___2]) 
          and element(fld_b(local_ctx__5), [i___2]) <= 
          spark__unsigned__byte__last)
%%%  Simplified H164 on reading formula in, to give:
     %%%  H164:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx__5), [i___1]) 
          and element(fld_x(local_ctx__5), [i___1]) <= 
          spark__unsigned__u64__last)
---  Hypothesis H182 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H183 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H190 has been replaced by "true".  (It is already present, as 
          H186).
---  Hypothesis H191 has been replaced by "true".  (It is already present, as 
          H187).
%%%  Simplified H193 on reading formula in, to give:
     %%%  H193:  for_all(i___1 : integer, result__index__subtype__1__first <= 
          i___1 and i___1 <= result__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(result, [i___1]) and element(
          result, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H194 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H195 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H196 has been replaced by "true".  (It is already present, as 
          H163).
---  Hypothesis H197 has been replaced by "true".  (It is already present, as 
          H164).
---  Hypothesis H198 has been replaced by "true".  (It is already present, as 
          H165).
---  Hypothesis H199 has been replaced by "true".  (It is already present, as 
          H166).
---  Hypothesis H200 has been replaced by "true".  (It is already present, as 
          H167).
---  Hypothesis H201 has been replaced by "true".  (It is already present, as 
          H168).
---  Hypothesis H204 has been replaced by "true".  (It is already present, as 
          H171).
---  Hypothesis H205 has been replaced by "true".  (It is already present, as 
          H172).
---  Hypothesis H207 has been replaced by "true".  (It is already present, as 
          H174).
---  Hypothesis H208 has been replaced by "true".  (It is already present, as 
          H175).
---  Hypothesis H209 has been replaced by "true".  (It is already present, as 
          H176).
---  Hypothesis H210 has been replaced by "true".  (It is already present, as 
          H177).
---  Hypothesis H211 has been replaced by "true".  (It is already present, as 
          H178).
---  Hypothesis H212 has been replaced by "true".  (It is already present, as 
          H179).
---  Hypothesis H213 has been replaced by "true".  (It is already present, as 
          H180).
---  Hypothesis H214 has been replaced by "true".  (It is already present, as 
          H181).
---  Hypothesis H215 has been replaced by "true".  (It is already present, as 
          H186).
---  Hypothesis H216 has been replaced by "true".  (It is already present, as 
          H187).
***  Proved C1:  byte_count - blocks_done * skein_512_block_bytes_c >= 
          natural__first
     using hypothesis H186.
***  Proved C2:  byte_count - blocks_done * skein_512_block_bytes_c <= 
          natural__last
     using hypothesis H187.
***  Proved C5:  result__index__subtype__1__first = 0
     using hypothesis H30.
***  Proved C9:  blocks_done * skein_512_block_bytes_c >= integer__base__first
     using hypothesis H188.
***  Proved C10:  blocks_done * skein_512_block_bytes_c <= integer__base__last
     using hypothesis H189.
-S-  Applied substitution rule skein_512_fi_rules(9).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H9:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H42:  fld_byte_count(fld_h(local_ctx__3)) >= 0
<S>  New H83:  fld_byte_count(fld_h(local_ctx__4)) >= 0
<S>  New H142:  true
<S>  New H146:  true
<S>  New H165:  fld_byte_count(fld_h(local_ctx__5)) >= 0
<S>  New H186:  byte_count - blocks_done * skein_512_block_bytes_c >= 0
<S>  New C3:  blocks_done * skein_512_block_bytes_c >= 0
-S-  Applied substitution rule skein_512_fi_rules(10).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H10:  fld_byte_count(fld_h(ctx)) <= 2147483647
<S>  New H43:  fld_byte_count(fld_h(local_ctx__3)) <= 2147483647
<S>  New H84:  fld_byte_count(fld_h(local_ctx__4)) <= 2147483647
<S>  New H143:  true
<S>  New H147:  true
<S>  New H155:  skein_512_block_bytes_index__last <= 2147483647
<S>  New H156:  true
<S>  New H166:  fld_byte_count(fld_h(local_ctx__5)) <= 2147483647
<S>  New H187:  byte_count - blocks_done * skein_512_block_bytes_c <= 2147483647
<S>  New C4:  blocks_done * skein_512_block_bytes_c <= 2147483647
>>>  Restructured hypothesis H192 into:
     >>>  H192:  byte_count - blocks_done * skein_512_block_bytes_c < 
          skein_512_block_bytes_c
-S-  Applied substitution rule skein_512_fi_rules(1).
     This was achieved by replacing all occurrences of skein_512_block_bytes_c 
          by:
          64.
<S>  New H3:  blocks_done * 64 < byte_count
<S>  New H4:  blocks_done * 64 < result__index__subtype__1__last + 1
<S>  New H186:  byte_count - blocks_done * 64 >= 0
<S>  New H187:  byte_count - blocks_done * 64 <= 2147483647
<S>  New H188:  blocks_done * 64 >= integer__base__first
<S>  New H189:  blocks_done * 64 <= integer__base__last
<S>  New H192:  byte_count - blocks_done * 64 < 64
<S>  New C7:  result__index__subtype__1__last >= blocks_done * 64 + (byte_count 
          - blocks_done * 64 - 1)
<S>  New C8:  byte_count - blocks_done * 64 <= (
          skein_512_state_words_index__last + 1) * 8
<S>  New C3:  blocks_done * 64 >= 0
<S>  New C4:  blocks_done * 64 <= 2147483647
-S-  Applied substitution rule skein_512_fi_rules(2).
     This was achieved by replacing all occurrences of skein_block_type_out by:
          63.
<S>  New H78:  63 >= spark__unsigned__u6__first
<S>  New H79:  63 <= spark__unsigned__u6__last
<S>  New H80:  fld_h(local_ctx__4) = upf_tweak_words(upf_byte_count(fld_h(
          local_ctx__3), 0), mk__tweak_value(byte_count_lsb := 0, 
          byte_count_msb := 0, reserved := 0, tree_level := 0, bit_pad := 
          false, field_type := 63, first_block := true, final_block := true))
-S-  Applied substitution rule skein_512_fi_rules(6).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H188:  blocks_done * 64 >= - 2147483648
-S-  Applied substitution rule skein_512_fi_rules(7).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H189:  blocks_done * 64 <= 2147483647
-S-  Applied substitution rule skein_512_fi_rules(42).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H15:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H48:  fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) >= 0
<S>  New H89:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) >= 0
<S>  New H171:  fld_field_type(fld_tweak_words(fld_h(local_ctx__5))) >= 0
<S>  New H78:  true
-S-  Applied substitution rule skein_512_fi_rules(43).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H16:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 63
<S>  New H49:  fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) <= 63
<S>  New H90:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) <= 63
<S>  New H172:  fld_field_type(fld_tweak_words(fld_h(local_ctx__5))) <= 63
<S>  New H79:  true
-S-  Applied substitution rule skein_512_fi_rules(48).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H18:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H51:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) >= 0
<S>  New H92:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) >= 0
<S>  New H174:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__5))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(49).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H19:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 127
<S>  New H52:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) <= 127
<S>  New H93:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) <= 127
<S>  New H175:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__5))) <= 127
-S-  Applied substitution rule skein_512_fi_rules(54).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H7:  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 H40:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__3), [i___2]) and element(fld_b(local_ctx__3), [i___2]
          ) <= spark__unsigned__byte__last)
<S>  New H103:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__4), [i___2]) and element(fld_b(local_ctx__4), [i___2]
          ) <= spark__unsigned__byte__last)
<S>  New H141:  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(local_ctx__4), [i___1]) and element(fld_b(local_ctx__4), [i___1]
          ) <= spark__unsigned__byte__last)
<S>  New H163:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__5), [i___2]) and element(fld_b(local_ctx__5), [i___2]
          ) <= spark__unsigned__byte__last)
<S>  New H193:  for_all(i___1 : integer, result__index__subtype__1__first <= 
          i___1 and i___1 <= result__index__subtype__1__last -> 0 <= element(
          result, [i___1]) and element(result, [i___1]) <= 
          spark__unsigned__byte__last)
-S-  Applied substitution rule skein_512_fi_rules(55).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H7:  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 H40:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__3), [i___2]) and element(fld_b(local_ctx__3), [i___2]
          ) <= 255)
<S>  New H103:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__4), [i___2]) and element(fld_b(local_ctx__4), [i___2]
          ) <= 255)
<S>  New H141:  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(local_ctx__4), [i___1]) and element(fld_b(local_ctx__4), [i___1]
          ) <= 255)
<S>  New H163:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__5), [i___2]) and element(fld_b(local_ctx__5), [i___2]
          ) <= 255)
<S>  New H193:  for_all(i___1 : integer, result__index__subtype__1__first <= 
          i___1 and i___1 <= result__index__subtype__1__last -> 0 <= element(
          result, [i___1]) and element(result, [i___1]) <= 255)
-S-  Applied substitution rule skein_512_fi_rules(60).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H20:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H53:  fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) >= 0
<S>  New H94:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) >= 0
<S>  New H176:  fld_reserved(fld_tweak_words(fld_h(local_ctx__5))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(61).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H21:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 65535
<S>  New H54:  fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) <= 65535
<S>  New H95:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) <= 65535
<S>  New H177:  fld_reserved(fld_tweak_words(fld_h(local_ctx__5))) <= 65535
-S-  Applied substitution rule skein_512_fi_rules(66).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H22:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H55:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) >= 0
<S>  New H96:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) >= 0
<S>  New H178:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__5))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(67).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H23:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 4294967295
<S>  New H56:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) <= 
          4294967295
<S>  New H97:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) <= 
          4294967295
<S>  New H179:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__5))) <= 
          4294967295
-S-  Applied substitution rule skein_512_fi_rules(72).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H8:  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 H24:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H34:  blocks_done >= 0
<S>  New H41:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__3), [i___1]) and element(fld_x(local_ctx__3), [i___1]
          ) <= spark__unsigned__u64__last)
<S>  New H57:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) >= 0
<S>  New H98:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) >= 0
<S>  New H104:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__4), [i___1]) and element(fld_x(local_ctx__4), [i___1]
          ) <= spark__unsigned__u64__last)
<S>  New H164:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__5), [i___1]) and element(fld_x(local_ctx__5), [i___1]
          ) <= spark__unsigned__u64__last)
<S>  New H180:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__5))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(73).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H25:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          18446744073709551615
<S>  New H35:  blocks_done <= 18446744073709551615
<S>  New H58:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) <= 
          18446744073709551615
<S>  New H99:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) <= 
          18446744073709551615
<S>  New H181:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__5))) <= 
          18446744073709551615
<S>  New H8:  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 H41:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__3), [i___1]) and element(fld_x(local_ctx__3), [i___1]
          ) <= 18446744073709551615)
<S>  New H104:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__4), [i___1]) and element(fld_x(local_ctx__4), [i___1]
          ) <= 18446744073709551615)
<S>  New H164:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__5), [i___1]) and element(fld_x(local_ctx__5), [i___1]
          ) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_fi_rules(83).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H11:  fld_hash_bit_len(fld_h(ctx)) >= 0
<S>  New H44:  fld_hash_bit_len(fld_h(local_ctx__3)) >= 0
<S>  New H85:  fld_hash_bit_len(fld_h(local_ctx__4)) >= 0
<S>  New H167:  fld_hash_bit_len(fld_h(local_ctx__5)) >= 0
-S-  Applied substitution rule skein_512_fi_rules(84).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H12:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H45:  fld_hash_bit_len(fld_h(local_ctx__3)) <= 2147483640
<S>  New H86:  fld_hash_bit_len(fld_h(local_ctx__4)) <= 2147483640
<S>  New H168:  fld_hash_bit_len(fld_h(local_ctx__5)) <= 2147483640
-S-  Applied substitution rule skein_512_fi_rules(88).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__first by:
          1.
<S>  New H26:  fld_hash_bit_len(fld_h(ctx)) >= 1
<S>  New H148:  fld_hash_bit_len(fld_h(local_ctx__4)) >= 1
<S>  New H157:  fld_hash_bit_len(fld_h(local_ctx__5)) >= 1
-S-  Applied substitution rule skein_512_fi_rules(89).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__last by:
          2147483640.
<S>  New H27:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H149:  fld_hash_bit_len(fld_h(local_ctx__4)) <= 2147483640
<S>  New H158:  fld_hash_bit_len(fld_h(local_ctx__5)) <= 2147483640
-S-  Applied substitution rule skein_512_fi_rules(93).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H8:  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 H41:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(local_ctx__3)
          , [i___1]) and element(fld_x(local_ctx__3), [i___1]) <= 
          18446744073709551615)
<S>  New H104:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(local_ctx__4)
          , [i___1]) and element(fld_x(local_ctx__4), [i___1]) <= 
          18446744073709551615)
<S>  New H164:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(local_ctx__5)
          , [i___1]) and element(fld_x(local_ctx__5), [i___1]) <= 
          18446744073709551615)
<S>  New C6:  true
-S-  Applied substitution rule skein_512_fi_rules(94).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H8:  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 H41:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(local_ctx__3), [i___1]) and element(fld_x(local_ctx__3)
          , [i___1]) <= 18446744073709551615)
<S>  New H104:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(local_ctx__4), [i___1]) and element(fld_x(local_ctx__4)
          , [i___1]) <= 18446744073709551615)
<S>  New H164:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(local_ctx__5), [i___1]) and element(fld_x(local_ctx__5)
          , [i___1]) <= 18446744073709551615)
<S>  New C8:  byte_count - blocks_done * 64 <= 64
-S-  Applied substitution rule skein_512_fi_rules(98).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__first by:
          0.
<S>  New H28:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H150:  fld_byte_count(fld_h(local_ctx__4)) >= 0
<S>  New H160:  fld_byte_count(fld_h(local_ctx__5)) >= 0
-S-  Applied substitution rule skein_512_fi_rules(99).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__last by:
          64.
<S>  New H29:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New H151:  fld_byte_count(fld_h(local_ctx__4)) <= 64
<S>  New H161:  fld_byte_count(fld_h(local_ctx__5)) <= 64
-S-  Applied substitution rule skein_512_fi_rules(103).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H152:  true
<S>  New H7:  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 H40:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(local_ctx__3)
          , [i___2]) and element(fld_b(local_ctx__3), [i___2]) <= 255)
<S>  New H103:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(local_ctx__4)
          , [i___2]) and element(fld_b(local_ctx__4), [i___2]) <= 255)
<S>  New H141:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(local_ctx__4)
          , [i___1]) and element(fld_b(local_ctx__4), [i___1]) <= 255)
<S>  New H163:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(local_ctx__5)
          , [i___2]) and element(fld_b(local_ctx__5), [i___2]) <= 255)
-S-  Applied substitution rule skein_512_fi_rules(104).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H153:  true
<S>  New H154:  true
<S>  New H155:  true
<S>  New H7:  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 H40:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(local_ctx__3), [i___2]) and element(fld_b(local_ctx__3)
          , [i___2]) <= 255)
<S>  New H103:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(local_ctx__4), [i___2]) and element(fld_b(local_ctx__4)
          , [i___2]) <= 255)
<S>  New H141:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 63 -> 0 <= 
          element(fld_b(local_ctx__4), [i___1]) and element(fld_b(local_ctx__4)
          , [i___1]) <= 255)
<S>  New H163:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(local_ctx__5), [i___2]) and element(fld_b(local_ctx__5)
          , [i___2]) <= 255)
-S-  Applied substitution rule skein_512_fi_rules(108).
     This was achieved by replacing all occurrences of 
          positive_block_512_count_t__first by:
          1.
<S>  New H144:  true
-S-  Applied substitution rule skein_512_fi_rules(109).
     This was achieved by replacing all occurrences of 
          positive_block_512_count_t__last by:
          33554431.
<S>  New H145:  true
-S-  Applied substitution rule skein_512_fi_rules(125).
     This was achieved by replacing all occurrences of 
          output_byte_count_t__first by:
          1.
<S>  New H184:  byte_count >= 1
-S-  Applied substitution rule skein_512_fi_rules(126).
     This was achieved by replacing all occurrences of 
          output_byte_count_t__last by:
          268435455.
<S>  New H185:  byte_count <= 268435455
-S-  Applied substitution rule skein_512_fi_rules(130).
     This was achieved by replacing all occurrences of 
          output_block_count_t__first by:
          0.
<S>  New H32:  blocks_done >= 0
-S-  Applied substitution rule skein_512_fi_rules(131).
     This was achieved by replacing all occurrences of 
          output_block_count_t__last by:
          4194304.
<S>  New H33:  blocks_done <= 4194304
***  Proved C7:  result__index__subtype__1__last >= blocks_done * 64 + (
          byte_count - blocks_done * 64 - 1)
     via its standard form, which is:
     Std.Fm C7:  - byte_count + result__index__subtype__1__last > - 2
     using hypothesis H2.
***  Proved C3:  blocks_done * 64 >= 0
     using hypothesis H34.
***  Proved C4:  blocks_done * 64 <= 2147483647
     using hypothesis H189.
***  Proved C6:  true
***  Proved C8:  byte_count - blocks_done * 64 <= 64
     using hypothesis H192.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_final_29.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  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 H8 on reading formula in, to give:
     %%%  H8:  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)
---  Hypothesis H36 has been replaced by "true".  (It is already present, as H1)
          .
---  Hypothesis H37 has been replaced by "true".  (It is already present, as 
          H34).
---  Hypothesis H38 has been replaced by "true".  (It is already present, as 
          H35).
%%%  Simplified H40 on reading formula in, to give:
     %%%  H40:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx__3), [i___2]) 
          and element(fld_b(local_ctx__3), [i___2]) <= 
          spark__unsigned__byte__last)
%%%  Simplified H41 on reading formula in, to give:
     %%%  H41:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx__3), [i___1]) 
          and element(fld_x(local_ctx__3), [i___1]) <= 
          spark__unsigned__u64__last)
---  Hypothesis H59 has been replaced by "true".  (It is already present, as 
          H40).
---  Hypothesis H60 has been replaced by "true".  (It is already present, as 
          H41).
---  Hypothesis H61 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H62 has been replaced by "true".  (It is already present, as 
          H43).
---  Hypothesis H63 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H64 has been replaced by "true".  (It is already present, as 
          H45).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H48).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H49).
---  Hypothesis H70 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H71 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H72 has been replaced by "true".  (It is already present, as 
          H53).
---  Hypothesis H73 has been replaced by "true".  (It is already present, as 
          H54).
---  Hypothesis H74 has been replaced by "true".  (It is already present, as 
          H55).
---  Hypothesis H75 has been replaced by "true".  (It is already present, as 
          H56).
---  Hypothesis H76 has been replaced by "true".  (It is already present, as 
          H57).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H58).
%%%  Simplified H80 on reading formula in, to give:
     %%%  H80:  fld_h(local_ctx__4) = upf_tweak_words(upf_byte_count(fld_h(
          local_ctx__3), 0), mk__tweak_value(byte_count_lsb := 0, 
          byte_count_msb := 0, reserved := 0, tree_level := 0, bit_pad := 
          false, field_type := skein_block_type_out, first_block := true, 
          final_block := true))
%%%  Simplified H103 on reading formula in, to give:
     %%%  H103:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx__4), [i___2]) 
          and element(fld_b(local_ctx__4), [i___2]) <= 
          spark__unsigned__byte__last)
%%%  Simplified H104 on reading formula in, to give:
     %%%  H104:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx__4), [i___1]) 
          and element(fld_x(local_ctx__4), [i___1]) <= 
          spark__unsigned__u64__last)
---  Hypothesis H105 has been replaced by "true".  (It is already present, as 
          H83).
---  Hypothesis H106 has been replaced by "true".  (It is already present, as 
          H84).
---  Hypothesis H107 has been replaced by "true".  (It is already present, as 
          H85).
---  Hypothesis H108 has been replaced by "true".  (It is already present, as 
          H86).
---  Hypothesis H111 has been replaced by "true".  (It is already present, as 
          H89).
---  Hypothesis H112 has been replaced by "true".  (It is already present, as 
          H90).
---  Hypothesis H114 has been replaced by "true".  (It is already present, as 
          H92).
---  Hypothesis H115 has been replaced by "true".  (It is already present, as 
          H93).
---  Hypothesis H116 has been replaced by "true".  (It is already present, as 
          H94).
---  Hypothesis H117 has been replaced by "true".  (It is already present, as 
          H95).
---  Hypothesis H118 has been replaced by "true".  (It is already present, as 
          H96).
---  Hypothesis H119 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H120 has been replaced by "true".  (It is already present, as 
          H98).
---  Hypothesis H121 has been replaced by "true".  (It is already present, as 
          H99).
---  Hypothesis H122 has been replaced by "true".  (It is already present, as 
          H103).
---  Hypothesis H123 has been replaced by "true".  (It is already present, as 
          H104).
---  Hypothesis H124 has been replaced by "true".  (It is already present, as 
          H83).
---  Hypothesis H125 has been replaced by "true".  (It is already present, as 
          H84).
---  Hypothesis H126 has been replaced by "true".  (It is already present, as 
          H85).
---  Hypothesis H127 has been replaced by "true".  (It is already present, as 
          H86).
---  Hypothesis H130 has been replaced by "true".  (It is already present, as 
          H89).
---  Hypothesis H131 has been replaced by "true".  (It is already present, as 
          H90).
---  Hypothesis H133 has been replaced by "true".  (It is already present, as 
          H92).
---  Hypothesis H134 has been replaced by "true".  (It is already present, as 
          H93).
---  Hypothesis H135 has been replaced by "true".  (It is already present, as 
          H94).
---  Hypothesis H136 has been replaced by "true".  (It is already present, as 
          H95).
---  Hypothesis H137 has been replaced by "true".  (It is already present, as 
          H96).
---  Hypothesis H138 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H139 has been replaced by "true".  (It is already present, as 
          H98).
---  Hypothesis H140 has been replaced by "true".  (It is already present, as 
          H99).
%%%  Simplified H141 on reading formula in, to give:
     %%%  H141:  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(local_ctx__4), [i___1]) 
          and element(fld_b(local_ctx__4), [i___1]) <= 
          spark__unsigned__byte__last)
%%%  Simplified H153 on reading formula in, to give:
     %%%  H153:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H154 on reading formula in, to give:
     %%%  H154:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H156 on reading formula in, to give:
     %%%  H156:  63 <= natural__last
%%%  Simplified H163 on reading formula in, to give:
     %%%  H163:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx__5), [i___2]) 
          and element(fld_b(local_ctx__5), [i___2]) <= 
          spark__unsigned__byte__last)
%%%  Simplified H164 on reading formula in, to give:
     %%%  H164:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx__5), [i___1]) 
          and element(fld_x(local_ctx__5), [i___1]) <= 
          spark__unsigned__u64__last)
---  Hypothesis H182 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H183 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H190 has been replaced by "true".  (It is already present, as 
          H186).
---  Hypothesis H191 has been replaced by "true".  (It is already present, as 
          H187).
%%%  Simplified H195 on reading formula in, to give:
     %%%  H195:  for_all(i___1 : integer, result__index__subtype__1__first <= 
          i___1 and i___1 <= result__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(result, [i___1]) and element(
          result, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H196 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H197 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H198 has been replaced by "true".  (It is already present, as 
          H163).
---  Hypothesis H199 has been replaced by "true".  (It is already present, as 
          H164).
---  Hypothesis H200 has been replaced by "true".  (It is already present, as 
          H165).
---  Hypothesis H201 has been replaced by "true".  (It is already present, as 
          H166).
---  Hypothesis H202 has been replaced by "true".  (It is already present, as 
          H167).
---  Hypothesis H203 has been replaced by "true".  (It is already present, as 
          H168).
---  Hypothesis H206 has been replaced by "true".  (It is already present, as 
          H171).
---  Hypothesis H207 has been replaced by "true".  (It is already present, as 
          H172).
---  Hypothesis H209 has been replaced by "true".  (It is already present, as 
          H174).
---  Hypothesis H210 has been replaced by "true".  (It is already present, as 
          H175).
---  Hypothesis H211 has been replaced by "true".  (It is already present, as 
          H176).
---  Hypothesis H212 has been replaced by "true".  (It is already present, as 
          H177).
---  Hypothesis H213 has been replaced by "true".  (It is already present, as 
          H178).
---  Hypothesis H214 has been replaced by "true".  (It is already present, as 
          H179).
---  Hypothesis H215 has been replaced by "true".  (It is already present, as 
          H180).
---  Hypothesis H216 has been replaced by "true".  (It is already present, as 
          H181).
---  Hypothesis H217 has been replaced by "true".  (It is already present, as 
          H193).
---  Hypothesis H218 has been replaced by "true".  (It is already present, as 
          H194).
---  Hypothesis H219 has been replaced by "true".  (It is already present, as 
          H193).
---  Hypothesis H220 has been replaced by "true".  (It is already present, as 
          H194).
---  Hypothesis H223 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H227 has been replaced by "true".  (It is already present, as 
          H188).
---  Hypothesis H228 has been replaced by "true".  (It is already present, as 
          H189).
%%%  Simplified H229 on reading formula in, to give:
     %%%  H229:  for_all(i___1 : integer, result__index__subtype__1__first <= 
          i___1 and i___1 <= result__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(result__6, [i___1]) and 
          element(result__6, [i___1]) <= spark__unsigned__byte__last)
%%%  Simplified H230 on reading formula in, to give:
     %%%  H230:  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(x, [i___1]) and element(x, [
          i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H231 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H232 has been replaced by "true".  (It is already present, as 
          H33).
***  Proved C1:  blocks_done + 1 >= output_block_count_t__first
     using hypothesis H32.
-S-  Applied substitution rule skein_512_fi_rules(131).
     This was achieved by replacing all occurrences of 
          output_block_count_t__last by:
          4194304.
<S>  New H33:  blocks_done <= 4194304
<S>  New C2:  blocks_done <= 4194303
-S-  Applied substitution rule skein_512_fi_rules(1).
     This was achieved by replacing all occurrences of skein_512_block_bytes_c 
          by:
          64.
<S>  New H3:  blocks_done * 64 < byte_count
<S>  New H4:  blocks_done * 64 < result__index__subtype__1__last + 1
<S>  New H186:  byte_count - blocks_done * 64 >= natural__first
<S>  New H187:  byte_count - blocks_done * 64 <= natural__last
<S>  New H188:  blocks_done * 64 >= integer__base__first
<S>  New H189:  blocks_done * 64 <= integer__base__last
<S>  New H192:  byte_count - blocks_done * 64 >= 64
<S>  New H193:  64 >= natural__first
<S>  New H194:  64 <= natural__last
<S>  New H221:  blocks_done * 64 >= natural__first
<S>  New H222:  blocks_done * 64 <= natural__last
<S>  New H225:  result__index__subtype__1__last >= blocks_done * 64 + 63
<S>  New H226:  64 <= (skein_512_state_words_index__last + 1) * 8
-S-  Applied substitution rule skein_512_fi_rules(2).
     This was achieved by replacing all occurrences of skein_block_type_out by:
          63.
<S>  New H78:  63 >= spark__unsigned__u6__first
<S>  New H79:  63 <= spark__unsigned__u6__last
<S>  New H80:  fld_h(local_ctx__4) = upf_tweak_words(upf_byte_count(fld_h(
          local_ctx__3), 0), mk__tweak_value(byte_count_lsb := 0, 
          byte_count_msb := 0, reserved := 0, tree_level := 0, bit_pad := 
          false, field_type := 63, first_block := true, final_block := true))
-S-  Applied substitution rule skein_512_fi_rules(6).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H188:  blocks_done * 64 >= - 2147483648
-S-  Applied substitution rule skein_512_fi_rules(7).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H189:  blocks_done * 64 <= 2147483647
-S-  Applied substitution rule skein_512_fi_rules(9).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H9:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H42:  fld_byte_count(fld_h(local_ctx__3)) >= 0
<S>  New H83:  fld_byte_count(fld_h(local_ctx__4)) >= 0
<S>  New H142:  true
<S>  New H146:  true
<S>  New H165:  fld_byte_count(fld_h(local_ctx__5)) >= 0
<S>  New H186:  byte_count - blocks_done * 64 >= 0
<S>  New H193:  true
<S>  New H221:  blocks_done * 64 >= 0
-S-  Applied substitution rule skein_512_fi_rules(10).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H10:  fld_byte_count(fld_h(ctx)) <= 2147483647
<S>  New H43:  fld_byte_count(fld_h(local_ctx__3)) <= 2147483647
<S>  New H84:  fld_byte_count(fld_h(local_ctx__4)) <= 2147483647
<S>  New H143:  true
<S>  New H147:  true
<S>  New H155:  skein_512_block_bytes_index__last <= 2147483647
<S>  New H156:  true
<S>  New H166:  fld_byte_count(fld_h(local_ctx__5)) <= 2147483647
<S>  New H187:  byte_count - blocks_done * 64 <= 2147483647
<S>  New H194:  true
<S>  New H222:  blocks_done * 64 <= 2147483647
-S-  Applied substitution rule skein_512_fi_rules(42).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H15:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H48:  fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) >= 0
<S>  New H89:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) >= 0
<S>  New H171:  fld_field_type(fld_tweak_words(fld_h(local_ctx__5))) >= 0
<S>  New H78:  true
-S-  Applied substitution rule skein_512_fi_rules(43).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H16:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 63
<S>  New H49:  fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) <= 63
<S>  New H90:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) <= 63
<S>  New H172:  fld_field_type(fld_tweak_words(fld_h(local_ctx__5))) <= 63
<S>  New H79:  true
-S-  Applied substitution rule skein_512_fi_rules(48).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H18:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H51:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) >= 0
<S>  New H92:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) >= 0
<S>  New H174:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__5))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(49).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H19:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 127
<S>  New H52:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) <= 127
<S>  New H93:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) <= 127
<S>  New H175:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__5))) <= 127
-S-  Applied substitution rule skein_512_fi_rules(54).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H7:  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 H40:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__3), [i___2]) and element(fld_b(local_ctx__3), [i___2]
          ) <= spark__unsigned__byte__last)
<S>  New H103:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__4), [i___2]) and element(fld_b(local_ctx__4), [i___2]
          ) <= spark__unsigned__byte__last)
<S>  New H141:  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(local_ctx__4), [i___1]) and element(fld_b(local_ctx__4), [i___1]
          ) <= spark__unsigned__byte__last)
<S>  New H163:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__5), [i___2]) and element(fld_b(local_ctx__5), [i___2]
          ) <= spark__unsigned__byte__last)
<S>  New H195:  for_all(i___1 : integer, result__index__subtype__1__first <= 
          i___1 and i___1 <= result__index__subtype__1__last -> 0 <= element(
          result, [i___1]) and element(result, [i___1]) <= 
          spark__unsigned__byte__last)
<S>  New H229:  for_all(i___1 : integer, result__index__subtype__1__first <= 
          i___1 and i___1 <= result__index__subtype__1__last -> 0 <= element(
          result__6, [i___1]) and element(result__6, [i___1]) <= 
          spark__unsigned__byte__last)
-S-  Applied substitution rule skein_512_fi_rules(55).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H7:  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 H40:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__3), [i___2]) and element(fld_b(local_ctx__3), [i___2]
          ) <= 255)
<S>  New H103:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__4), [i___2]) and element(fld_b(local_ctx__4), [i___2]
          ) <= 255)
<S>  New H141:  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(local_ctx__4), [i___1]) and element(fld_b(local_ctx__4), [i___1]
          ) <= 255)
<S>  New H163:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__5), [i___2]) and element(fld_b(local_ctx__5), [i___2]
          ) <= 255)
<S>  New H195:  for_all(i___1 : integer, result__index__subtype__1__first <= 
          i___1 and i___1 <= result__index__subtype__1__last -> 0 <= element(
          result, [i___1]) and element(result, [i___1]) <= 255)
<S>  New H229:  for_all(i___1 : integer, result__index__subtype__1__first <= 
          i___1 and i___1 <= result__index__subtype__1__last -> 0 <= element(
          result__6, [i___1]) and element(result__6, [i___1]) <= 255)
-S-  Applied substitution rule skein_512_fi_rules(60).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H20:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H53:  fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) >= 0
<S>  New H94:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) >= 0
<S>  New H176:  fld_reserved(fld_tweak_words(fld_h(local_ctx__5))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(61).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H21:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 65535
<S>  New H54:  fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) <= 65535
<S>  New H95:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) <= 65535
<S>  New H177:  fld_reserved(fld_tweak_words(fld_h(local_ctx__5))) <= 65535
-S-  Applied substitution rule skein_512_fi_rules(66).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H22:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H55:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) >= 0
<S>  New H96:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) >= 0
<S>  New H178:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__5))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(67).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H23:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 4294967295
<S>  New H56:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) <= 
          4294967295
<S>  New H97:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) <= 
          4294967295
<S>  New H179:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__5))) <= 
          4294967295
-S-  Applied substitution rule skein_512_fi_rules(72).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H8:  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 H24:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H34:  blocks_done >= 0
<S>  New H41:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__3), [i___1]) and element(fld_x(local_ctx__3), [i___1]
          ) <= spark__unsigned__u64__last)
<S>  New H57:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) >= 0
<S>  New H98:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) >= 0
<S>  New H104:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__4), [i___1]) and element(fld_x(local_ctx__4), [i___1]
          ) <= spark__unsigned__u64__last)
<S>  New H164:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__5), [i___1]) and element(fld_x(local_ctx__5), [i___1]
          ) <= spark__unsigned__u64__last)
<S>  New H180:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__5))) >= 0
<S>  New H230:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          x, [i___1]) and element(x, [i___1]) <= spark__unsigned__u64__last)
-S-  Applied substitution rule skein_512_fi_rules(73).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H25:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          18446744073709551615
<S>  New H35:  blocks_done <= 18446744073709551615
<S>  New H58:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) <= 
          18446744073709551615
<S>  New H99:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) <= 
          18446744073709551615
<S>  New H181:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__5))) <= 
          18446744073709551615
<S>  New H8:  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 H41:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__3), [i___1]) and element(fld_x(local_ctx__3), [i___1]
          ) <= 18446744073709551615)
<S>  New H104:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__4), [i___1]) and element(fld_x(local_ctx__4), [i___1]
          ) <= 18446744073709551615)
<S>  New H164:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__5), [i___1]) and element(fld_x(local_ctx__5), [i___1]
          ) <= 18446744073709551615)
<S>  New H230:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          x, [i___1]) and element(x, [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_fi_rules(83).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H11:  fld_hash_bit_len(fld_h(ctx)) >= 0
<S>  New H44:  fld_hash_bit_len(fld_h(local_ctx__3)) >= 0
<S>  New H85:  fld_hash_bit_len(fld_h(local_ctx__4)) >= 0
<S>  New H167:  fld_hash_bit_len(fld_h(local_ctx__5)) >= 0
-S-  Applied substitution rule skein_512_fi_rules(84).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H12:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H45:  fld_hash_bit_len(fld_h(local_ctx__3)) <= 2147483640
<S>  New H86:  fld_hash_bit_len(fld_h(local_ctx__4)) <= 2147483640
<S>  New H168:  fld_hash_bit_len(fld_h(local_ctx__5)) <= 2147483640
-S-  Applied substitution rule skein_512_fi_rules(88).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__first by:
          1.
<S>  New H26:  fld_hash_bit_len(fld_h(ctx)) >= 1
<S>  New H148:  fld_hash_bit_len(fld_h(local_ctx__4)) >= 1
<S>  New H157:  fld_hash_bit_len(fld_h(local_ctx__5)) >= 1
-S-  Applied substitution rule skein_512_fi_rules(89).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__last by:
          2147483640.
<S>  New H27:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H149:  fld_hash_bit_len(fld_h(local_ctx__4)) <= 2147483640
<S>  New H158:  fld_hash_bit_len(fld_h(local_ctx__5)) <= 2147483640
-S-  Applied substitution rule skein_512_fi_rules(93).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H224:  true
<S>  New H8:  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 H41:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(local_ctx__3)
          , [i___1]) and element(fld_x(local_ctx__3), [i___1]) <= 
          18446744073709551615)
<S>  New H104:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(local_ctx__4)
          , [i___1]) and element(fld_x(local_ctx__4), [i___1]) <= 
          18446744073709551615)
<S>  New H164:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(local_ctx__5)
          , [i___1]) and element(fld_x(local_ctx__5), [i___1]) <= 
          18446744073709551615)
<S>  New H230:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(x, [i___1]) and 
          element(x, [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_fi_rules(94).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H226:  true
<S>  New H8:  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 H41:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(local_ctx__3), [i___1]) and element(fld_x(local_ctx__3)
          , [i___1]) <= 18446744073709551615)
<S>  New H104:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(local_ctx__4), [i___1]) and element(fld_x(local_ctx__4)
          , [i___1]) <= 18446744073709551615)
<S>  New H164:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(local_ctx__5), [i___1]) and element(fld_x(local_ctx__5)
          , [i___1]) <= 18446744073709551615)
<S>  New H230:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(x, [i___1]) and element(x, [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_fi_rules(98).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__first by:
          0.
<S>  New H28:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H150:  fld_byte_count(fld_h(local_ctx__4)) >= 0
<S>  New H160:  fld_byte_count(fld_h(local_ctx__5)) >= 0
-S-  Applied substitution rule skein_512_fi_rules(99).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__last by:
          64.
<S>  New H29:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New H151:  fld_byte_count(fld_h(local_ctx__4)) <= 64
<S>  New H161:  fld_byte_count(fld_h(local_ctx__5)) <= 64
-S-  Applied substitution rule skein_512_fi_rules(103).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H152:  true
<S>  New H7:  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 H40:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(local_ctx__3)
          , [i___2]) and element(fld_b(local_ctx__3), [i___2]) <= 255)
<S>  New H103:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(local_ctx__4)
          , [i___2]) and element(fld_b(local_ctx__4), [i___2]) <= 255)
<S>  New H141:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(local_ctx__4)
          , [i___1]) and element(fld_b(local_ctx__4), [i___1]) <= 255)
<S>  New H163:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(local_ctx__5)
          , [i___2]) and element(fld_b(local_ctx__5), [i___2]) <= 255)
-S-  Applied substitution rule skein_512_fi_rules(104).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H153:  true
<S>  New H154:  true
<S>  New H155:  true
<S>  New H7:  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 H40:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(local_ctx__3), [i___2]) and element(fld_b(local_ctx__3)
          , [i___2]) <= 255)
<S>  New H103:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(local_ctx__4), [i___2]) and element(fld_b(local_ctx__4)
          , [i___2]) <= 255)
<S>  New H141:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 63 -> 0 <= 
          element(fld_b(local_ctx__4), [i___1]) and element(fld_b(local_ctx__4)
          , [i___1]) <= 255)
<S>  New H163:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(local_ctx__5), [i___2]) and element(fld_b(local_ctx__5)
          , [i___2]) <= 255)
-S-  Applied substitution rule skein_512_fi_rules(108).
     This was achieved by replacing all occurrences of 
          positive_block_512_count_t__first by:
          1.
<S>  New H144:  true
-S-  Applied substitution rule skein_512_fi_rules(109).
     This was achieved by replacing all occurrences of 
          positive_block_512_count_t__last by:
          33554431.
<S>  New H145:  true
-S-  Applied substitution rule skein_512_fi_rules(125).
     This was achieved by replacing all occurrences of 
          output_byte_count_t__first by:
          1.
<S>  New H184:  byte_count >= 1
-S-  Applied substitution rule skein_512_fi_rules(126).
     This was achieved by replacing all occurrences of 
          output_byte_count_t__last by:
          268435455.
<S>  New H185:  byte_count <= 268435455
-S-  Applied substitution rule skein_512_fi_rules(130).
     This was achieved by replacing all occurrences of 
          output_block_count_t__first by:
          0.
<S>  New H32:  blocks_done >= 0
---  Eliminated hypothesis H13 (true-hypothesis).
---  Eliminated hypothesis H14 (true-hypothesis).
---  Eliminated hypothesis H17 (true-hypothesis).
---  Eliminated hypothesis H36 (true-hypothesis).
---  Eliminated hypothesis H37 (true-hypothesis).
---  Eliminated hypothesis H38 (true-hypothesis).
---  Eliminated hypothesis H46 (true-hypothesis).
---  Eliminated hypothesis H47 (true-hypothesis).
---  Eliminated hypothesis H50 (true-hypothesis).
---  Eliminated hypothesis H59 (true-hypothesis).
---  Eliminated hypothesis H60 (true-hypothesis).
---  Eliminated hypothesis H61 (true-hypothesis).
---  Eliminated hypothesis H62 (true-hypothesis).
---  Eliminated hypothesis H63 (true-hypothesis).
---  Eliminated hypothesis H64 (true-hypothesis).
---  Eliminated hypothesis H65 (true-hypothesis).
---  Eliminated hypothesis H66 (true-hypothesis).
---  Eliminated hypothesis H67 (true-hypothesis).
---  Eliminated hypothesis H68 (true-hypothesis).
---  Eliminated hypothesis H69 (true-hypothesis).
---  Eliminated hypothesis H70 (true-hypothesis).
---  Eliminated hypothesis H71 (true-hypothesis).
---  Eliminated hypothesis H72 (true-hypothesis).
---  Eliminated hypothesis H73 (true-hypothesis).
---  Eliminated hypothesis H74 (true-hypothesis).
---  Eliminated hypothesis H75 (true-hypothesis).
---  Eliminated hypothesis H76 (true-hypothesis).
---  Eliminated hypothesis H77 (true-hypothesis).
---  Eliminated hypothesis H87 (true-hypothesis).
---  Eliminated hypothesis H88 (true-hypothesis).
---  Eliminated hypothesis H91 (true-hypothesis).
---  Eliminated hypothesis H105 (true-hypothesis).
---  Eliminated hypothesis H106 (true-hypothesis).
---  Eliminated hypothesis H107 (true-hypothesis).
---  Eliminated hypothesis H108 (true-hypothesis).
---  Eliminated hypothesis H109 (true-hypothesis).
---  Eliminated hypothesis H110 (true-hypothesis).
---  Eliminated hypothesis H111 (true-hypothesis).
---  Eliminated hypothesis H112 (true-hypothesis).
---  Eliminated hypothesis H113 (true-hypothesis).
---  Eliminated hypothesis H114 (true-hypothesis).
---  Eliminated hypothesis H115 (true-hypothesis).
---  Eliminated hypothesis H116 (true-hypothesis).
---  Eliminated hypothesis H117 (true-hypothesis).
---  Eliminated hypothesis H118 (true-hypothesis).
---  Eliminated hypothesis H119 (true-hypothesis).
---  Eliminated hypothesis H120 (true-hypothesis).
---  Eliminated hypothesis H121 (true-hypothesis).
---  Eliminated hypothesis H122 (true-hypothesis).
---  Eliminated hypothesis H123 (true-hypothesis).
---  Eliminated hypothesis H124 (true-hypothesis).
---  Eliminated hypothesis H125 (true-hypothesis).
---  Eliminated hypothesis H126 (true-hypothesis).
---  Eliminated hypothesis H127 (true-hypothesis).
---  Eliminated hypothesis H128 (true-hypothesis).
---  Eliminated hypothesis H129 (true-hypothesis).
---  Eliminated hypothesis H130 (true-hypothesis).
---  Eliminated hypothesis H131 (true-hypothesis).
---  Eliminated hypothesis H132 (true-hypothesis).
---  Eliminated hypothesis H133 (true-hypothesis).
---  Eliminated hypothesis H134 (true-hypothesis).
---  Eliminated hypothesis H135 (true-hypothesis).
---  Eliminated hypothesis H136 (true-hypothesis).
---  Eliminated hypothesis H137 (true-hypothesis).
---  Eliminated hypothesis H138 (true-hypothesis).
---  Eliminated hypothesis H139 (true-hypothesis).
---  Eliminated hypothesis H140 (true-hypothesis).
---  Eliminated hypothesis H169 (true-hypothesis).
---  Eliminated hypothesis H170 (true-hypothesis).
---  Eliminated hypothesis H173 (true-hypothesis).
---  Eliminated hypothesis H182 (true-hypothesis).
---  Eliminated hypothesis H183 (true-hypothesis).
---  Eliminated hypothesis H190 (true-hypothesis).
---  Eliminated hypothesis H191 (true-hypothesis).
---  Eliminated hypothesis H196 (true-hypothesis).
---  Eliminated hypothesis H197 (true-hypothesis).
---  Eliminated hypothesis H198 (true-hypothesis).
---  Eliminated hypothesis H199 (true-hypothesis).
---  Eliminated hypothesis H200 (true-hypothesis).
---  Eliminated hypothesis H201 (true-hypothesis).
---  Eliminated hypothesis H202 (true-hypothesis).
---  Eliminated hypothesis H203 (true-hypothesis).
---  Eliminated hypothesis H204 (true-hypothesis).
---  Eliminated hypothesis H205 (true-hypothesis).
---  Eliminated hypothesis H206 (true-hypothesis).
---  Eliminated hypothesis H207 (true-hypothesis).
---  Eliminated hypothesis H208 (true-hypothesis).
---  Eliminated hypothesis H209 (true-hypothesis).
---  Eliminated hypothesis H210 (true-hypothesis).
---  Eliminated hypothesis H211 (true-hypothesis).
---  Eliminated hypothesis H212 (true-hypothesis).
---  Eliminated hypothesis H213 (true-hypothesis).
---  Eliminated hypothesis H214 (true-hypothesis).
---  Eliminated hypothesis H215 (true-hypothesis).
---  Eliminated hypothesis H216 (true-hypothesis).
---  Eliminated hypothesis H217 (true-hypothesis).
---  Eliminated hypothesis H218 (true-hypothesis).
---  Eliminated hypothesis H219 (true-hypothesis).
---  Eliminated hypothesis H220 (true-hypothesis).
---  Eliminated hypothesis H223 (true-hypothesis).
---  Eliminated hypothesis H227 (true-hypothesis).
---  Eliminated hypothesis H228 (true-hypothesis).
---  Eliminated hypothesis H231 (true-hypothesis).
---  Eliminated hypothesis H232 (true-hypothesis).
---  Eliminated hypothesis H142 (true-hypothesis).
---  Eliminated hypothesis H146 (true-hypothesis).
---  Eliminated hypothesis H193 (true-hypothesis).
---  Eliminated hypothesis H143 (true-hypothesis).
---  Eliminated hypothesis H147 (true-hypothesis).
---  Eliminated hypothesis H156 (true-hypothesis).
---  Eliminated hypothesis H194 (true-hypothesis).
---  Eliminated hypothesis H78 (true-hypothesis).
---  Eliminated hypothesis H79 (true-hypothesis).
---  Eliminated hypothesis H224 (true-hypothesis).
---  Eliminated hypothesis H226 (true-hypothesis).
---  Eliminated hypothesis H152 (true-hypothesis).
---  Eliminated hypothesis H153 (true-hypothesis).
---  Eliminated hypothesis H154 (true-hypothesis).
---  Eliminated hypothesis H155 (true-hypothesis).
---  Eliminated hypothesis H144 (true-hypothesis).
---  Eliminated hypothesis H145 (true-hypothesis).
---  Eliminated hypothesis H222 (duplicate of H189).
---  Eliminated hypothesis H28 (duplicate of H9).
---  Eliminated hypothesis H150 (duplicate of H83).
---  Eliminated hypothesis H27 (duplicate of H12).
---  Eliminated hypothesis H149 (duplicate of H86).
---  Eliminated hypothesis H168 (duplicate of H158).
---  Eliminated hypothesis H165 (duplicate of H160).
---  Eliminated hypothesis H34 (duplicate of H32).
---  Eliminated hypothesis H3 (redundant, given H192).
---  Eliminated hypothesis H4 (redundant, given H225).
---  Eliminated hypothesis H10 (redundant, given H29).
---  Eliminated hypothesis H11 (redundant, given H26).
---  Eliminated hypothesis H32 (redundant, given H221).
---  Eliminated hypothesis H35 (redundant, given H33).
---  Eliminated hypothesis H44 (redundant, given H39).
---  Eliminated hypothesis H83 (redundant, given H82).
---  Eliminated hypothesis H84 (redundant, given H82).
---  Eliminated hypothesis H85 (redundant, given H148).
---  Eliminated hypothesis H151 (redundant, given H82).
---  Eliminated hypothesis H166 (redundant, given H161).
---  Eliminated hypothesis H167 (redundant, given H157).
---  Eliminated hypothesis H186 (redundant, given H192).
---  Eliminated hypothesis H188 (redundant, given H221).
---  Eliminated hypothesis H189 (redundant, given H33).
-S-  Eliminated hypothesis H6.
     This was achieved by replacing all occurrences of blocks_required by:
          (byte_count + 63) div 64.
<S>  New H5:  blocks_done < (byte_count + 63) div 64
-S-  Substituted hypothesis H81.
     This was achieved by replacing all occurrences of fld_hash_bit_len(fld_h(
          local_ctx__4)) by:
          fld_hash_bit_len(fld_h(local_ctx__3)).
-S-  Substituted hypothesis H100.
     This was achieved by replacing all occurrences of fld_x(local_ctx__4) by:
          fld_x(local_ctx__3).
-S-  Substituted hypothesis H101.
     This was achieved by replacing all occurrences of fld_b(local_ctx__4) by:
          fld_b(local_ctx__3).
-S-  Substituted hypothesis H162.
     This was achieved by replacing all occurrences of fld_byte_count(fld_h(
          local_ctx__5)) by:
          fld_byte_count(fld_h(local_ctx__4)).
-S-  Substituted hypothesis H159.
     This was achieved by replacing all occurrences of fld_hash_bit_len(fld_h(
          local_ctx__5)) by:
          fld_hash_bit_len(fld_h(local_ctx__3)).
***  Proved C2:  blocks_done <= 4194303
     using hypotheses H3 & H185.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_512_final_30.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  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 H8 on reading formula in, to give:
     %%%  H8:  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)
---  Hypothesis H36 has been replaced by "true".  (It is already present, as H1)
          .
---  Hypothesis H37 has been replaced by "true".  (It is already present, as 
          H34).
---  Hypothesis H38 has been replaced by "true".  (It is already present, as 
          H35).
%%%  Simplified H40 on reading formula in, to give:
     %%%  H40:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx__3), [i___2]) 
          and element(fld_b(local_ctx__3), [i___2]) <= 
          spark__unsigned__byte__last)
%%%  Simplified H41 on reading formula in, to give:
     %%%  H41:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx__3), [i___1]) 
          and element(fld_x(local_ctx__3), [i___1]) <= 
          spark__unsigned__u64__last)
---  Hypothesis H59 has been replaced by "true".  (It is already present, as 
          H40).
---  Hypothesis H60 has been replaced by "true".  (It is already present, as 
          H41).
---  Hypothesis H61 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H62 has been replaced by "true".  (It is already present, as 
          H43).
---  Hypothesis H63 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H64 has been replaced by "true".  (It is already present, as 
          H45).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H48).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H49).
---  Hypothesis H70 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H71 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H72 has been replaced by "true".  (It is already present, as 
          H53).
---  Hypothesis H73 has been replaced by "true".  (It is already present, as 
          H54).
---  Hypothesis H74 has been replaced by "true".  (It is already present, as 
          H55).
---  Hypothesis H75 has been replaced by "true".  (It is already present, as 
          H56).
---  Hypothesis H76 has been replaced by "true".  (It is already present, as 
          H57).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H58).
%%%  Simplified H80 on reading formula in, to give:
     %%%  H80:  fld_h(local_ctx__4) = upf_tweak_words(upf_byte_count(fld_h(
          local_ctx__3), 0), mk__tweak_value(byte_count_lsb := 0, 
          byte_count_msb := 0, reserved := 0, tree_level := 0, bit_pad := 
          false, field_type := skein_block_type_out, first_block := true, 
          final_block := true))
%%%  Simplified H103 on reading formula in, to give:
     %%%  H103:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx__4), [i___2]) 
          and element(fld_b(local_ctx__4), [i___2]) <= 
          spark__unsigned__byte__last)
%%%  Simplified H104 on reading formula in, to give:
     %%%  H104:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx__4), [i___1]) 
          and element(fld_x(local_ctx__4), [i___1]) <= 
          spark__unsigned__u64__last)
---  Hypothesis H105 has been replaced by "true".  (It is already present, as 
          H83).
---  Hypothesis H106 has been replaced by "true".  (It is already present, as 
          H84).
---  Hypothesis H107 has been replaced by "true".  (It is already present, as 
          H85).
---  Hypothesis H108 has been replaced by "true".  (It is already present, as 
          H86).
---  Hypothesis H111 has been replaced by "true".  (It is already present, as 
          H89).
---  Hypothesis H112 has been replaced by "true".  (It is already present, as 
          H90).
---  Hypothesis H114 has been replaced by "true".  (It is already present, as 
          H92).
---  Hypothesis H115 has been replaced by "true".  (It is already present, as 
          H93).
---  Hypothesis H116 has been replaced by "true".  (It is already present, as 
          H94).
---  Hypothesis H117 has been replaced by "true".  (It is already present, as 
          H95).
---  Hypothesis H118 has been replaced by "true".  (It is already present, as 
          H96).
---  Hypothesis H119 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H120 has been replaced by "true".  (It is already present, as 
          H98).
---  Hypothesis H121 has been replaced by "true".  (It is already present, as 
          H99).
---  Hypothesis H122 has been replaced by "true".  (It is already present, as 
          H103).
---  Hypothesis H123 has been replaced by "true".  (It is already present, as 
          H104).
---  Hypothesis H124 has been replaced by "true".  (It is already present, as 
          H83).
---  Hypothesis H125 has been replaced by "true".  (It is already present, as 
          H84).
---  Hypothesis H126 has been replaced by "true".  (It is already present, as 
          H85).
---  Hypothesis H127 has been replaced by "true".  (It is already present, as 
          H86).
---  Hypothesis H130 has been replaced by "true".  (It is already present, as 
          H89).
---  Hypothesis H131 has been replaced by "true".  (It is already present, as 
          H90).
---  Hypothesis H133 has been replaced by "true".  (It is already present, as 
          H92).
---  Hypothesis H134 has been replaced by "true".  (It is already present, as 
          H93).
---  Hypothesis H135 has been replaced by "true".  (It is already present, as 
          H94).
---  Hypothesis H136 has been replaced by "true".  (It is already present, as 
          H95).
---  Hypothesis H137 has been replaced by "true".  (It is already present, as 
          H96).
---  Hypothesis H138 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H139 has been replaced by "true".  (It is already present, as 
          H98).
---  Hypothesis H140 has been replaced by "true".  (It is already present, as 
          H99).
%%%  Simplified H141 on reading formula in, to give:
     %%%  H141:  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(local_ctx__4), [i___1]) 
          and element(fld_b(local_ctx__4), [i___1]) <= 
          spark__unsigned__byte__last)
%%%  Simplified H153 on reading formula in, to give:
     %%%  H153:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H154 on reading formula in, to give:
     %%%  H154:  63 <= skein_512_block_bytes_index__last
%%%  Simplified H156 on reading formula in, to give:
     %%%  H156:  63 <= natural__last
%%%  Simplified H163 on reading formula in, to give:
     %%%  H163:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx__5), [i___2]) 
          and element(fld_b(local_ctx__5), [i___2]) <= 
          spark__unsigned__byte__last)
%%%  Simplified H164 on reading formula in, to give:
     %%%  H164:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx__5), [i___1]) 
          and element(fld_x(local_ctx__5), [i___1]) <= 
          spark__unsigned__u64__last)
---  Hypothesis H182 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H183 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H190 has been replaced by "true".  (It is already present, as 
          H186).
---  Hypothesis H191 has been replaced by "true".  (It is already present, as 
          H187).
%%%  Simplified H193 on reading formula in, to give:
     %%%  H193:  for_all(i___1 : integer, result__index__subtype__1__first <= 
          i___1 and i___1 <= result__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(result, [i___1]) and element(
          result, [i___1]) <= spark__unsigned__byte__last)
---  Hypothesis H194 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H195 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H196 has been replaced by "true".  (It is already present, as 
          H163).
---  Hypothesis H197 has been replaced by "true".  (It is already present, as 
          H164).
---  Hypothesis H198 has been replaced by "true".  (It is already present, as 
          H165).
---  Hypothesis H199 has been replaced by "true".  (It is already present, as 
          H166).
---  Hypothesis H200 has been replaced by "true".  (It is already present, as 
          H167).
---  Hypothesis H201 has been replaced by "true".  (It is already present, as 
          H168).
---  Hypothesis H204 has been replaced by "true".  (It is already present, as 
          H171).
---  Hypothesis H205 has been replaced by "true".  (It is already present, as 
          H172).
---  Hypothesis H207 has been replaced by "true".  (It is already present, as 
          H174).
---  Hypothesis H208 has been replaced by "true".  (It is already present, as 
          H175).
---  Hypothesis H209 has been replaced by "true".  (It is already present, as 
          H176).
---  Hypothesis H210 has been replaced by "true".  (It is already present, as 
          H177).
---  Hypothesis H211 has been replaced by "true".  (It is already present, as 
          H178).
---  Hypothesis H212 has been replaced by "true".  (It is already present, as 
          H179).
---  Hypothesis H213 has been replaced by "true".  (It is already present, as 
          H180).
---  Hypothesis H214 has been replaced by "true".  (It is already present, as 
          H181).
---  Hypothesis H215 has been replaced by "true".  (It is already present, as 
          H186).
---  Hypothesis H216 has been replaced by "true".  (It is already present, as 
          H187).
---  Hypothesis H217 has been replaced by "true".  (It is already present, as 
          H186).
---  Hypothesis H218 has been replaced by "true".  (It is already present, as 
          H187).
---  Hypothesis H221 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H225 has been replaced by "true".  (It is already present, as 
          H188).
---  Hypothesis H226 has been replaced by "true".  (It is already present, as 
          H189).
%%%  Simplified H227 on reading formula in, to give:
     %%%  H227:  for_all(i___1 : integer, result__index__subtype__1__first <= 
          i___1 and i___1 <= result__index__subtype__1__last -> 
          spark__unsigned__byte__first <= element(result__6, [i___1]) and 
          element(result__6, [i___1]) <= spark__unsigned__byte__last)
%%%  Simplified H228 on reading formula in, to give:
     %%%  H228:  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(x, [i___1]) and element(x, [
          i___1]) <= spark__unsigned__u64__last)
---  Hypothesis H229 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H230 has been replaced by "true".  (It is already present, as 
          H33).
***  Proved C1:  blocks_done + 1 >= output_block_count_t__first
     using hypothesis H32.
-S-  Applied substitution rule skein_512_fi_rules(131).
     This was achieved by replacing all occurrences of 
          output_block_count_t__last by:
          4194304.
<S>  New H33:  blocks_done <= 4194304
<S>  New C2:  blocks_done <= 4194303
>>>  Restructured hypothesis H192 into:
     >>>  H192:  byte_count - blocks_done * skein_512_block_bytes_c < 
          skein_512_block_bytes_c
-S-  Applied substitution rule skein_512_fi_rules(1).
     This was achieved by replacing all occurrences of skein_512_block_bytes_c 
          by:
          64.
<S>  New H3:  blocks_done * 64 < byte_count
<S>  New H4:  blocks_done * 64 < result__index__subtype__1__last + 1
<S>  New H186:  byte_count - blocks_done * 64 >= natural__first
<S>  New H187:  byte_count - blocks_done * 64 <= natural__last
<S>  New H188:  blocks_done * 64 >= integer__base__first
<S>  New H189:  blocks_done * 64 <= integer__base__last
<S>  New H192:  byte_count - blocks_done * 64 < 64
<S>  New H219:  blocks_done * 64 >= natural__first
<S>  New H220:  blocks_done * 64 <= natural__last
<S>  New H223:  result__index__subtype__1__last >= blocks_done * 64 + (
          byte_count - blocks_done * 64 - 1)
<S>  New H224:  byte_count - blocks_done * 64 <= (
          skein_512_state_words_index__last + 1) * 8
-S-  Applied substitution rule skein_512_fi_rules(2).
     This was achieved by replacing all occurrences of skein_block_type_out by:
          63.
<S>  New H78:  63 >= spark__unsigned__u6__first
<S>  New H79:  63 <= spark__unsigned__u6__last
<S>  New H80:  fld_h(local_ctx__4) = upf_tweak_words(upf_byte_count(fld_h(
          local_ctx__3), 0), mk__tweak_value(byte_count_lsb := 0, 
          byte_count_msb := 0, reserved := 0, tree_level := 0, bit_pad := 
          false, field_type := 63, first_block := true, final_block := true))
-S-  Applied substitution rule skein_512_fi_rules(6).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H188:  blocks_done * 64 >= - 2147483648
-S-  Applied substitution rule skein_512_fi_rules(7).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H189:  blocks_done * 64 <= 2147483647
-S-  Applied substitution rule skein_512_fi_rules(9).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H9:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H42:  fld_byte_count(fld_h(local_ctx__3)) >= 0
<S>  New H83:  fld_byte_count(fld_h(local_ctx__4)) >= 0
<S>  New H142:  true
<S>  New H146:  true
<S>  New H165:  fld_byte_count(fld_h(local_ctx__5)) >= 0
<S>  New H186:  byte_count - blocks_done * 64 >= 0
<S>  New H219:  blocks_done * 64 >= 0
-S-  Applied substitution rule skein_512_fi_rules(10).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H10:  fld_byte_count(fld_h(ctx)) <= 2147483647
<S>  New H43:  fld_byte_count(fld_h(local_ctx__3)) <= 2147483647
<S>  New H84:  fld_byte_count(fld_h(local_ctx__4)) <= 2147483647
<S>  New H143:  true
<S>  New H147:  true
<S>  New H155:  skein_512_block_bytes_index__last <= 2147483647
<S>  New H156:  true
<S>  New H166:  fld_byte_count(fld_h(local_ctx__5)) <= 2147483647
<S>  New H187:  byte_count - blocks_done * 64 <= 2147483647
<S>  New H220:  blocks_done * 64 <= 2147483647
-S-  Applied substitution rule skein_512_fi_rules(42).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H15:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H48:  fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) >= 0
<S>  New H89:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) >= 0
<S>  New H171:  fld_field_type(fld_tweak_words(fld_h(local_ctx__5))) >= 0
<S>  New H78:  true
-S-  Applied substitution rule skein_512_fi_rules(43).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H16:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 63
<S>  New H49:  fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) <= 63
<S>  New H90:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) <= 63
<S>  New H172:  fld_field_type(fld_tweak_words(fld_h(local_ctx__5))) <= 63
<S>  New H79:  true
-S-  Applied substitution rule skein_512_fi_rules(48).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H18:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H51:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) >= 0
<S>  New H92:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) >= 0
<S>  New H174:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__5))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(49).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H19:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 127
<S>  New H52:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) <= 127
<S>  New H93:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) <= 127
<S>  New H175:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__5))) <= 127
-S-  Applied substitution rule skein_512_fi_rules(54).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H7:  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 H40:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__3), [i___2]) and element(fld_b(local_ctx__3), [i___2]
          ) <= spark__unsigned__byte__last)
<S>  New H103:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__4), [i___2]) and element(fld_b(local_ctx__4), [i___2]
          ) <= spark__unsigned__byte__last)
<S>  New H141:  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(local_ctx__4), [i___1]) and element(fld_b(local_ctx__4), [i___1]
          ) <= spark__unsigned__byte__last)
<S>  New H163:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__5), [i___2]) and element(fld_b(local_ctx__5), [i___2]
          ) <= spark__unsigned__byte__last)
<S>  New H193:  for_all(i___1 : integer, result__index__subtype__1__first <= 
          i___1 and i___1 <= result__index__subtype__1__last -> 0 <= element(
          result, [i___1]) and element(result, [i___1]) <= 
          spark__unsigned__byte__last)
<S>  New H227:  for_all(i___1 : integer, result__index__subtype__1__first <= 
          i___1 and i___1 <= result__index__subtype__1__last -> 0 <= element(
          result__6, [i___1]) and element(result__6, [i___1]) <= 
          spark__unsigned__byte__last)
-S-  Applied substitution rule skein_512_fi_rules(55).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H7:  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 H40:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__3), [i___2]) and element(fld_b(local_ctx__3), [i___2]
          ) <= 255)
<S>  New H103:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__4), [i___2]) and element(fld_b(local_ctx__4), [i___2]
          ) <= 255)
<S>  New H141:  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(local_ctx__4), [i___1]) and element(fld_b(local_ctx__4), [i___1]
          ) <= 255)
<S>  New H163:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx__5), [i___2]) and element(fld_b(local_ctx__5), [i___2]
          ) <= 255)
<S>  New H193:  for_all(i___1 : integer, result__index__subtype__1__first <= 
          i___1 and i___1 <= result__index__subtype__1__last -> 0 <= element(
          result, [i___1]) and element(result, [i___1]) <= 255)
<S>  New H227:  for_all(i___1 : integer, result__index__subtype__1__first <= 
          i___1 and i___1 <= result__index__subtype__1__last -> 0 <= element(
          result__6, [i___1]) and element(result__6, [i___1]) <= 255)
-S-  Applied substitution rule skein_512_fi_rules(60).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H20:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H53:  fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) >= 0
<S>  New H94:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) >= 0
<S>  New H176:  fld_reserved(fld_tweak_words(fld_h(local_ctx__5))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(61).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H21:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 65535
<S>  New H54:  fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) <= 65535
<S>  New H95:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) <= 65535
<S>  New H177:  fld_reserved(fld_tweak_words(fld_h(local_ctx__5))) <= 65535
-S-  Applied substitution rule skein_512_fi_rules(66).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H22:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H55:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) >= 0
<S>  New H96:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) >= 0
<S>  New H178:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__5))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(67).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H23:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 4294967295
<S>  New H56:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) <= 
          4294967295
<S>  New H97:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) <= 
          4294967295
<S>  New H179:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__5))) <= 
          4294967295
-S-  Applied substitution rule skein_512_fi_rules(72).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H8:  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 H24:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 0
<S>  New H34:  blocks_done >= 0
<S>  New H41:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__3), [i___1]) and element(fld_x(local_ctx__3), [i___1]
          ) <= spark__unsigned__u64__last)
<S>  New H57:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) >= 0
<S>  New H98:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) >= 0
<S>  New H104:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__4), [i___1]) and element(fld_x(local_ctx__4), [i___1]
          ) <= spark__unsigned__u64__last)
<S>  New H164:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__5), [i___1]) and element(fld_x(local_ctx__5), [i___1]
          ) <= spark__unsigned__u64__last)
<S>  New H180:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__5))) >= 0
<S>  New H228:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          x, [i___1]) and element(x, [i___1]) <= spark__unsigned__u64__last)
-S-  Applied substitution rule skein_512_fi_rules(73).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H25:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          18446744073709551615
<S>  New H35:  blocks_done <= 18446744073709551615
<S>  New H58:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) <= 
          18446744073709551615
<S>  New H99:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) <= 
          18446744073709551615
<S>  New H181:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__5))) <= 
          18446744073709551615
<S>  New H8:  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 H41:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__3), [i___1]) and element(fld_x(local_ctx__3), [i___1]
          ) <= 18446744073709551615)
<S>  New H104:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__4), [i___1]) and element(fld_x(local_ctx__4), [i___1]
          ) <= 18446744073709551615)
<S>  New H164:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx__5), [i___1]) and element(fld_x(local_ctx__5), [i___1]
          ) <= 18446744073709551615)
<S>  New H228:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          x, [i___1]) and element(x, [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_fi_rules(83).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H11:  fld_hash_bit_len(fld_h(ctx)) >= 0
<S>  New H44:  fld_hash_bit_len(fld_h(local_ctx__3)) >= 0
<S>  New H85:  fld_hash_bit_len(fld_h(local_ctx__4)) >= 0
<S>  New H167:  fld_hash_bit_len(fld_h(local_ctx__5)) >= 0
-S-  Applied substitution rule skein_512_fi_rules(84).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H12:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H45:  fld_hash_bit_len(fld_h(local_ctx__3)) <= 2147483640
<S>  New H86:  fld_hash_bit_len(fld_h(local_ctx__4)) <= 2147483640
<S>  New H168:  fld_hash_bit_len(fld_h(local_ctx__5)) <= 2147483640
-S-  Applied substitution rule skein_512_fi_rules(88).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__first by:
          1.
<S>  New H26:  fld_hash_bit_len(fld_h(ctx)) >= 1
<S>  New H148:  fld_hash_bit_len(fld_h(local_ctx__4)) >= 1
<S>  New H157:  fld_hash_bit_len(fld_h(local_ctx__5)) >= 1
-S-  Applied substitution rule skein_512_fi_rules(89).
     This was achieved by replacing all occurrences of 
          initialized_hash_bit_length__last by:
          2147483640.
<S>  New H27:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
<S>  New H149:  fld_hash_bit_len(fld_h(local_ctx__4)) <= 2147483640
<S>  New H158:  fld_hash_bit_len(fld_h(local_ctx__5)) <= 2147483640
-S-  Applied substitution rule skein_512_fi_rules(93).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H222:  true
<S>  New H8:  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 H41:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(local_ctx__3)
          , [i___1]) and element(fld_x(local_ctx__3), [i___1]) <= 
          18446744073709551615)
<S>  New H104:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(local_ctx__4)
          , [i___1]) and element(fld_x(local_ctx__4), [i___1]) <= 
          18446744073709551615)
<S>  New H164:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(local_ctx__5)
          , [i___1]) and element(fld_x(local_ctx__5), [i___1]) <= 
          18446744073709551615)
<S>  New H228:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(x, [i___1]) and 
          element(x, [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_fi_rules(94).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H224:  byte_count - blocks_done * 64 <= 64
<S>  New H8:  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 H41:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(local_ctx__3), [i___1]) and element(fld_x(local_ctx__3)
          , [i___1]) <= 18446744073709551615)
<S>  New H104:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(local_ctx__4), [i___1]) and element(fld_x(local_ctx__4)
          , [i___1]) <= 18446744073709551615)
<S>  New H164:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(local_ctx__5), [i___1]) and element(fld_x(local_ctx__5)
          , [i___1]) <= 18446744073709551615)
<S>  New H228:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(x, [i___1]) and element(x, [i___1]) <= 18446744073709551615)
-S-  Applied substitution rule skein_512_fi_rules(98).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__first by:
          0.
<S>  New H28:  fld_byte_count(fld_h(ctx)) >= 0
<S>  New H150:  fld_byte_count(fld_h(local_ctx__4)) >= 0
<S>  New H160:  fld_byte_count(fld_h(local_ctx__5)) >= 0
-S-  Applied substitution rule skein_512_fi_rules(99).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_count__last by:
          64.
<S>  New H29:  fld_byte_count(fld_h(ctx)) <= 64
<S>  New H151:  fld_byte_count(fld_h(local_ctx__4)) <= 64
<S>  New H161:  fld_byte_count(fld_h(local_ctx__5)) <= 64
-S-  Applied substitution rule skein_512_fi_rules(103).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H152:  true
<S>  New H7:  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 H40:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(local_ctx__3)
          , [i___2]) and element(fld_b(local_ctx__3), [i___2]) <= 255)
<S>  New H103:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(local_ctx__4)
          , [i___2]) and element(fld_b(local_ctx__4), [i___2]) <= 255)
<S>  New H141:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(local_ctx__4)
          , [i___1]) and element(fld_b(local_ctx__4), [i___1]) <= 255)
<S>  New H163:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(local_ctx__5)
          , [i___2]) and element(fld_b(local_ctx__5), [i___2]) <= 255)
-S-  Applied substitution rule skein_512_fi_rules(104).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H153:  true
<S>  New H154:  true
<S>  New H155:  true
<S>  New H7:  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 H40:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(local_ctx__3), [i___2]) and element(fld_b(local_ctx__3)
          , [i___2]) <= 255)
<S>  New H103:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(local_ctx__4), [i___2]) and element(fld_b(local_ctx__4)
          , [i___2]) <= 255)
<S>  New H141:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 63 -> 0 <= 
          element(fld_b(local_ctx__4), [i___1]) and element(fld_b(local_ctx__4)
          , [i___1]) <= 255)
<S>  New H163:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(local_ctx__5), [i___2]) and element(fld_b(local_ctx__5)
          , [i___2]) <= 255)
-S-  Applied substitution rule skein_512_fi_rules(108).
     This was achieved by replacing all occurrences of 
          positive_block_512_count_t__first by:
          1.
<S>  New H144:  true
-S-  Applied substitution rule skein_512_fi_rules(109).
     This was achieved by replacing all occurrences of 
          positive_block_512_count_t__last by:
          33554431.
<S>  New H145:  true
-S-  Applied substitution rule skein_512_fi_rules(125).
     This was achieved by replacing all occurrences of 
          output_byte_count_t__first by:
          1.
<S>  New H184:  byte_count >= 1
-S-  Applied substitution rule skein_512_fi_rules(126).
     This was achieved by replacing all occurrences of 
          output_byte_count_t__last by:
          268435455.
<S>  New H185:  byte_count <= 268435455
-S-  Applied substitution rule skein_512_fi_rules(130).
     This was achieved by replacing all occurrences of 
          output_block_count_t__first by:
          0.
<S>  New H32:  blocks_done >= 0
---  Eliminated hypothesis H13 (true-hypothesis).
---  Eliminated hypothesis H14 (true-hypothesis).
---  Eliminated hypothesis H17 (true-hypothesis).
---  Eliminated hypothesis H36 (true-hypothesis).
---  Eliminated hypothesis H37 (true-hypothesis).
---  Eliminated hypothesis H38 (true-hypothesis).
---  Eliminated hypothesis H46 (true-hypothesis).
---  Eliminated hypothesis H47 (true-hypothesis).
---  Eliminated hypothesis H50 (true-hypothesis).
---  Eliminated hypothesis H59 (true-hypothesis).
---  Eliminated hypothesis H60 (true-hypothesis).
---  Eliminated hypothesis H61 (true-hypothesis).
---  Eliminated hypothesis H62 (true-hypothesis).
---  Eliminated hypothesis H63 (true-hypothesis).
---  Eliminated hypothesis H64 (true-hypothesis).
---  Eliminated hypothesis H65 (true-hypothesis).
---  Eliminated hypothesis H66 (true-hypothesis).
---  Eliminated hypothesis H67 (true-hypothesis).
---  Eliminated hypothesis H68 (true-hypothesis).
---  Eliminated hypothesis H69 (true-hypothesis).
---  Eliminated hypothesis H70 (true-hypothesis).
---  Eliminated hypothesis H71 (true-hypothesis).
---  Eliminated hypothesis H72 (true-hypothesis).
---  Eliminated hypothesis H73 (true-hypothesis).
---  Eliminated hypothesis H74 (true-hypothesis).
---  Eliminated hypothesis H75 (true-hypothesis).
---  Eliminated hypothesis H76 (true-hypothesis).
---  Eliminated hypothesis H77 (true-hypothesis).
---  Eliminated hypothesis H87 (true-hypothesis).
---  Eliminated hypothesis H88 (true-hypothesis).
---  Eliminated hypothesis H91 (true-hypothesis).
---  Eliminated hypothesis H105 (true-hypothesis).
---  Eliminated hypothesis H106 (true-hypothesis).
---  Eliminated hypothesis H107 (true-hypothesis).
---  Eliminated hypothesis H108 (true-hypothesis).
---  Eliminated hypothesis H109 (true-hypothesis).
---  Eliminated hypothesis H110 (true-hypothesis).
---  Eliminated hypothesis H111 (true-hypothesis).
---  Eliminated hypothesis H112 (true-hypothesis).
---  Eliminated hypothesis H113 (true-hypothesis).
---  Eliminated hypothesis H114 (true-hypothesis).
---  Eliminated hypothesis H115 (true-hypothesis).
---  Eliminated hypothesis H116 (true-hypothesis).
---  Eliminated hypothesis H117 (true-hypothesis).
---  Eliminated hypothesis H118 (true-hypothesis).
---  Eliminated hypothesis H119 (true-hypothesis).
---  Eliminated hypothesis H120 (true-hypothesis).
---  Eliminated hypothesis H121 (true-hypothesis).
---  Eliminated hypothesis H122 (true-hypothesis).
---  Eliminated hypothesis H123 (true-hypothesis).
---  Eliminated hypothesis H124 (true-hypothesis).
---  Eliminated hypothesis H125 (true-hypothesis).
---  Eliminated hypothesis H126 (true-hypothesis).
---  Eliminated hypothesis H127 (true-hypothesis).
---  Eliminated hypothesis H128 (true-hypothesis).
---  Eliminated hypothesis H129 (true-hypothesis).
---  Eliminated hypothesis H130 (true-hypothesis).
---  Eliminated hypothesis H131 (true-hypothesis).
---  Eliminated hypothesis H132 (true-hypothesis).
---  Eliminated hypothesis H133 (true-hypothesis).
---  Eliminated hypothesis H134 (true-hypothesis).
---  Eliminated hypothesis H135 (true-hypothesis).
---  Eliminated hypothesis H136 (true-hypothesis).
---  Eliminated hypothesis H137 (true-hypothesis).
---  Eliminated hypothesis H138 (true-hypothesis).
---  Eliminated hypothesis H139 (true-hypothesis).
---  Eliminated hypothesis H140 (true-hypothesis).
---  Eliminated hypothesis H169 (true-hypothesis).
---  Eliminated hypothesis H170 (true-hypothesis).
---  Eliminated hypothesis H173 (true-hypothesis).
---  Eliminated hypothesis H182 (true-hypothesis).
---  Eliminated hypothesis H183 (true-hypothesis).
---  Eliminated hypothesis H190 (true-hypothesis).
---  Eliminated hypothesis H191 (true-hypothesis).
---  Eliminated hypothesis H194 (true-hypothesis).
---  Eliminated hypothesis H195 (true-hypothesis).
---  Eliminated hypothesis H196 (true-hypothesis).
---  Eliminated hypothesis H197 (true-hypothesis).
---  Eliminated hypothesis H198 (true-hypothesis).
---  Eliminated hypothesis H199 (true-hypothesis).
---  Eliminated hypothesis H200 (true-hypothesis).
---  Eliminated hypothesis H201 (true-hypothesis).
---  Eliminated hypothesis H202 (true-hypothesis).
---  Eliminated hypothesis H203 (true-hypothesis).
---  Eliminated hypothesis H204 (true-hypothesis).
---  Eliminated hypothesis H205 (true-hypothesis).
---  Eliminated hypothesis H206 (true-hypothesis).
---  Eliminated hypothesis H207 (true-hypothesis).
---  Eliminated hypothesis H208 (true-hypothesis).
---  Eliminated hypothesis H209 (true-hypothesis).
---  Eliminated hypothesis H210 (true-hypothesis).
---  Eliminated hypothesis H211 (true-hypothesis).
---  Eliminated hypothesis H212 (true-hypothesis).
---  Eliminated hypothesis H213 (true-hypothesis).
---  Eliminated hypothesis H214 (true-hypothesis).
---  Eliminated hypothesis H215 (true-hypothesis).
---  Eliminated hypothesis H216 (true-hypothesis).
---  Eliminated hypothesis H217 (true-hypothesis).
---  Eliminated hypothesis H218 (true-hypothesis).
---  Eliminated hypothesis H221 (true-hypothesis).
---  Eliminated hypothesis H225 (true-hypothesis).
---  Eliminated hypothesis H226 (true-hypothesis).
---  Eliminated hypothesis H229 (true-hypothesis).
---  Eliminated hypothesis H230 (true-hypothesis).
---  Eliminated hypothesis H142 (true-hypothesis).
---  Eliminated hypothesis H146 (true-hypothesis).
---  Eliminated hypothesis H143 (true-hypothesis).
---  Eliminated hypothesis H147 (true-hypothesis).
---  Eliminated hypothesis H156 (true-hypothesis).
---  Eliminated hypothesis H78 (true-hypothesis).
---  Eliminated hypothesis H79 (true-hypothesis).
---  Eliminated hypothesis H222 (true-hypothesis).
---  Eliminated hypothesis H152 (true-hypothesis).
---  Eliminated hypothesis H153 (true-hypothesis).
---  Eliminated hypothesis H154 (true-hypothesis).
---  Eliminated hypothesis H155 (true-hypothesis).
---  Eliminated hypothesis H144 (true-hypothesis).
---  Eliminated hypothesis H145 (true-hypothesis).
---  Eliminated hypothesis H220 (duplicate of H189).
---  Eliminated hypothesis H28 (duplicate of H9).
---  Eliminated hypothesis H150 (duplicate of H83).
---  Eliminated hypothesis H27 (duplicate of H12).
---  Eliminated hypothesis H149 (duplicate of H86).
---  Eliminated hypothesis H168 (duplicate of H158).
---  Eliminated hypothesis H165 (duplicate of H160).
---  Eliminated hypothesis H34 (duplicate of H32).
---  Eliminated hypothesis H223 (duplicate of H2).
---  Eliminated hypothesis H10 (redundant, given H29).
---  Eliminated hypothesis H11 (redundant, given H26).
---  Eliminated hypothesis H32 (redundant, given H219).
---  Eliminated hypothesis H33 (redundant, given H3 & H185).
---  Eliminated hypothesis H35 (redundant, given H189).
---  Eliminated hypothesis H44 (redundant, given H39).
---  Eliminated hypothesis H83 (redundant, given H82).
---  Eliminated hypothesis H84 (redundant, given H82).
---  Eliminated hypothesis H85 (redundant, given H148).
---  Eliminated hypothesis H151 (redundant, given H82).
---  Eliminated hypothesis H166 (redundant, given H161).
---  Eliminated hypothesis H167 (redundant, given H157).
---  Eliminated hypothesis H186 (redundant, given H3).
---  Eliminated hypothesis H187 (redundant, given H192).
---  Eliminated hypothesis H188 (redundant, given H219).
---  Eliminated hypothesis H189 (redundant, given H3 & H185).
---  Eliminated hypothesis H224 (redundant, given H192).
-S-  Eliminated hypothesis H6.
     This was achieved by replacing all occurrences of blocks_required by:
          (byte_count + 63) div 64.
<S>  New H5:  blocks_done < (byte_count + 63) div 64
-S-  Substituted hypothesis H81.
     This was achieved by replacing all occurrences of fld_hash_bit_len(fld_h(
          local_ctx__4)) by:
          fld_hash_bit_len(fld_h(local_ctx__3)).
-S-  Substituted hypothesis H100.
     This was achieved by replacing all occurrences of fld_x(local_ctx__4) by:
          fld_x(local_ctx__3).
-S-  Substituted hypothesis H101.
     This was achieved by replacing all occurrences of fld_b(local_ctx__4) by:
          fld_b(local_ctx__3).
-S-  Substituted hypothesis H162.
     This was achieved by replacing all occurrences of fld_byte_count(fld_h(
          local_ctx__5)) by:
          fld_byte_count(fld_h(local_ctx__4)).
-S-  Substituted hypothesis H159.
     This was achieved by replacing all occurrences of fld_hash_bit_len(fld_h(
          local_ctx__5)) by:
          fld_hash_bit_len(fld_h(local_ctx__3)).
***  Proved C2:  blocks_done <= 4194303
     using hypotheses H3 & H185.
***  PROVED VC.


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


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


@@@@@@@@@@  VC: procedure_skein_512_final_33.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  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 H8 on reading formula in, to give:
     %%%  H8:  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)
***  Proved C5:  result__index__subtype__1__first = 0
     using hypothesis H5.
-S-  Applied substitution rule skein_512_fi_rules(88).
     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_fi_rules(89).
     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_fi_rules(98).
     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_fi_rules(99).
     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_fi_rules(9).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H9:  fld_byte_count(fld_h(ctx)) >= 0
-S-  Applied substitution rule skein_512_fi_rules(10).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H10:  fld_byte_count(fld_h(ctx)) <= 2147483647
-S-  Applied substitution rule skein_512_fi_rules(42).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H15:  fld_field_type(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(43).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H16:  fld_field_type(fld_tweak_words(fld_h(ctx))) <= 63
-S-  Applied substitution rule skein_512_fi_rules(48).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H18:  fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(49).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H19:  fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 127
-S-  Applied substitution rule skein_512_fi_rules(54).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H7:  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_fi_rules(55).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H7:  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_fi_rules(60).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H20:  fld_reserved(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(61).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H21:  fld_reserved(fld_tweak_words(fld_h(ctx))) <= 65535
-S-  Applied substitution rule skein_512_fi_rules(66).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H22:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(67).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H23:  fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 4294967295
-S-  Applied substitution rule skein_512_fi_rules(72).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H8:  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 H24:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 0
-S-  Applied substitution rule skein_512_fi_rules(73).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H25:  fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
          18446744073709551615
<S>  New H8:  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_fi_rules(83).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H11:  fld_hash_bit_len(fld_h(ctx)) >= 0
-S-  Applied substitution rule skein_512_fi_rules(84).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H12:  fld_hash_bit_len(fld_h(ctx)) <= 2147483640
-S-  Applied substitution rule skein_512_fi_rules(93).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H8:  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_fi_rules(94).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H8:  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_fi_rules(103).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H7:  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_fi_rules(104).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H7:  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 H12.
***  Proved C3:  fld_byte_count(fld_h(ctx)) >= 0
     using hypothesis H9.
---  Eliminated hypothesis H13 (true-hypothesis).
---  Eliminated hypothesis H14 (true-hypothesis).
---  Eliminated hypothesis H17 (true-hypothesis).
     +++  New H26:  integer__size >= 0
     +++  New H27:  natural__size >= 0
     +++  New H28:  spark__unsigned__u6__size >= 0
     +++  New H29:  spark__unsigned__u7__size >= 0
     +++  New H30:  spark__unsigned__byte__size >= 0
     +++  New H31:  spark__unsigned__u16__size >= 0
     +++  New H32:  spark__unsigned__u32__size >= 0
     +++  New H33:  spark__unsigned__u64__size >= 0
     +++  New H34:  spark__crypto__word_count_t__size >= 0
     +++  New H35:  hash_bit_length__size >= 0
     +++  New H36:  initialized_hash_bit_length__size >= 0
     +++  New H37:  skein_512_state_words_index__size >= 0
     +++  New H38:  skein_512_block_bytes_count__size >= 0
     +++  New H39:  skein_512_block_bytes_index__size >= 0
     +++  New H40:  positive_block_512_count_t__size >= 0
     +++  New H41:  skein_512_context__size >= 0
     +++  New H42:  result__index__subtype__1__first <= 
          result__index__subtype__1__last
     +++  New H43:  context_header__size >= 0
     +++  New H44:  output_byte_count_t__size >= 0
     +++  New H45:  output_block_count_t__size >= 0
     +++  New H46:  positive_output_block_count_t__size >= 0
     +++  New H47:  result__index__subtype__1__first >= 0
     +++  New H48:  result__index__subtype__1__last >= 0
     +++  New H49:  result__index__subtype__1__last <= 2147483647
     +++  New H50:  result__index__subtype__1__first <= 2147483647
***  Proved C6:  (fld_hash_bit_len(fld_h(ctx)) + 7) div 8 <= 
          result__index__subtype__1__last + 1
     This was achieved by applying the rewrite rule skein_rules(2)
     [from rulefile skein.rlu] to rewrite this conclusion to:
<S>  C6:  (hash_bit_len_of(ctx) + 7) div 8 <= result__index__subtype__1__last + 
          1
     This rule could be applied because its side-conditions hold, as follows:
     <<<  From H6, proved: (hash_bit_len_of(ctx) + 7) div 8 <= 
          result__index__subtype__1__last + 1
     <<<  Immediate condition checktype(ctx, skein_512_context) evaluated 
          successfully
***  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  33: Summary of user rule application.
FIL  skein.rlu
RUL     skein_rules(2)
CON        6, 1
RUL     skein_rules(1)
CON        4


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


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

