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

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



SPARK Simplifier Pro Edition


procedure Skein.Skein_512_Final




For path(s) from start to check associated with statement of line 900:

procedure_skein_512_final_1.
*** true .          /* all conclusions proved */


For path(s) from start to run-time check associated with statement of line 901:

procedure_skein_512_final_2.
*** true .          /* all conclusions proved */


For path(s) from start to precondition check associated with statement of line 
          905:

procedure_skein_512_final_3.
*** true .          /* all conclusions proved */


For path(s) from start to run-time check associated with statement of line 909:

procedure_skein_512_final_4.
*** true .          /* all conclusions proved */


procedure_skein_512_final_5.
*** true .          /* all conclusions proved */


For path(s) from start to precondition check associated with statement of line 
          911:

procedure_skein_512_final_6.
*** true .          /* all conclusions proved */


procedure_skein_512_final_7.
*** true .          /* all conclusions proved */


For path(s) from start to run-time check associated with statement of line 918:

procedure_skein_512_final_8.
*** true .          /* all conclusions proved */


procedure_skein_512_final_9.
*** true .          /* all conclusions proved */


For path(s) from start to check associated with statement of line 920:

procedure_skein_512_final_10.
*** true .          /* all conclusions proved */


procedure_skein_512_final_11.
*** true .          /* all conclusions proved */


For path(s) from start to run-time check associated with statement of line 923:

procedure_skein_512_final_12.
*** true .          /* all conclusions proved */


procedure_skein_512_final_13.
*** true .          /* all conclusions proved */


For path(s) from start to run-time check associated with statement of line 926:

procedure_skein_512_final_14.
*** true .          /* all conclusions proved */


procedure_skein_512_final_15.
*** true .          /* all conclusions proved */


For path(s) from start to run-time check associated with statement of line 927:

procedure_skein_512_final_16.
*** true .          /* all conclusions proved */


procedure_skein_512_final_17.
*** true .          /* all conclusions proved */


For path(s) from start to assertion of line 930:

procedure_skein_512_final_18.
*** true .          /* all conclusions proved */


procedure_skein_512_final_19.
*** true .          /* all conclusions proved */


For path(s) from assertion of line 930 to assertion of line 930:

procedure_skein_512_final_20.
H1:    fld_hash_bit_len(fld_h(local_ctx)) > 0 .
H2:    byte_count <= result__index__subtype__1__last + 1 .
H3:    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) .
H4:    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) .
H5:    fld_byte_count(fld_h(ctx)) >= 0 .
H6:    fld_hash_bit_len(fld_h(ctx)) <= 2147483640 .
H7:    fld_field_type(fld_tweak_words(fld_h(ctx))) >= 0 .
H8:    fld_field_type(fld_tweak_words(fld_h(ctx))) <= 63 .
H9:    fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 0 .
H10:   fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 127 .
H11:   fld_reserved(fld_tweak_words(fld_h(ctx))) >= 0 .
H12:   fld_reserved(fld_tweak_words(fld_h(ctx))) <= 65535 .
H13:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 0 .
H14:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 4294967295 .
H15:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 0 .
H16:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 18446744073709551615 .
H17:   fld_hash_bit_len(fld_h(ctx)) >= 1 .
H18:   fld_byte_count(fld_h(ctx)) <= 64 .
H19:   result__index__subtype__1__first = 0 .
H20:   (fld_hash_bit_len(fld_h(ctx)) + 7) div 8 <= 
          result__index__subtype__1__last + 1 .
H21:   fld_hash_bit_len(fld_h(local_ctx__3)) > 0 .
H22:   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) .
H23:   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) .
H24:   fld_byte_count(fld_h(local_ctx__3)) >= 0 .
H25:   fld_byte_count(fld_h(local_ctx__3)) <= 2147483647 .
H26:   fld_hash_bit_len(fld_h(local_ctx__3)) <= 2147483640 .
H27:   fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) >= 0 .
H28:   fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) <= 63 .
H29:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) >= 0 .
H30:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) <= 127 .
H31:   fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) >= 0 .
H32:   fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) <= 65535 .
H33:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) >= 0 .
H34:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) <= 4294967295 .
H35:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) >= 0 .
H36:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) <= 
          18446744073709551615 .
H37:   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)) .
H38:   fld_hash_bit_len(fld_h(local_ctx__4)) = fld_hash_bit_len(fld_h(
          local_ctx__3)) .
H39:   fld_byte_count(fld_h(local_ctx__4)) = 0 .
H40:   fld_hash_bit_len(fld_h(local_ctx__3)) <= 2147483640 .
H41:   fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) >= 0 .
H42:   fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) <= 63 .
H43:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) >= 0 .
H44:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) <= 127 .
H45:   fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) >= 0 .
H46:   fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) <= 65535 .
H47:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) >= 0 .
H48:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) <= 4294967295 .
H49:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) >= 0 .
H50:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) <= 
          18446744073709551615 .
H51:   fld_x(local_ctx__4) = fld_x(local_ctx__3) .
H52:   fld_b(local_ctx__4) = fld_b(local_ctx__3) .
H53:   local_ctx__4 = upf_h(local_ctx__3, fld_h(local_ctx__4)) .
H54:   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) .
H55:   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) .
H56:   for_all(i___1 : integer, 0 <= i___1 and i___1 <= 63 -> 0 <= element(
          fld_b(local_ctx__3), [i___1]) and element(fld_b(local_ctx__3), [i___1]
          ) <= 255) .
H57:   fld_hash_bit_len(fld_h(local_ctx__3)) >= 1 .
H58:   fld_hash_bit_len(fld_h(local_ctx__3)) >= 1 .
H59:   fld_hash_bit_len(fld_h(local_ctx__3)) <= 2147483640 .
H60:   fld_hash_bit_len(fld_h(local_ctx__5)) = fld_hash_bit_len(fld_h(
          local_ctx__3)) .
H61:   fld_byte_count(fld_h(local_ctx__4)) >= 0 .
H62:   fld_byte_count(fld_h(local_ctx__4)) <= 64 .
H63:   fld_byte_count(fld_h(local_ctx__5)) = fld_byte_count(fld_h(local_ctx__4))
           .
H64:   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) .
H65:   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) .
H66:   fld_field_type(fld_tweak_words(fld_h(local_ctx__5))) >= 0 .
H67:   fld_field_type(fld_tweak_words(fld_h(local_ctx__5))) <= 63 .
H68:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__5))) >= 0 .
H69:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__5))) <= 127 .
H70:   fld_reserved(fld_tweak_words(fld_h(local_ctx__5))) >= 0 .
H71:   fld_reserved(fld_tweak_words(fld_h(local_ctx__5))) <= 65535 .
H72:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__5))) >= 0 .
H73:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__5))) <= 4294967295 .
H74:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__5))) >= 0 .
H75:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__5))) <= 
          18446744073709551615 .
H76:   byte_count >= 1 .
H77:   byte_count <= 268435455 .
H78:   byte_count - blocks_done * 64 <= 2147483647 .
H79:   byte_count - blocks_done * 64 >= 64 .
H80:   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) .
H81:   blocks_done * 64 >= 0 .
H82:   result__index__subtype__1__last >= blocks_done * 64 + 63 .
H83:   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) .
H84:   for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= element(x, [
          i___1]) and element(x, [i___1]) <= 18446744073709551615) .
H85:   blocks_done <= 4194303 .
H86:   (byte_count + 63) div 64 >= 1 .
H87:   (byte_count + 63) div 64 <= 4194304 .
H88:   blocks_done + 1 < (byte_count + 63) div 64 .
H89:   integer__size >= 0 .
H90:   natural__size >= 0 .
H91:   spark__unsigned__u6__size >= 0 .
H92:   spark__unsigned__u7__size >= 0 .
H93:   spark__unsigned__byte__size >= 0 .
H94:   spark__unsigned__u16__size >= 0 .
H95:   spark__unsigned__u32__size >= 0 .
H96:   spark__unsigned__u64__size >= 0 .
H97:   spark__crypto__word_count_t__size >= 0 .
H98:   hash_bit_length__size >= 0 .
H99:   initialized_hash_bit_length__size >= 0 .
H100:  skein_512_state_words_index__size >= 0 .
H101:  skein_512_block_bytes_count__size >= 0 .
H102:  skein_512_block_bytes_index__size >= 0 .
H103:  positive_block_512_count_t__size >= 0 .
H104:  skein_512_context__size >= 0 .
H105:  result__index__subtype__1__first <= result__index__subtype__1__last .
H106:  context_header__size >= 0 .
H107:  output_byte_count_t__size >= 0 .
H108:  output_block_count_t__size >= 0 .
H109:  positive_output_block_count_t__size >= 0 .
H110:  result__index__subtype__1__first >= 0 .
H111:  result__index__subtype__1__last >= 0 .
H112:  result__index__subtype__1__last <= 2147483647 .
H113:  result__index__subtype__1__first <= 2147483647 .
       ->
C1:    (blocks_done + 1) * 64 < byte_count .
C2:    (blocks_done + 1) * 64 < result__index__subtype__1__last + 1 .


procedure_skein_512_final_21.
H1:    fld_hash_bit_len(fld_h(local_ctx)) > 0 .
H2:    byte_count <= result__index__subtype__1__last + 1 .
H3:    blocks_done * 64 < byte_count .
H4:    blocks_done * 64 < result__index__subtype__1__last + 1 .
H5:    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) .
H6:    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) .
H7:    fld_byte_count(fld_h(ctx)) >= 0 .
H8:    fld_hash_bit_len(fld_h(ctx)) <= 2147483640 .
H9:    fld_field_type(fld_tweak_words(fld_h(ctx))) >= 0 .
H10:   fld_field_type(fld_tweak_words(fld_h(ctx))) <= 63 .
H11:   fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 0 .
H12:   fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 127 .
H13:   fld_reserved(fld_tweak_words(fld_h(ctx))) >= 0 .
H14:   fld_reserved(fld_tweak_words(fld_h(ctx))) <= 65535 .
H15:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 0 .
H16:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 4294967295 .
H17:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 0 .
H18:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 18446744073709551615 .
H19:   fld_hash_bit_len(fld_h(ctx)) >= 1 .
H20:   fld_byte_count(fld_h(ctx)) <= 64 .
H21:   result__index__subtype__1__first = 0 .
H22:   (fld_hash_bit_len(fld_h(ctx)) + 7) div 8 <= 
          result__index__subtype__1__last + 1 .
H23:   fld_hash_bit_len(fld_h(local_ctx__3)) > 0 .
H24:   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) .
H25:   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) .
H26:   fld_byte_count(fld_h(local_ctx__3)) >= 0 .
H27:   fld_byte_count(fld_h(local_ctx__3)) <= 2147483647 .
H28:   fld_hash_bit_len(fld_h(local_ctx__3)) <= 2147483640 .
H29:   fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) >= 0 .
H30:   fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) <= 63 .
H31:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) >= 0 .
H32:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) <= 127 .
H33:   fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) >= 0 .
H34:   fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) <= 65535 .
H35:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) >= 0 .
H36:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) <= 4294967295 .
H37:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) >= 0 .
H38:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) <= 
          18446744073709551615 .
H39:   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)) .
H40:   fld_hash_bit_len(fld_h(local_ctx__4)) = fld_hash_bit_len(fld_h(
          local_ctx__3)) .
H41:   fld_byte_count(fld_h(local_ctx__4)) = 0 .
H42:   fld_hash_bit_len(fld_h(local_ctx__3)) <= 2147483640 .
H43:   fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) >= 0 .
H44:   fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) <= 63 .
H45:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) >= 0 .
H46:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) <= 127 .
H47:   fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) >= 0 .
H48:   fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) <= 65535 .
H49:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) >= 0 .
H50:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) <= 4294967295 .
H51:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) >= 0 .
H52:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) <= 
          18446744073709551615 .
H53:   fld_x(local_ctx__4) = fld_x(local_ctx__3) .
H54:   fld_b(local_ctx__4) = fld_b(local_ctx__3) .
H55:   local_ctx__4 = upf_h(local_ctx__3, fld_h(local_ctx__4)) .
H56:   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) .
H57:   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) .
H58:   for_all(i___1 : integer, 0 <= i___1 and i___1 <= 63 -> 0 <= element(
          fld_b(local_ctx__3), [i___1]) and element(fld_b(local_ctx__3), [i___1]
          ) <= 255) .
H59:   fld_hash_bit_len(fld_h(local_ctx__3)) >= 1 .
H60:   fld_hash_bit_len(fld_h(local_ctx__3)) >= 1 .
H61:   fld_hash_bit_len(fld_h(local_ctx__3)) <= 2147483640 .
H62:   fld_hash_bit_len(fld_h(local_ctx__5)) = fld_hash_bit_len(fld_h(
          local_ctx__3)) .
H63:   fld_byte_count(fld_h(local_ctx__4)) >= 0 .
H64:   fld_byte_count(fld_h(local_ctx__4)) <= 64 .
H65:   fld_byte_count(fld_h(local_ctx__5)) = fld_byte_count(fld_h(local_ctx__4))
           .
H66:   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) .
H67:   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) .
H68:   fld_field_type(fld_tweak_words(fld_h(local_ctx__5))) >= 0 .
H69:   fld_field_type(fld_tweak_words(fld_h(local_ctx__5))) <= 63 .
H70:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__5))) >= 0 .
H71:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__5))) <= 127 .
H72:   fld_reserved(fld_tweak_words(fld_h(local_ctx__5))) >= 0 .
H73:   fld_reserved(fld_tweak_words(fld_h(local_ctx__5))) <= 65535 .
H74:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__5))) >= 0 .
H75:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__5))) <= 4294967295 .
H76:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__5))) >= 0 .
H77:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__5))) <= 
          18446744073709551615 .
H78:   byte_count >= 1 .
H79:   byte_count <= 268435455 .
H80:   byte_count - blocks_done * 64 < 64 .
H81:   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) .
H82:   blocks_done * 64 >= 0 .
H83:   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) .
H84:   for_all(i___1 : integer, 0 <= i___1 and i___1 <= 7 -> 0 <= element(x, [
          i___1]) and element(x, [i___1]) <= 18446744073709551615) .
H85:   (byte_count + 63) div 64 >= 1 .
H86:   (byte_count + 63) div 64 <= 4194304 .
H87:   blocks_done + 1 < (byte_count + 63) div 64 .
H88:   integer__size >= 0 .
H89:   natural__size >= 0 .
H90:   spark__unsigned__u6__size >= 0 .
H91:   spark__unsigned__u7__size >= 0 .
H92:   spark__unsigned__byte__size >= 0 .
H93:   spark__unsigned__u16__size >= 0 .
H94:   spark__unsigned__u32__size >= 0 .
H95:   spark__unsigned__u64__size >= 0 .
H96:   spark__crypto__word_count_t__size >= 0 .
H97:   hash_bit_length__size >= 0 .
H98:   initialized_hash_bit_length__size >= 0 .
H99:   skein_512_state_words_index__size >= 0 .
H100:  skein_512_block_bytes_count__size >= 0 .
H101:  skein_512_block_bytes_index__size >= 0 .
H102:  positive_block_512_count_t__size >= 0 .
H103:  skein_512_context__size >= 0 .
H104:  result__index__subtype__1__first <= result__index__subtype__1__last .
H105:  context_header__size >= 0 .
H106:  output_byte_count_t__size >= 0 .
H107:  output_block_count_t__size >= 0 .
H108:  positive_output_block_count_t__size >= 0 .
H109:  result__index__subtype__1__first >= 0 .
H110:  result__index__subtype__1__last >= 0 .
H111:  result__index__subtype__1__last <= 2147483647 .
H112:  result__index__subtype__1__first <= 2147483647 .
       ->
C1:    (blocks_done + 1) * 64 < byte_count .
C2:    (blocks_done + 1) * 64 < result__index__subtype__1__last + 1 .


For path(s) from assertion of line 930 to precondition check associated with 
          statement of line 937:

procedure_skein_512_final_22.
*** true .          /* all conclusions proved */


For path(s) from assertion of line 930 to run-time check associated with 
          statement of line 939:

procedure_skein_512_final_23.
*** true .          /* all conclusions proved */


For path(s) from assertion of line 930 to precondition check associated with 
          statement of line 947:

procedure_skein_512_final_24.
*** true .          /* all conclusions proved */


For path(s) from assertion of line 930 to run-time check associated with 
          statement of line 953:

procedure_skein_512_final_25.
*** true .          /* all conclusions proved */


For path(s) from assertion of line 930 to run-time check associated with 
          statement of line 955:

procedure_skein_512_final_26.
*** true .          /* all conclusions proved */


For path(s) from assertion of line 930 to precondition check associated with 
          statement of line 959:

procedure_skein_512_final_27.
*** true .          /* all conclusions proved */


procedure_skein_512_final_28.
*** true .          /* all conclusions proved */


For path(s) from assertion of line 930 to run-time check associated with 
          statement of line 966:

procedure_skein_512_final_29.
*** true .          /* all conclusions proved */


procedure_skein_512_final_30.
*** true .          /* all conclusions proved */


For path(s) from assertion of line 930 to finish:

procedure_skein_512_final_31.
*** true .          /* all conclusions proved */


procedure_skein_512_final_32.
*** true .          /* all conclusions proved */


For checks of refinement integrity: 

procedure_skein_512_final_33.
*** true .   /* proved using user-defined proof rules. */


procedure_skein_512_final_34.
*** true .          /* all conclusions proved */


