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

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



SPARK Simplifier Pro Edition


procedure Skein.Skein_512_Final.Zero_Pad_B






@@@@@@@@@@  VC: procedure_zero_pad_b_1.  @@@@@@@@@@
%%%  Simplified H3 on reading formula in, to give:
     %%%  H3:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx), [i___2]) 
          and element(fld_b(local_ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx), [i___1]) and 
          element(fld_x(local_ctx), [i___1]) <= spark__unsigned__u64__last)
-S-  Applied substitution rule zero_pad_b_rules(93).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H3:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> spark__unsigned__byte__first <= element(
          fld_b(local_ctx), [i___2]) and element(fld_b(local_ctx), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New C1:  63 >= integer__first
<S>  New C2:  63 <= integer__last
-S-  Applied substitution rule zero_pad_b_rules(3).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New C3:  fld_byte_count(fld_h(local_ctx)) >= - 2147483648
<S>  New C1:  true
-S-  Applied substitution rule zero_pad_b_rules(4).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New C4:  fld_byte_count(fld_h(local_ctx)) <= 2147483647
<S>  New C2:  true
***  Proved C1:  true
***  Proved C2:  true
-S-  Applied substitution rule zero_pad_b_rules(1).
     This was achieved by replacing all occurrences of skein_512_block_bytes_c 
          by:
          64.
<S>  New H1:  fld_byte_count(fld_h(local_ctx)) < 64
-S-  Applied substitution rule zero_pad_b_rules(8).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H5:  fld_byte_count(fld_h(local_ctx)) >= 0
-S-  Applied substitution rule zero_pad_b_rules(9).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H6:  fld_byte_count(fld_h(local_ctx)) <= 2147483647
-S-  Applied substitution rule zero_pad_b_rules(41).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H11:  fld_field_type(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule zero_pad_b_rules(42).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H12:  fld_field_type(fld_tweak_words(fld_h(local_ctx))) <= 63
-S-  Applied substitution rule zero_pad_b_rules(47).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H14:  fld_tree_level(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule zero_pad_b_rules(48).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H15:  fld_tree_level(fld_tweak_words(fld_h(local_ctx))) <= 127
-S-  Applied substitution rule zero_pad_b_rules(53).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H3:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> 0 <= element(fld_b(local_ctx), [i___2]) and 
          element(fld_b(local_ctx), [i___2]) <= spark__unsigned__byte__last)
-S-  Applied substitution rule zero_pad_b_rules(54).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H3:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> 0 <= element(fld_b(local_ctx), [i___2]) and 
          element(fld_b(local_ctx), [i___2]) <= 255)
-S-  Applied substitution rule zero_pad_b_rules(59).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H16:  fld_reserved(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule zero_pad_b_rules(60).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H17:  fld_reserved(fld_tweak_words(fld_h(local_ctx))) <= 65535
-S-  Applied substitution rule zero_pad_b_rules(65).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H18:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule zero_pad_b_rules(66).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H19:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx))) <= 
          4294967295
-S-  Applied substitution rule zero_pad_b_rules(71).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H4:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx), [i___1]) and element(fld_x(local_ctx), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H20:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule zero_pad_b_rules(72).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H21:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx))) <= 
          18446744073709551615
<S>  New H4:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx), [i___1]) and element(fld_x(local_ctx), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule zero_pad_b_rules(82).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H7:  fld_hash_bit_len(fld_h(local_ctx)) >= 0
-S-  Applied substitution rule zero_pad_b_rules(83).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H8:  fld_hash_bit_len(fld_h(local_ctx)) <= 2147483640
-S-  Applied substitution rule zero_pad_b_rules(87).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H4:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(local_ctx), [
          i___1]) and element(fld_x(local_ctx), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule zero_pad_b_rules(88).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H4:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(local_ctx), [i___1]) and element(fld_x(local_ctx), [
          i___1]) <= 18446744073709551615)
-S-  Applied substitution rule zero_pad_b_rules(92).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H3:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(local_ctx), [i___2]) and element(fld_b(local_ctx), [
          i___2]) <= 255)
***  Proved C3:  fld_byte_count(fld_h(local_ctx)) >= - 2147483648
     using hypothesis H5.
***  Proved C4:  fld_byte_count(fld_h(local_ctx)) <= 2147483647
     using hypothesis H6.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_zero_pad_b_2.  @@@@@@@@@@
%%%  Simplified H3 on reading formula in, to give:
     %%%  H3:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx), [i___2]) 
          and element(fld_b(local_ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx), [i___1]) and 
          element(fld_x(local_ctx), [i___1]) <= spark__unsigned__u64__last)
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  fld_byte_count(fld_h(local_ctx)) <= 
          skein_512_block_bytes_index__last -> 
          skein_512_block_bytes_index__last >= 
          skein_512_block_bytes_index__first
-S-  Applied substitution rule zero_pad_b_rules(1).
     This was achieved by replacing all occurrences of skein_512_block_bytes_c 
          by:
          64.
<S>  New H1:  fld_byte_count(fld_h(local_ctx)) < 64
-S-  Applied substitution rule zero_pad_b_rules(3).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H22:  skein_512_block_bytes_index__last >= - 2147483648
<S>  New H24:  fld_byte_count(fld_h(local_ctx)) >= - 2147483648
-S-  Applied substitution rule zero_pad_b_rules(4).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H23:  skein_512_block_bytes_index__last <= 2147483647
<S>  New H25:  fld_byte_count(fld_h(local_ctx)) <= 2147483647
-S-  Applied substitution rule zero_pad_b_rules(8).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H5:  fld_byte_count(fld_h(local_ctx)) >= 0
-S-  Applied substitution rule zero_pad_b_rules(9).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H6:  fld_byte_count(fld_h(local_ctx)) <= 2147483647
-S-  Applied substitution rule zero_pad_b_rules(41).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H11:  fld_field_type(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule zero_pad_b_rules(42).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H12:  fld_field_type(fld_tweak_words(fld_h(local_ctx))) <= 63
-S-  Applied substitution rule zero_pad_b_rules(47).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H14:  fld_tree_level(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule zero_pad_b_rules(48).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H15:  fld_tree_level(fld_tweak_words(fld_h(local_ctx))) <= 127
-S-  Applied substitution rule zero_pad_b_rules(53).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H3:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx), [i___2]) and element(fld_b(local_ctx), [i___2]) <= 
          spark__unsigned__byte__last)
-S-  Applied substitution rule zero_pad_b_rules(54).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H3:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx), [i___2]) and element(fld_b(local_ctx), [i___2]) <= 
          255)
-S-  Applied substitution rule zero_pad_b_rules(59).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H16:  fld_reserved(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule zero_pad_b_rules(60).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H17:  fld_reserved(fld_tweak_words(fld_h(local_ctx))) <= 65535
-S-  Applied substitution rule zero_pad_b_rules(65).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H18:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule zero_pad_b_rules(66).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H19:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx))) <= 
          4294967295
-S-  Applied substitution rule zero_pad_b_rules(71).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H4:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx), [i___1]) and element(fld_x(local_ctx), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H20:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule zero_pad_b_rules(72).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H21:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx))) <= 
          18446744073709551615
<S>  New H4:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx), [i___1]) and element(fld_x(local_ctx), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule zero_pad_b_rules(82).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H7:  fld_hash_bit_len(fld_h(local_ctx)) >= 0
-S-  Applied substitution rule zero_pad_b_rules(83).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H8:  fld_hash_bit_len(fld_h(local_ctx)) <= 2147483640
-S-  Applied substitution rule zero_pad_b_rules(87).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H4:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(local_ctx), [
          i___1]) and element(fld_x(local_ctx), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule zero_pad_b_rules(88).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H4:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(local_ctx), [i___1]) and element(fld_x(local_ctx), [
          i___1]) <= 18446744073709551615)
-S-  Applied substitution rule zero_pad_b_rules(92).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H3:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(local_ctx), [
          i___2]) and element(fld_b(local_ctx), [i___2]) <= 255)
<S>  New C1:  fld_byte_count(fld_h(local_ctx)) <= 
          skein_512_block_bytes_index__last -> 
          skein_512_block_bytes_index__last >= 0
<S>  New C2:  fld_byte_count(fld_h(local_ctx)) <= 
          skein_512_block_bytes_index__last -> fld_byte_count(fld_h(local_ctx)) 
          >= 0 and fld_byte_count(fld_h(local_ctx)) <= 
          skein_512_block_bytes_index__last
-S-  Applied substitution rule zero_pad_b_rules(93).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H22:  true
<S>  New H23:  true
<S>  New H3:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(local_ctx), [i___2]) and element(fld_b(local_ctx), [
          i___2]) <= 255)
<S>  New C1:  true
<S>  New C2:  fld_byte_count(fld_h(local_ctx)) <= 63 -> fld_byte_count(fld_h(
          local_ctx)) >= 0 and fld_byte_count(fld_h(local_ctx)) <= 63
***  Proved C1:  true
***  Proved C2:  fld_byte_count(fld_h(local_ctx)) <= 63 -> fld_byte_count(fld_h(
          local_ctx)) >= 0 and fld_byte_count(fld_h(local_ctx)) <= 63
     using hypotheses H1 & H5.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_zero_pad_b_3.  @@@@@@@@@@
%%%  Simplified H3 on reading formula in, to give:
     %%%  H3:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx), [i___2]) 
          and element(fld_b(local_ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx), [i___1]) and 
          element(fld_x(local_ctx), [i___1]) <= spark__unsigned__u64__last)
%%%  Simplified H26 on reading formula in, to give:
     %%%  H26:  fld_byte_count(fld_h(local_ctx)) <= 
          skein_512_block_bytes_index__last -> 
          skein_512_block_bytes_index__last >= 
          skein_512_block_bytes_index__first
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  true
%%%  Simplified C4 on reading formula in, to give:
     %%%  C4:  true
%%%  Simplified C5 on reading formula in, to give:
     %%%  C5:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx), [i___2]) 
          and element(fld_b(local_ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified C6 on reading formula in, to give:
     %%%  C6:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx), [i___1]) and 
          element(fld_x(local_ctx), [i___1]) <= spark__unsigned__u64__last)
%%%  Simplified C28 on reading formula in, to give:
     %%%  C28:  true
***  Proved C1:  true
***  Proved C2:  fld_hash_bit_len(fld_h(local_ctx)) > 0
     using hypothesis H2.
***  Proved C3:  fld_byte_count(fld_h(local_ctx)) < skein_512_block_bytes_c
     using hypothesis H1.
***  Proved C4:  true
***  Proved C5:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx), [i___2]) 
          and element(fld_b(local_ctx), [i___2]) <= spark__unsigned__byte__last)
     using hypothesis H3.
***  Proved C6:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx), [i___1]) and 
          element(fld_x(local_ctx), [i___1]) <= spark__unsigned__u64__last)
     using hypothesis H4.
***  Proved C7:  fld_byte_count(fld_h(local_ctx)) >= natural__first
     using hypothesis H5.
***  Proved C8:  fld_byte_count(fld_h(local_ctx)) <= natural__last
     using hypothesis H6.
***  Proved C9:  fld_hash_bit_len(fld_h(local_ctx)) >= hash_bit_length__first
     using hypothesis H7.
***  Proved C10:  fld_hash_bit_len(fld_h(local_ctx)) <= hash_bit_length__last
     using hypothesis H8.
***  Proved C11:  true
***  Proved C12:  true
***  Proved C13:  fld_field_type(fld_tweak_words(fld_h(local_ctx))) >= 
          spark__unsigned__u6__first
     using hypothesis H11.
***  Proved C14:  fld_field_type(fld_tweak_words(fld_h(local_ctx))) <= 
          spark__unsigned__u6__last
     using hypothesis H12.
***  Proved C15:  true
***  Proved C16:  fld_tree_level(fld_tweak_words(fld_h(local_ctx))) >= 
          spark__unsigned__u7__first
     using hypothesis H14.
***  Proved C17:  fld_tree_level(fld_tweak_words(fld_h(local_ctx))) <= 
          spark__unsigned__u7__last
     using hypothesis H15.
***  Proved C18:  fld_reserved(fld_tweak_words(fld_h(local_ctx))) >= 
          spark__unsigned__u16__first
     using hypothesis H16.
***  Proved C19:  fld_reserved(fld_tweak_words(fld_h(local_ctx))) <= 
          spark__unsigned__u16__last
     using hypothesis H17.
***  Proved C20:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx))) >= 
          spark__unsigned__u32__first
     using hypothesis H18.
***  Proved C21:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx))) <= 
          spark__unsigned__u32__last
     using hypothesis H19.
***  Proved C22:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx))) >= 
          spark__unsigned__u64__first
     using hypothesis H20.
***  Proved C23:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx))) <= 
          spark__unsigned__u64__last
     using hypothesis H21.
***  Proved C24:  fld_byte_count(fld_h(local_ctx)) < skein_512_block_bytes_c
     using hypothesis H1.
***  Proved C25:  fld_hash_bit_len(fld_h(local_ctx)) > 0
     using hypothesis H2.
***  Proved C27:  fld_byte_count(fld_h(local_ctx)) <= 
          skein_512_block_bytes_index__last
     using hypothesis H28.
***  Proved C28:  true
***  Proved C29:  fld_byte_count(fld_h(local_ctx)) <= 
          skein_512_block_bytes_index__last
     using hypothesis H28.
-S-  Applied substitution rule zero_pad_b_rules(92).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__first by:
          0.
<S>  New H3:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> spark__unsigned__byte__first <= 
          element(fld_b(local_ctx), [i___2]) and element(fld_b(local_ctx), [
          i___2]) <= spark__unsigned__byte__last)
<S>  New H26:  fld_byte_count(fld_h(local_ctx)) <= 
          skein_512_block_bytes_index__last -> 
          skein_512_block_bytes_index__last >= 0
<S>  New H27:  fld_byte_count(fld_h(local_ctx)) <= 
          skein_512_block_bytes_index__last -> fld_byte_count(fld_h(local_ctx)) 
          >= 0 and fld_byte_count(fld_h(local_ctx)) <= 
          skein_512_block_bytes_index__last
<S>  New C26:  fld_byte_count(fld_h(local_ctx)) >= 0
+++  Using "A->B, A |- B" on hypotheses H26 & H28 yields a new hypothesis:
     +++  H29:  skein_512_block_bytes_index__last >= 0
+++  Using "A->B, A |- B" on hypotheses H27 & H28 yields a new hypothesis:
     +++  H30:  fld_byte_count(fld_h(local_ctx)) >= 0 and fld_byte_count(fld_h(
          local_ctx)) <= skein_512_block_bytes_index__last
-S-  Applied substitution rule zero_pad_b_rules(1).
     This was achieved by replacing all occurrences of skein_512_block_bytes_c 
          by:
          64.
<S>  New H1:  fld_byte_count(fld_h(local_ctx)) < 64
-S-  Applied substitution rule zero_pad_b_rules(3).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H22:  skein_512_block_bytes_index__last >= - 2147483648
<S>  New H24:  fld_byte_count(fld_h(local_ctx)) >= - 2147483648
-S-  Applied substitution rule zero_pad_b_rules(4).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H23:  skein_512_block_bytes_index__last <= 2147483647
<S>  New H25:  fld_byte_count(fld_h(local_ctx)) <= 2147483647
-S-  Applied substitution rule zero_pad_b_rules(8).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H5:  fld_byte_count(fld_h(local_ctx)) >= 0
-S-  Applied substitution rule zero_pad_b_rules(9).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H6:  fld_byte_count(fld_h(local_ctx)) <= 2147483647
-S-  Applied substitution rule zero_pad_b_rules(41).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__first by:
          0.
<S>  New H11:  fld_field_type(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule zero_pad_b_rules(42).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u6__last by:
          63.
<S>  New H12:  fld_field_type(fld_tweak_words(fld_h(local_ctx))) <= 63
-S-  Applied substitution rule zero_pad_b_rules(47).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H14:  fld_tree_level(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule zero_pad_b_rules(48).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H15:  fld_tree_level(fld_tweak_words(fld_h(local_ctx))) <= 127
-S-  Applied substitution rule zero_pad_b_rules(53).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H3:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(local_ctx), [
          i___2]) and element(fld_b(local_ctx), [i___2]) <= 
          spark__unsigned__byte__last)
-S-  Applied substitution rule zero_pad_b_rules(54).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H3:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 
          skein_512_block_bytes_index__last -> 0 <= element(fld_b(local_ctx), [
          i___2]) and element(fld_b(local_ctx), [i___2]) <= 255)
-S-  Applied substitution rule zero_pad_b_rules(59).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H16:  fld_reserved(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule zero_pad_b_rules(60).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H17:  fld_reserved(fld_tweak_words(fld_h(local_ctx))) <= 65535
-S-  Applied substitution rule zero_pad_b_rules(65).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H18:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule zero_pad_b_rules(66).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H19:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx))) <= 
          4294967295
-S-  Applied substitution rule zero_pad_b_rules(71).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H4:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx), [i___1]) and element(fld_x(local_ctx), [i___1]) <= 
          spark__unsigned__u64__last)
<S>  New H20:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx))) >= 0
-S-  Applied substitution rule zero_pad_b_rules(72).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H21:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx))) <= 
          18446744073709551615
<S>  New H4:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 0 <= element(
          fld_x(local_ctx), [i___1]) and element(fld_x(local_ctx), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule zero_pad_b_rules(82).
     This was achieved by replacing all occurrences of hash_bit_length__first 
          by:
          0.
<S>  New H7:  fld_hash_bit_len(fld_h(local_ctx)) >= 0
-S-  Applied substitution rule zero_pad_b_rules(83).
     This was achieved by replacing all occurrences of hash_bit_length__last by:
          2147483640.
<S>  New H8:  fld_hash_bit_len(fld_h(local_ctx)) <= 2147483640
-S-  Applied substitution rule zero_pad_b_rules(87).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__first by:
          0.
<S>  New H4:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 
          skein_512_state_words_index__last -> 0 <= element(fld_x(local_ctx), [
          i___1]) and element(fld_x(local_ctx), [i___1]) <= 
          18446744073709551615)
-S-  Applied substitution rule zero_pad_b_rules(88).
     This was achieved by replacing all occurrences of 
          skein_512_state_words_index__last by:
          7.
<S>  New H4:  for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= 
          element(fld_x(local_ctx), [i___1]) and element(fld_x(local_ctx), [
          i___1]) <= 18446744073709551615)
-S-  Applied substitution rule zero_pad_b_rules(93).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H26:  true
<S>  New H27:  fld_byte_count(fld_h(local_ctx)) <= 63 -> fld_byte_count(fld_h(
          local_ctx)) >= 0 and fld_byte_count(fld_h(local_ctx)) <= 63
<S>  New H28:  fld_byte_count(fld_h(local_ctx)) <= 63
<S>  New H29:  true
<S>  New H30:  fld_byte_count(fld_h(local_ctx)) >= 0 and fld_byte_count(fld_h(
          local_ctx)) <= 63
<S>  New H22:  true
<S>  New H23:  true
<S>  New H3:  for_all(i___2 : integer, 0 <= i___2 and i___2 <= 63 -> 0 <= 
          element(fld_b(local_ctx), [i___2]) and element(fld_b(local_ctx), [
          i___2]) <= 255)
***  Proved C26:  fld_byte_count(fld_h(local_ctx)) >= 0
     using hypothesis H5.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_zero_pad_b_4.  @@@@@@@@@@
%%%  Simplified H1 on reading formula in, to give:
     %%%  H1:  fld_hash_bit_len(fld_h(local_ctx)) = fld_hash_bit_len(fld_h(
          local_ctx~))
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  fld_byte_count(fld_h(local_ctx)) = fld_byte_count(fld_h(
          local_ctx~))
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx), [i___2]) 
          and element(fld_b(local_ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H6 on reading formula in, to give:
     %%%  H6:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx), [i___1]) and 
          element(fld_x(local_ctx), [i___1]) <= spark__unsigned__u64__last)
%%%  Simplified H24 on reading formula in, to give:
     %%%  H24:  fld_byte_count(fld_h(local_ctx~)) < skein_512_block_bytes_c
%%%  Simplified H25 on reading formula in, to give:
     %%%  H25:  fld_hash_bit_len(fld_h(local_ctx~)) > 0
---  Hypothesis H29 has been replaced by "true".  (It is already present, as 
          H27).
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H26).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H27).
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  fld_hash_bit_len(fld_h(local_ctx)) = fld_hash_bit_len(fld_h(
          local_ctx~))
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  fld_hash_bit_len(fld_h(local_ctx)) > 0
%%%  Simplified C3 on reading formula in, to give:
     %%%  C3:  fld_byte_count(fld_h(local_ctx)) < skein_512_block_bytes_c
%%%  Simplified C4 on reading formula in, to give:
     %%%  C4:  fld_byte_count(fld_h(local_ctx)) = fld_byte_count(fld_h(
          local_ctx~))
%%%  Simplified C5 on reading formula in, to give:
     %%%  C5:  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(update(fld_b(local_ctx), [
          loop__1__i], 0), [i___2]) and element(update(fld_b(local_ctx), [
          loop__1__i], 0), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified C6 on reading formula in, to give:
     %%%  C6:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx), [i___1]) and 
          element(fld_x(local_ctx), [i___1]) <= spark__unsigned__u64__last)
%%%  Simplified C7 on reading formula in, to give:
     %%%  C7:  fld_byte_count(fld_h(local_ctx)) >= natural__first
%%%  Simplified C8 on reading formula in, to give:
     %%%  C8:  fld_byte_count(fld_h(local_ctx)) <= natural__last
%%%  Simplified C9 on reading formula in, to give:
     %%%  C9:  fld_hash_bit_len(fld_h(local_ctx)) >= hash_bit_length__first
%%%  Simplified C10 on reading formula in, to give:
     %%%  C10:  fld_hash_bit_len(fld_h(local_ctx)) <= hash_bit_length__last
%%%  Simplified C13 on reading formula in, to give:
     %%%  C13:  fld_field_type(fld_tweak_words(fld_h(local_ctx))) >= 
          spark__unsigned__u6__first
%%%  Simplified C14 on reading formula in, to give:
     %%%  C14:  fld_field_type(fld_tweak_words(fld_h(local_ctx))) <= 
          spark__unsigned__u6__last
%%%  Simplified C16 on reading formula in, to give:
     %%%  C16:  fld_tree_level(fld_tweak_words(fld_h(local_ctx))) >= 
          spark__unsigned__u7__first
%%%  Simplified C17 on reading formula in, to give:
     %%%  C17:  fld_tree_level(fld_tweak_words(fld_h(local_ctx))) <= 
          spark__unsigned__u7__last
%%%  Simplified C18 on reading formula in, to give:
     %%%  C18:  fld_reserved(fld_tweak_words(fld_h(local_ctx))) >= 
          spark__unsigned__u16__first
%%%  Simplified C19 on reading formula in, to give:
     %%%  C19:  fld_reserved(fld_tweak_words(fld_h(local_ctx))) <= 
          spark__unsigned__u16__last
%%%  Simplified C20 on reading formula in, to give:
     %%%  C20:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx))) >= 
          spark__unsigned__u32__first
%%%  Simplified C21 on reading formula in, to give:
     %%%  C21:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx))) <= 
          spark__unsigned__u32__last
%%%  Simplified C22 on reading formula in, to give:
     %%%  C22:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx))) >= 
          spark__unsigned__u64__first
%%%  Simplified C23 on reading formula in, to give:
     %%%  C23:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx))) <= 
          spark__unsigned__u64__last
%%%  Simplified C24 on reading formula in, to give:
     %%%  C24:  fld_byte_count(fld_h(local_ctx~)) < skein_512_block_bytes_c
%%%  Simplified C25 on reading formula in, to give:
     %%%  C25:  fld_hash_bit_len(fld_h(local_ctx~)) > 0
%%%  Simplified C28 on reading formula in, to give:
     %%%  C28:  loop__1__i + 1 >= fld_byte_count(fld_h(local_ctx))
***  Proved C1:  fld_hash_bit_len(fld_h(local_ctx)) = fld_hash_bit_len(fld_h(
          local_ctx~))
     using hypothesis H1.
***  Proved C2:  fld_hash_bit_len(fld_h(local_ctx)) > 0
     using hypothesis H2.
***  Proved C3:  fld_byte_count(fld_h(local_ctx)) < skein_512_block_bytes_c
     using hypothesis H3.
***  Proved C4:  fld_byte_count(fld_h(local_ctx)) = fld_byte_count(fld_h(
          local_ctx~))
     using hypothesis H4.
***  Proved C5:  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(update(fld_b(local_ctx), [
          loop__1__i], 0), [i___2]) and element(update(fld_b(local_ctx), [
          loop__1__i], 0), [i___2]) <= spark__unsigned__byte__last)
     using hypotheses H5, H26, H27, H30 & H31.
***  Proved C6:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx), [i___1]) and 
          element(fld_x(local_ctx), [i___1]) <= spark__unsigned__u64__last)
     using hypothesis H6.
***  Proved C7:  fld_byte_count(fld_h(local_ctx)) >= natural__first
     using hypothesis H7.
***  Proved C8:  fld_byte_count(fld_h(local_ctx)) <= natural__last
     using hypothesis H8.
***  Proved C9:  fld_hash_bit_len(fld_h(local_ctx)) >= hash_bit_length__first
     using hypothesis H9.
***  Proved C10:  fld_hash_bit_len(fld_h(local_ctx)) <= hash_bit_length__last
     using hypothesis H10.
***  Proved C11:  true
***  Proved C12:  true
***  Proved C13:  fld_field_type(fld_tweak_words(fld_h(local_ctx))) >= 
          spark__unsigned__u6__first
     using hypothesis H13.
***  Proved C14:  fld_field_type(fld_tweak_words(fld_h(local_ctx))) <= 
          spark__unsigned__u6__last
     using hypothesis H14.
***  Proved C15:  true
***  Proved C16:  fld_tree_level(fld_tweak_words(fld_h(local_ctx))) >= 
          spark__unsigned__u7__first
     using hypothesis H16.
***  Proved C17:  fld_tree_level(fld_tweak_words(fld_h(local_ctx))) <= 
          spark__unsigned__u7__last
     using hypothesis H17.
***  Proved C18:  fld_reserved(fld_tweak_words(fld_h(local_ctx))) >= 
          spark__unsigned__u16__first
     using hypothesis H18.
***  Proved C19:  fld_reserved(fld_tweak_words(fld_h(local_ctx))) <= 
          spark__unsigned__u16__last
     using hypothesis H19.
***  Proved C20:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx))) >= 
          spark__unsigned__u32__first
     using hypothesis H20.
***  Proved C21:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx))) <= 
          spark__unsigned__u32__last
     using hypothesis H21.
***  Proved C22:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx))) >= 
          spark__unsigned__u64__first
     using hypothesis H22.
***  Proved C23:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx))) <= 
          spark__unsigned__u64__last
     using hypothesis H23.
***  Proved C24:  fld_byte_count(fld_h(local_ctx~)) < skein_512_block_bytes_c
     using hypothesis H24.
***  Proved C25:  fld_hash_bit_len(fld_h(local_ctx~)) > 0
     using hypothesis H25.
***  Proved C26:  loop__1__i + 1 >= skein_512_block_bytes_index__first
     using hypothesis H26.
***  Proved C28:  loop__1__i + 1 >= fld_byte_count(fld_h(local_ctx))
     using hypothesis H28.
-S-  Applied substitution rule zero_pad_b_rules(93).
     This was achieved by replacing all occurrences of 
          skein_512_block_bytes_index__last by:
          63.
<S>  New H5:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= 63 -> spark__unsigned__byte__first <= element(
          fld_b(local_ctx), [i___2]) and element(fld_b(local_ctx), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New H27:  loop__1__i <= 63
<S>  New H34:  not loop__1__i = 63
<S>  New C27:  loop__1__i <= 62
<S>  New C29:  loop__1__i <= 62
***  Proved C27:  loop__1__i <= 62
     using hypotheses H27 & H34.
***  Proved C29:  loop__1__i <= 62
     using hypotheses H27 & H34.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_zero_pad_b_5.  @@@@@@@@@@
%%%  Simplified H1 on reading formula in, to give:
     %%%  H1:  fld_hash_bit_len(fld_h(local_ctx)) = fld_hash_bit_len(fld_h(
          local_ctx~))
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  fld_byte_count(fld_h(local_ctx)) = fld_byte_count(fld_h(
          local_ctx~))
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx), [i___2]) 
          and element(fld_b(local_ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H6 on reading formula in, to give:
     %%%  H6:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx), [i___1]) and 
          element(fld_x(local_ctx), [i___1]) <= spark__unsigned__u64__last)
%%%  Simplified H24 on reading formula in, to give:
     %%%  H24:  fld_byte_count(fld_h(local_ctx~)) < skein_512_block_bytes_c
%%%  Simplified H25 on reading formula in, to give:
     %%%  H25:  fld_hash_bit_len(fld_h(local_ctx~)) > 0
---  Hypothesis H29 has been replaced by "true".  (It is already present, as 
          H27).
***  Proved C3:  loop__1__i >= skein_512_block_bytes_index__first
     using hypothesis H26.
***  Proved C4:  loop__1__i <= skein_512_block_bytes_index__last
     using hypothesis H27.
-S-  Applied substitution rule zero_pad_b_rules(53).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__first by:
          0.
<S>  New H5:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx), [i___2]) and element(fld_b(local_ctx), [i___2]) <= 
          spark__unsigned__byte__last)
<S>  New C1:  true
-S-  Applied substitution rule zero_pad_b_rules(54).
     This was achieved by replacing all occurrences of 
          spark__unsigned__byte__last by:
          255.
<S>  New H5:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 0 <= element(
          fld_b(local_ctx), [i___2]) and element(fld_b(local_ctx), [i___2]) <= 
          255)
<S>  New C2:  true
***  Proved C1:  true
***  Proved C2:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_zero_pad_b_6.  @@@@@@@@@@
%%%  Simplified H3 on reading formula in, to give:
     %%%  H3:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx), [i___2]) 
          and element(fld_b(local_ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx), [i___1]) and 
          element(fld_x(local_ctx), [i___1]) <= spark__unsigned__u64__last)
%%%  Simplified H26 on reading formula in, to give:
     %%%  H26:  fld_byte_count(fld_h(local_ctx)) <= 
          skein_512_block_bytes_index__last -> 
          skein_512_block_bytes_index__last >= 
          skein_512_block_bytes_index__first
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  true
%%%  Simplified C4 on reading formula in, to give:
     %%%  C4:  true
***  Proved C1:  true
***  Proved C2:  fld_hash_bit_len(fld_h(local_ctx)) > 0
     using hypothesis H2.
***  Proved C3:  fld_byte_count(fld_h(local_ctx)) < skein_512_block_bytes_c
     using hypothesis H1.
***  Proved C4:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_zero_pad_b_7.  @@@@@@@@@@
%%%  Simplified H1 on reading formula in, to give:
     %%%  H1:  fld_hash_bit_len(fld_h(local_ctx)) = fld_hash_bit_len(fld_h(
          local_ctx~))
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  fld_byte_count(fld_h(local_ctx)) = fld_byte_count(fld_h(
          local_ctx~))
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  for_all(i___2 : integer, skein_512_block_bytes_index__first <= 
          i___2 and i___2 <= skein_512_block_bytes_index__last -> 
          spark__unsigned__byte__first <= element(fld_b(local_ctx), [i___2]) 
          and element(fld_b(local_ctx), [i___2]) <= spark__unsigned__byte__last)
%%%  Simplified H6 on reading formula in, to give:
     %%%  H6:  for_all(i___1 : integer, skein_512_state_words_index__first <= 
          i___1 and i___1 <= skein_512_state_words_index__last -> 
          spark__unsigned__u64__first <= element(fld_x(local_ctx), [i___1]) and 
          element(fld_x(local_ctx), [i___1]) <= spark__unsigned__u64__last)
%%%  Simplified H24 on reading formula in, to give:
     %%%  H24:  fld_byte_count(fld_h(local_ctx~)) < skein_512_block_bytes_c
%%%  Simplified H25 on reading formula in, to give:
     %%%  H25:  fld_hash_bit_len(fld_h(local_ctx~)) > 0
---  Hypothesis H29 has been replaced by "true".  (It is already present, as 
          H27).
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H26).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H27).
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  fld_hash_bit_len(fld_h(local_ctx)) = fld_hash_bit_len(fld_h(
          local_ctx~))
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  fld_hash_bit_len(fld_h(local_ctx)) > 0
%%%  Simplified C3 on reading formula in, to give:
     %%%  C3:  fld_byte_count(fld_h(local_ctx)) < skein_512_block_bytes_c
%%%  Simplified C4 on reading formula in, to give:
     %%%  C4:  fld_byte_count(fld_h(local_ctx)) = fld_byte_count(fld_h(
          local_ctx~))
***  Proved C1:  fld_hash_bit_len(fld_h(local_ctx)) = fld_hash_bit_len(fld_h(
          local_ctx~))
     using hypothesis H1.
***  Proved C2:  fld_hash_bit_len(fld_h(local_ctx)) > 0
     using hypothesis H2.
***  Proved C3:  fld_byte_count(fld_h(local_ctx)) < skein_512_block_bytes_c
     using hypothesis H3.
***  Proved C4:  fld_byte_count(fld_h(local_ctx)) = fld_byte_count(fld_h(
          local_ctx~))
     using hypothesis H4.
***  PROVED VC.

