           *******************************************************
                       Semantic Analysis of SPARK Text
                             Examiner 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.
H1:    fld_hash_bit_len(fld_h(ctx)) >= 
           initialized_hash_bit_length__first .
H2:    fld_hash_bit_len(fld_h(ctx)) <= 
           initialized_hash_bit_length__last .
H3:    fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_count__first .
H4:    fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_count__last .
H5:    result__index__subtype__1__first = 0 .
H6:    (fld_hash_bit_len(fld_h(ctx)) + 7) div 8 <= 
           result__index__subtype__1__last + 1 .
H7:    for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(ctx), [i___2]) <= spark__unsigned__byte__last))) .
H8:    for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(ctx), [i___1]) <= spark__unsigned__u64__last))) .
H9:    fld_byte_count(fld_h(ctx)) >= natural__first .
H10:   fld_byte_count(fld_h(ctx)) <= natural__last .
H11:   fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first .
H12:   fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last .
H13:   true .
H14:   true .
H15:   fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u6__first .
H16:   fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u6__last .
H17:   true .
H18:   fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u7__first .
H19:   fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u7__last .
H20:   fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u16__first .
H21:   fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u16__last .
H22:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u32__first .
H23:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u32__last .
H24:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u64__first .
H25:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u64__last .
        ->
C1:    fld_hash_bit_len(fld_h(ctx)) > 0 .
 

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

procedure_skein_512_final_2.
H1:    fld_hash_bit_len(fld_h(ctx)) >= 
           initialized_hash_bit_length__first .
H2:    fld_hash_bit_len(fld_h(ctx)) <= 
           initialized_hash_bit_length__last .
H3:    fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_count__first .
H4:    fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_count__last .
H5:    result__index__subtype__1__first = 0 .
H6:    (fld_hash_bit_len(fld_h(ctx)) + 7) div 8 <= 
           result__index__subtype__1__last + 1 .
H7:    for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(ctx), [i___2]) <= spark__unsigned__byte__last))) .
H8:    for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(ctx), [i___1]) <= spark__unsigned__u64__last))) .
H9:    fld_byte_count(fld_h(ctx)) >= natural__first .
H10:   fld_byte_count(fld_h(ctx)) <= natural__last .
H11:   fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first .
H12:   fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last .
H13:   true .
H14:   true .
H15:   fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u6__first .
H16:   fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u6__last .
H17:   true .
H18:   fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u7__first .
H19:   fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u7__last .
H20:   fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u16__first .
H21:   fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u16__last .
H22:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u32__first .
H23:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u32__last .
H24:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u64__first .
H25:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u64__last .
H26:   fld_hash_bit_len(fld_h(ctx)) > 0 .
        ->
C1:    0 >= spark__unsigned__byte__first .
C2:    0 <= spark__unsigned__byte__last .
 

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

procedure_skein_512_final_3.
H1:    fld_hash_bit_len(fld_h(ctx)) >= 
           initialized_hash_bit_length__first .
H2:    fld_hash_bit_len(fld_h(ctx)) <= 
           initialized_hash_bit_length__last .
H3:    fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_count__first .
H4:    fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_count__last .
H5:    result__index__subtype__1__first = 0 .
H6:    (fld_hash_bit_len(fld_h(ctx)) + 7) div 8 <= 
           result__index__subtype__1__last + 1 .
H7:    for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(ctx), [i___2]) <= spark__unsigned__byte__last))) .
H8:    for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(ctx), [i___1]) <= spark__unsigned__u64__last))) .
H9:    fld_byte_count(fld_h(ctx)) >= natural__first .
H10:   fld_byte_count(fld_h(ctx)) <= natural__last .
H11:   fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first .
H12:   fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last .
H13:   true .
H14:   true .
H15:   fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u6__first .
H16:   fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u6__last .
H17:   true .
H18:   fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u7__first .
H19:   fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u7__last .
H20:   fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u16__first .
H21:   fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u16__last .
H22:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u32__first .
H23:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u32__last .
H24:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u64__first .
H25:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u64__last .
H26:   fld_hash_bit_len(fld_h(ctx)) > 0 .
H27:   0 >= spark__unsigned__byte__first .
H28:   0 <= spark__unsigned__byte__last .
H29:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) >= 
           spark__unsigned__byte__first) and (element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) <= 
           spark__unsigned__byte__last))) .
H30:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) >= 
           spark__unsigned__u64__first) and (element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) <= 
           spark__unsigned__u64__last))) .
H31:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H32:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H33:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= hash_bit_length__first .
H34:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= hash_bit_length__last .
H35:   true .
H36:   true .
H37:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u6__first .
H38:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u6__last .
H39:   true .
H40:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u7__first .
H41:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u7__last .
H42:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u16__first .
H43:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u16__last .
H44:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u32__first .
H45:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u32__last .
H46:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u64__first .
H47:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u64__last .
H48:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) < skein_512_block_bytes_c .
        ->
C1:    fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) < skein_512_block_bytes_c .
C2:    fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) > 0 .
 

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

procedure_skein_512_final_4.
H1:    fld_hash_bit_len(fld_h(ctx)) >= 
           initialized_hash_bit_length__first .
H2:    fld_hash_bit_len(fld_h(ctx)) <= 
           initialized_hash_bit_length__last .
H3:    fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_count__first .
H4:    fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_count__last .
H5:    result__index__subtype__1__first = 0 .
H6:    (fld_hash_bit_len(fld_h(ctx)) + 7) div 8 <= 
           result__index__subtype__1__last + 1 .
H7:    for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(ctx), [i___2]) <= spark__unsigned__byte__last))) .
H8:    for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(ctx), [i___1]) <= spark__unsigned__u64__last))) .
H9:    fld_byte_count(fld_h(ctx)) >= natural__first .
H10:   fld_byte_count(fld_h(ctx)) <= natural__last .
H11:   fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first .
H12:   fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last .
H13:   true .
H14:   true .
H15:   fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u6__first .
H16:   fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u6__last .
H17:   true .
H18:   fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u7__first .
H19:   fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u7__last .
H20:   fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u16__first .
H21:   fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u16__last .
H22:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u32__first .
H23:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u32__last .
H24:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u64__first .
H25:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u64__last .
H26:   fld_hash_bit_len(fld_h(ctx)) > 0 .
H27:   0 >= spark__unsigned__byte__first .
H28:   0 <= spark__unsigned__byte__last .
H29:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) >= 
           spark__unsigned__byte__first) and (element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) <= 
           spark__unsigned__byte__last))) .
H30:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) >= 
           spark__unsigned__u64__first) and (element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) <= 
           spark__unsigned__u64__last))) .
H31:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H32:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H33:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= hash_bit_length__first .
H34:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= hash_bit_length__last .
H35:   true .
H36:   true .
H37:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u6__first .
H38:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u6__last .
H39:   true .
H40:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u7__first .
H41:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u7__last .
H42:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u16__first .
H43:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u16__last .
H44:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u32__first .
H45:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u32__last .
H46:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u64__first .
H47:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u64__last .
H48:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) < skein_512_block_bytes_c .
H49:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) < skein_512_block_bytes_c .
H50:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) > 0 .
H51:   fld_hash_bit_len(fld_h(local_ctx__1)) = fld_hash_bit_len(fld_h(
           upf_h(ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true))))) .
H52:   fld_hash_bit_len(fld_h(local_ctx__1)) > 0 .
H53:   fld_byte_count(fld_h(local_ctx__1)) < 
           skein_512_block_bytes_c .
H54:   fld_byte_count(fld_h(local_ctx__1)) = fld_byte_count(fld_h(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true))))) .
H55:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__1), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__1), [i___2]) <= 
           spark__unsigned__byte__last))) .
H56:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__1), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__1), [i___1]) <= 
           spark__unsigned__u64__last))) .
H57:   fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
H58:   fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
H59:   fld_hash_bit_len(fld_h(local_ctx__1)) >= 
           hash_bit_length__first .
H60:   fld_hash_bit_len(fld_h(local_ctx__1)) <= 
           hash_bit_length__last .
H61:   true .
H62:   true .
H63:   fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u6__first .
H64:   fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u6__last .
H65:   true .
H66:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u7__first .
H67:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u7__last .
H68:   fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u16__first .
H69:   fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u16__last .
H70:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u32__first .
H71:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u32__last .
H72:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u64__first .
H73:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u64__last .
H74:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__1), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__1), [i___2]) <= 
           spark__unsigned__byte__last))) .
H75:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__1), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__1), [i___1]) <= 
           spark__unsigned__u64__last))) .
H76:   fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
H77:   fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
H78:   fld_hash_bit_len(fld_h(local_ctx__1)) >= 
           hash_bit_length__first .
H79:   fld_hash_bit_len(fld_h(local_ctx__1)) <= 
           hash_bit_length__last .
H80:   true .
H81:   true .
H82:   fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u6__first .
H83:   fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u6__last .
H84:   true .
H85:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u7__first .
H86:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u7__last .
H87:   fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u16__first .
H88:   fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u16__last .
H89:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u32__first .
H90:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u32__last .
H91:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u64__first .
H92:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u64__last .
H93:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__1), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__1), [i___2]) <= 
           spark__unsigned__byte__last))) .
H94:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__1), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__1), [i___1]) <= 
           spark__unsigned__u64__last))) .
H95:   fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
H96:   fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
H97:   fld_hash_bit_len(fld_h(local_ctx__1)) >= 
           hash_bit_length__first .
H98:   fld_hash_bit_len(fld_h(local_ctx__1)) <= 
           hash_bit_length__last .
H99:   true .
H100:  true .
H101:  fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u6__first .
H102:  fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u6__last .
H103:  true .
H104:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u7__first .
H105:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u7__last .
H106:  fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u16__first .
H107:  fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u16__last .
H108:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u32__first .
H109:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u32__last .
H110:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u64__first .
H111:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u64__last .
        ->
C1:    fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
C2:    fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
 

procedure_skein_512_final_5.
H1:    fld_hash_bit_len(fld_h(ctx)) >= 
           initialized_hash_bit_length__first .
H2:    fld_hash_bit_len(fld_h(ctx)) <= 
           initialized_hash_bit_length__last .
H3:    fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_count__first .
H4:    fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_count__last .
H5:    result__index__subtype__1__first = 0 .
H6:    (fld_hash_bit_len(fld_h(ctx)) + 7) div 8 <= 
           result__index__subtype__1__last + 1 .
H7:    for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(ctx), [i___2]) <= spark__unsigned__byte__last))) .
H8:    for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(ctx), [i___1]) <= spark__unsigned__u64__last))) .
H9:    fld_byte_count(fld_h(ctx)) >= natural__first .
H10:   fld_byte_count(fld_h(ctx)) <= natural__last .
H11:   fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first .
H12:   fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last .
H13:   true .
H14:   true .
H15:   fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u6__first .
H16:   fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u6__last .
H17:   true .
H18:   fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u7__first .
H19:   fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u7__last .
H20:   fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u16__first .
H21:   fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u16__last .
H22:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u32__first .
H23:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u32__last .
H24:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u64__first .
H25:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u64__last .
H26:   fld_hash_bit_len(fld_h(ctx)) > 0 .
H27:   0 >= spark__unsigned__byte__first .
H28:   0 <= spark__unsigned__byte__last .
H29:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) >= 
           spark__unsigned__byte__first) and (element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) <= 
           spark__unsigned__byte__last))) .
H30:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) >= 
           spark__unsigned__u64__first) and (element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) <= 
           spark__unsigned__u64__last))) .
H31:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H32:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H33:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= hash_bit_length__first .
H34:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= hash_bit_length__last .
H35:   true .
H36:   true .
H37:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u6__first .
H38:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u6__last .
H39:   true .
H40:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u7__first .
H41:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u7__last .
H42:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u16__first .
H43:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u16__last .
H44:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u32__first .
H45:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u32__last .
H46:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u64__first .
H47:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u64__last .
H48:   not (fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) < skein_512_block_bytes_c) .
H49:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) >= 
           spark__unsigned__byte__first) and (element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) <= 
           spark__unsigned__byte__last))) .
H50:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) >= 
           spark__unsigned__u64__first) and (element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) <= 
           spark__unsigned__u64__last))) .
H51:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H52:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H53:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= hash_bit_length__first .
H54:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= hash_bit_length__last .
H55:   true .
H56:   true .
H57:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u6__first .
H58:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u6__last .
H59:   true .
H60:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u7__first .
H61:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u7__last .
H62:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u16__first .
H63:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u16__last .
H64:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u32__first .
H65:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u32__last .
H66:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u64__first .
H67:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u64__last .
H68:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) >= 
           spark__unsigned__byte__first) and (element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) <= 
           spark__unsigned__byte__last))) .
H69:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) >= 
           spark__unsigned__u64__first) and (element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) <= 
           spark__unsigned__u64__last))) .
H70:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H71:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H72:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= hash_bit_length__first .
H73:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= hash_bit_length__last .
H74:   true .
H75:   true .
H76:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u6__first .
H77:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u6__last .
H78:   true .
H79:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u7__first .
H80:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u7__last .
H81:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u16__first .
H82:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u16__last .
H83:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u32__first .
H84:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u32__last .
H85:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u64__first .
H86:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u64__last .
        ->
C1:    fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
C2:    fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
 

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

procedure_skein_512_final_6.
H1:    fld_hash_bit_len(fld_h(ctx)) >= 
           initialized_hash_bit_length__first .
H2:    fld_hash_bit_len(fld_h(ctx)) <= 
           initialized_hash_bit_length__last .
H3:    fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_count__first .
H4:    fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_count__last .
H5:    result__index__subtype__1__first = 0 .
H6:    (fld_hash_bit_len(fld_h(ctx)) + 7) div 8 <= 
           result__index__subtype__1__last + 1 .
H7:    for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(ctx), [i___2]) <= spark__unsigned__byte__last))) .
H8:    for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(ctx), [i___1]) <= spark__unsigned__u64__last))) .
H9:    fld_byte_count(fld_h(ctx)) >= natural__first .
H10:   fld_byte_count(fld_h(ctx)) <= natural__last .
H11:   fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first .
H12:   fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last .
H13:   true .
H14:   true .
H15:   fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u6__first .
H16:   fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u6__last .
H17:   true .
H18:   fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u7__first .
H19:   fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u7__last .
H20:   fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u16__first .
H21:   fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u16__last .
H22:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u32__first .
H23:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u32__last .
H24:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u64__first .
H25:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u64__last .
H26:   fld_hash_bit_len(fld_h(ctx)) > 0 .
H27:   0 >= spark__unsigned__byte__first .
H28:   0 <= spark__unsigned__byte__last .
H29:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) >= 
           spark__unsigned__byte__first) and (element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) <= 
           spark__unsigned__byte__last))) .
H30:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) >= 
           spark__unsigned__u64__first) and (element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) <= 
           spark__unsigned__u64__last))) .
H31:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H32:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H33:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= hash_bit_length__first .
H34:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= hash_bit_length__last .
H35:   true .
H36:   true .
H37:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u6__first .
H38:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u6__last .
H39:   true .
H40:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u7__first .
H41:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u7__last .
H42:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u16__first .
H43:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u16__last .
H44:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u32__first .
H45:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u32__last .
H46:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u64__first .
H47:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u64__last .
H48:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) < skein_512_block_bytes_c .
H49:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) < skein_512_block_bytes_c .
H50:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) > 0 .
H51:   fld_hash_bit_len(fld_h(local_ctx__1)) = fld_hash_bit_len(fld_h(
           upf_h(ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true))))) .
H52:   fld_hash_bit_len(fld_h(local_ctx__1)) > 0 .
H53:   fld_byte_count(fld_h(local_ctx__1)) < 
           skein_512_block_bytes_c .
H54:   fld_byte_count(fld_h(local_ctx__1)) = fld_byte_count(fld_h(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true))))) .
H55:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__1), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__1), [i___2]) <= 
           spark__unsigned__byte__last))) .
H56:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__1), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__1), [i___1]) <= 
           spark__unsigned__u64__last))) .
H57:   fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
H58:   fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
H59:   fld_hash_bit_len(fld_h(local_ctx__1)) >= 
           hash_bit_length__first .
H60:   fld_hash_bit_len(fld_h(local_ctx__1)) <= 
           hash_bit_length__last .
H61:   true .
H62:   true .
H63:   fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u6__first .
H64:   fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u6__last .
H65:   true .
H66:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u7__first .
H67:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u7__last .
H68:   fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u16__first .
H69:   fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u16__last .
H70:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u32__first .
H71:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u32__last .
H72:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u64__first .
H73:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u64__last .
H74:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__1), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__1), [i___2]) <= 
           spark__unsigned__byte__last))) .
H75:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__1), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__1), [i___1]) <= 
           spark__unsigned__u64__last))) .
H76:   fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
H77:   fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
H78:   fld_hash_bit_len(fld_h(local_ctx__1)) >= 
           hash_bit_length__first .
H79:   fld_hash_bit_len(fld_h(local_ctx__1)) <= 
           hash_bit_length__last .
H80:   true .
H81:   true .
H82:   fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u6__first .
H83:   fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u6__last .
H84:   true .
H85:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u7__first .
H86:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u7__last .
H87:   fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u16__first .
H88:   fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u16__last .
H89:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u32__first .
H90:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u32__last .
H91:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u64__first .
H92:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u64__last .
H93:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__1), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__1), [i___2]) <= 
           spark__unsigned__byte__last))) .
H94:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__1), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__1), [i___1]) <= 
           spark__unsigned__u64__last))) .
H95:   fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
H96:   fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
H97:   fld_hash_bit_len(fld_h(local_ctx__1)) >= 
           hash_bit_length__first .
H98:   fld_hash_bit_len(fld_h(local_ctx__1)) <= 
           hash_bit_length__last .
H99:   true .
H100:  true .
H101:  fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u6__first .
H102:  fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u6__last .
H103:  true .
H104:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u7__first .
H105:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u7__last .
H106:  fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u16__first .
H107:  fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u16__last .
H108:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u32__first .
H109:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u32__last .
H110:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u64__first .
H111:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u64__last .
H112:  fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
H113:  fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
H114:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__1), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__1), [i___2]) <= 
           spark__unsigned__byte__last))) .
H115:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__1), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__1), [i___1]) <= 
           spark__unsigned__u64__last))) .
H116:  fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
H117:  fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
H118:  fld_hash_bit_len(fld_h(local_ctx__1)) >= 
           hash_bit_length__first .
H119:  fld_hash_bit_len(fld_h(local_ctx__1)) <= 
           hash_bit_length__last .
H120:  true .
H121:  true .
H122:  fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u6__first .
H123:  fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u6__last .
H124:  true .
H125:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u7__first .
H126:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u7__last .
H127:  fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u16__first .
H128:  fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u16__last .
H129:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u32__first .
H130:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u32__last .
H131:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u64__first .
H132:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u64__last .
H133:  for_all(i___1: integer, ((i___1 >= 
           skein_512_block_bytes_index__first) and (i___1 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__1), [i___1]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__1), [i___1]) <= 
           spark__unsigned__byte__last))) .
H134:  fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
H135:  fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
        ->
C1:    fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
C2:    fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
C3:    1 >= positive_block_512_count_t__first .
C4:    1 <= positive_block_512_count_t__last .
C5:    0 >= natural__first .
C6:    0 <= natural__last .
C7:    fld_hash_bit_len(fld_h(local_ctx__1)) >= 
           initialized_hash_bit_length__first .
C8:    fld_hash_bit_len(fld_h(local_ctx__1)) <= 
           initialized_hash_bit_length__last .
C9:    fld_byte_count(fld_h(local_ctx__1)) >= 
           skein_512_block_bytes_count__first .
C10:   fld_byte_count(fld_h(local_ctx__1)) <= 
           skein_512_block_bytes_count__last .
C11:   skein_512_block_bytes_index__first = 0 .
C12:   0 + (1 - 1) * skein_512_block_bytes_c + 63 <= 
           skein_512_block_bytes_index__last .
C13:   0 + 63 <= skein_512_block_bytes_index__last .
C14:   skein_512_block_bytes_index__last <= natural__last .
C15:   0 <= natural__last - 63 .
 

procedure_skein_512_final_7.
H1:    fld_hash_bit_len(fld_h(ctx)) >= 
           initialized_hash_bit_length__first .
H2:    fld_hash_bit_len(fld_h(ctx)) <= 
           initialized_hash_bit_length__last .
H3:    fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_count__first .
H4:    fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_count__last .
H5:    result__index__subtype__1__first = 0 .
H6:    (fld_hash_bit_len(fld_h(ctx)) + 7) div 8 <= 
           result__index__subtype__1__last + 1 .
H7:    for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(ctx), [i___2]) <= spark__unsigned__byte__last))) .
H8:    for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(ctx), [i___1]) <= spark__unsigned__u64__last))) .
H9:    fld_byte_count(fld_h(ctx)) >= natural__first .
H10:   fld_byte_count(fld_h(ctx)) <= natural__last .
H11:   fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first .
H12:   fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last .
H13:   true .
H14:   true .
H15:   fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u6__first .
H16:   fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u6__last .
H17:   true .
H18:   fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u7__first .
H19:   fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u7__last .
H20:   fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u16__first .
H21:   fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u16__last .
H22:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u32__first .
H23:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u32__last .
H24:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u64__first .
H25:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u64__last .
H26:   fld_hash_bit_len(fld_h(ctx)) > 0 .
H27:   0 >= spark__unsigned__byte__first .
H28:   0 <= spark__unsigned__byte__last .
H29:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) >= 
           spark__unsigned__byte__first) and (element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) <= 
           spark__unsigned__byte__last))) .
H30:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) >= 
           spark__unsigned__u64__first) and (element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) <= 
           spark__unsigned__u64__last))) .
H31:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H32:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H33:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= hash_bit_length__first .
H34:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= hash_bit_length__last .
H35:   true .
H36:   true .
H37:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u6__first .
H38:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u6__last .
H39:   true .
H40:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u7__first .
H41:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u7__last .
H42:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u16__first .
H43:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u16__last .
H44:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u32__first .
H45:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u32__last .
H46:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u64__first .
H47:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u64__last .
H48:   not (fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) < skein_512_block_bytes_c) .
H49:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) >= 
           spark__unsigned__byte__first) and (element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) <= 
           spark__unsigned__byte__last))) .
H50:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) >= 
           spark__unsigned__u64__first) and (element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) <= 
           spark__unsigned__u64__last))) .
H51:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H52:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H53:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= hash_bit_length__first .
H54:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= hash_bit_length__last .
H55:   true .
H56:   true .
H57:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u6__first .
H58:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u6__last .
H59:   true .
H60:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u7__first .
H61:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u7__last .
H62:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u16__first .
H63:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u16__last .
H64:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u32__first .
H65:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u32__last .
H66:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u64__first .
H67:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u64__last .
H68:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) >= 
           spark__unsigned__byte__first) and (element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) <= 
           spark__unsigned__byte__last))) .
H69:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) >= 
           spark__unsigned__u64__first) and (element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) <= 
           spark__unsigned__u64__last))) .
H70:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H71:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H72:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= hash_bit_length__first .
H73:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= hash_bit_length__last .
H74:   true .
H75:   true .
H76:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u6__first .
H77:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u6__last .
H78:   true .
H79:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u7__first .
H80:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u7__last .
H81:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u16__first .
H82:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u16__last .
H83:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u32__first .
H84:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u32__last .
H85:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u64__first .
H86:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u64__last .
H87:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H88:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H89:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) >= 
           spark__unsigned__byte__first) and (element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) <= 
           spark__unsigned__byte__last))) .
H90:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) >= 
           spark__unsigned__u64__first) and (element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) <= 
           spark__unsigned__u64__last))) .
H91:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H92:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H93:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= hash_bit_length__first .
H94:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= hash_bit_length__last .
H95:   true .
H96:   true .
H97:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u6__first .
H98:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u6__last .
H99:   true .
H100:  fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u7__first .
H101:  fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u7__last .
H102:  fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u16__first .
H103:  fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u16__last .
H104:  fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u32__first .
H105:  fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u32__last .
H106:  fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u64__first .
H107:  fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u64__last .
H108:  for_all(i___1: integer, ((i___1 >= 
           skein_512_block_bytes_index__first) and (i___1 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) >= 
           spark__unsigned__byte__first) and (element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) <= 
           spark__unsigned__byte__last))) .
H109:  fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H110:  fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
        ->
C1:    fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
C2:    fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
C3:    1 >= positive_block_512_count_t__first .
C4:    1 <= positive_block_512_count_t__last .
C5:    0 >= natural__first .
C6:    0 <= natural__last .
C7:    fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= initialized_hash_bit_length__first .
C8:    fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= initialized_hash_bit_length__last .
C9:    fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= skein_512_block_bytes_count__first .
C10:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= skein_512_block_bytes_count__last .
C11:   skein_512_block_bytes_index__first = 0 .
C12:   0 + (1 - 1) * skein_512_block_bytes_c + 63 <= 
           skein_512_block_bytes_index__last .
C13:   0 + 63 <= skein_512_block_bytes_index__last .
C14:   skein_512_block_bytes_index__last <= natural__last .
C15:   0 <= natural__last - 63 .
 

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

procedure_skein_512_final_8.
H1:    fld_hash_bit_len(fld_h(ctx)) >= 
           initialized_hash_bit_length__first .
H2:    fld_hash_bit_len(fld_h(ctx)) <= 
           initialized_hash_bit_length__last .
H3:    fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_count__first .
H4:    fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_count__last .
H5:    result__index__subtype__1__first = 0 .
H6:    (fld_hash_bit_len(fld_h(ctx)) + 7) div 8 <= 
           result__index__subtype__1__last + 1 .
H7:    for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(ctx), [i___2]) <= spark__unsigned__byte__last))) .
H8:    for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(ctx), [i___1]) <= spark__unsigned__u64__last))) .
H9:    fld_byte_count(fld_h(ctx)) >= natural__first .
H10:   fld_byte_count(fld_h(ctx)) <= natural__last .
H11:   fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first .
H12:   fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last .
H13:   true .
H14:   true .
H15:   fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u6__first .
H16:   fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u6__last .
H17:   true .
H18:   fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u7__first .
H19:   fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u7__last .
H20:   fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u16__first .
H21:   fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u16__last .
H22:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u32__first .
H23:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u32__last .
H24:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u64__first .
H25:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u64__last .
H26:   fld_hash_bit_len(fld_h(ctx)) > 0 .
H27:   0 >= spark__unsigned__byte__first .
H28:   0 <= spark__unsigned__byte__last .
H29:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) >= 
           spark__unsigned__byte__first) and (element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) <= 
           spark__unsigned__byte__last))) .
H30:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) >= 
           spark__unsigned__u64__first) and (element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) <= 
           spark__unsigned__u64__last))) .
H31:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H32:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H33:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= hash_bit_length__first .
H34:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= hash_bit_length__last .
H35:   true .
H36:   true .
H37:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u6__first .
H38:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u6__last .
H39:   true .
H40:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u7__first .
H41:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u7__last .
H42:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u16__first .
H43:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u16__last .
H44:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u32__first .
H45:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u32__last .
H46:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u64__first .
H47:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u64__last .
H48:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) < skein_512_block_bytes_c .
H49:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) < skein_512_block_bytes_c .
H50:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) > 0 .
H51:   fld_hash_bit_len(fld_h(local_ctx__1)) = fld_hash_bit_len(fld_h(
           upf_h(ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true))))) .
H52:   fld_hash_bit_len(fld_h(local_ctx__1)) > 0 .
H53:   fld_byte_count(fld_h(local_ctx__1)) < 
           skein_512_block_bytes_c .
H54:   fld_byte_count(fld_h(local_ctx__1)) = fld_byte_count(fld_h(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true))))) .
H55:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__1), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__1), [i___2]) <= 
           spark__unsigned__byte__last))) .
H56:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__1), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__1), [i___1]) <= 
           spark__unsigned__u64__last))) .
H57:   fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
H58:   fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
H59:   fld_hash_bit_len(fld_h(local_ctx__1)) >= 
           hash_bit_length__first .
H60:   fld_hash_bit_len(fld_h(local_ctx__1)) <= 
           hash_bit_length__last .
H61:   true .
H62:   true .
H63:   fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u6__first .
H64:   fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u6__last .
H65:   true .
H66:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u7__first .
H67:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u7__last .
H68:   fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u16__first .
H69:   fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u16__last .
H70:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u32__first .
H71:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u32__last .
H72:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u64__first .
H73:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u64__last .
H74:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__1), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__1), [i___2]) <= 
           spark__unsigned__byte__last))) .
H75:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__1), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__1), [i___1]) <= 
           spark__unsigned__u64__last))) .
H76:   fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
H77:   fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
H78:   fld_hash_bit_len(fld_h(local_ctx__1)) >= 
           hash_bit_length__first .
H79:   fld_hash_bit_len(fld_h(local_ctx__1)) <= 
           hash_bit_length__last .
H80:   true .
H81:   true .
H82:   fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u6__first .
H83:   fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u6__last .
H84:   true .
H85:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u7__first .
H86:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u7__last .
H87:   fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u16__first .
H88:   fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u16__last .
H89:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u32__first .
H90:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u32__last .
H91:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u64__first .
H92:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u64__last .
H93:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__1), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__1), [i___2]) <= 
           spark__unsigned__byte__last))) .
H94:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__1), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__1), [i___1]) <= 
           spark__unsigned__u64__last))) .
H95:   fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
H96:   fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
H97:   fld_hash_bit_len(fld_h(local_ctx__1)) >= 
           hash_bit_length__first .
H98:   fld_hash_bit_len(fld_h(local_ctx__1)) <= 
           hash_bit_length__last .
H99:   true .
H100:  true .
H101:  fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u6__first .
H102:  fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u6__last .
H103:  true .
H104:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u7__first .
H105:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u7__last .
H106:  fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u16__first .
H107:  fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u16__last .
H108:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u32__first .
H109:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u32__last .
H110:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u64__first .
H111:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u64__last .
H112:  fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
H113:  fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
H114:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__1), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__1), [i___2]) <= 
           spark__unsigned__byte__last))) .
H115:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__1), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__1), [i___1]) <= 
           spark__unsigned__u64__last))) .
H116:  fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
H117:  fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
H118:  fld_hash_bit_len(fld_h(local_ctx__1)) >= 
           hash_bit_length__first .
H119:  fld_hash_bit_len(fld_h(local_ctx__1)) <= 
           hash_bit_length__last .
H120:  true .
H121:  true .
H122:  fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u6__first .
H123:  fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u6__last .
H124:  true .
H125:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u7__first .
H126:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u7__last .
H127:  fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u16__first .
H128:  fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u16__last .
H129:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u32__first .
H130:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u32__last .
H131:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u64__first .
H132:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u64__last .
H133:  for_all(i___1: integer, ((i___1 >= 
           skein_512_block_bytes_index__first) and (i___1 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__1), [i___1]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__1), [i___1]) <= 
           spark__unsigned__byte__last))) .
H134:  fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
H135:  fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
H136:  fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
H137:  fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
H138:  1 >= positive_block_512_count_t__first .
H139:  1 <= positive_block_512_count_t__last .
H140:  0 >= natural__first .
H141:  0 <= natural__last .
H142:  fld_hash_bit_len(fld_h(local_ctx__1)) >= 
           initialized_hash_bit_length__first .
H143:  fld_hash_bit_len(fld_h(local_ctx__1)) <= 
           initialized_hash_bit_length__last .
H144:  fld_byte_count(fld_h(local_ctx__1)) >= 
           skein_512_block_bytes_count__first .
H145:  fld_byte_count(fld_h(local_ctx__1)) <= 
           skein_512_block_bytes_count__last .
H146:  skein_512_block_bytes_index__first = 0 .
H147:  0 + (1 - 1) * skein_512_block_bytes_c + 63 <= 
           skein_512_block_bytes_index__last .
H148:  0 + 63 <= skein_512_block_bytes_index__last .
H149:  skein_512_block_bytes_index__last <= natural__last .
H150:  0 <= natural__last - 63 .
H151:  fld_hash_bit_len(fld_h(local_ctx__2)) >= 
           initialized_hash_bit_length__first .
H152:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 
           initialized_hash_bit_length__last .
H153:  fld_hash_bit_len(fld_h(local_ctx__2)) = fld_hash_bit_len(fld_h(
           local_ctx__1)) .
H154:  fld_byte_count(fld_h(local_ctx__2)) >= 
           skein_512_block_bytes_count__first .
H155:  fld_byte_count(fld_h(local_ctx__2)) <= 
           skein_512_block_bytes_count__last .
H156:  fld_byte_count(fld_h(local_ctx__2)) = fld_byte_count(fld_h(
           local_ctx__1)) .
H157:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__2), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__2), [i___2]) <= 
           spark__unsigned__byte__last))) .
H158:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__2), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__2), [i___1]) <= 
           spark__unsigned__u64__last))) .
H159:  fld_byte_count(fld_h(local_ctx__2)) >= natural__first .
H160:  fld_byte_count(fld_h(local_ctx__2)) <= natural__last .
H161:  fld_hash_bit_len(fld_h(local_ctx__2)) >= 
           hash_bit_length__first .
H162:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 
           hash_bit_length__last .
H163:  true .
H164:  true .
H165:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u6__first .
H166:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u6__last .
H167:  true .
H168:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u7__first .
H169:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u7__last .
H170:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u16__first .
H171:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u16__last .
H172:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u32__first .
H173:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u32__last .
H174:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u64__first .
H175:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u64__last .
H176:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__2), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__2), [i___2]) <= 
           spark__unsigned__byte__last))) .
H177:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__2), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__2), [i___1]) <= 
           spark__unsigned__u64__last))) .
H178:  fld_byte_count(fld_h(local_ctx__2)) >= natural__first .
H179:  fld_byte_count(fld_h(local_ctx__2)) <= natural__last .
H180:  fld_hash_bit_len(fld_h(local_ctx__2)) >= 
           hash_bit_length__first .
H181:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 
           hash_bit_length__last .
H182:  true .
H183:  true .
H184:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u6__first .
H185:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u6__last .
H186:  true .
H187:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u7__first .
H188:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u7__last .
H189:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u16__first .
H190:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u16__last .
H191:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u32__first .
H192:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u32__last .
H193:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u64__first .
H194:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u64__last .
        ->
C1:    (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 >= 
           output_byte_count_t__first .
C2:    (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 <= 
           output_byte_count_t__last .
C3:    8 <> 0 .
C4:    fld_hash_bit_len(fld_h(local_ctx__2)) + 7 >= integer__base__first .
C5:    fld_hash_bit_len(fld_h(local_ctx__2)) + 7 <= integer__base__last .
 

procedure_skein_512_final_9.
H1:    fld_hash_bit_len(fld_h(ctx)) >= 
           initialized_hash_bit_length__first .
H2:    fld_hash_bit_len(fld_h(ctx)) <= 
           initialized_hash_bit_length__last .
H3:    fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_count__first .
H4:    fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_count__last .
H5:    result__index__subtype__1__first = 0 .
H6:    (fld_hash_bit_len(fld_h(ctx)) + 7) div 8 <= 
           result__index__subtype__1__last + 1 .
H7:    for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(ctx), [i___2]) <= spark__unsigned__byte__last))) .
H8:    for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(ctx), [i___1]) <= spark__unsigned__u64__last))) .
H9:    fld_byte_count(fld_h(ctx)) >= natural__first .
H10:   fld_byte_count(fld_h(ctx)) <= natural__last .
H11:   fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first .
H12:   fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last .
H13:   true .
H14:   true .
H15:   fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u6__first .
H16:   fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u6__last .
H17:   true .
H18:   fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u7__first .
H19:   fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u7__last .
H20:   fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u16__first .
H21:   fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u16__last .
H22:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u32__first .
H23:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u32__last .
H24:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u64__first .
H25:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u64__last .
H26:   fld_hash_bit_len(fld_h(ctx)) > 0 .
H27:   0 >= spark__unsigned__byte__first .
H28:   0 <= spark__unsigned__byte__last .
H29:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) >= 
           spark__unsigned__byte__first) and (element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) <= 
           spark__unsigned__byte__last))) .
H30:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) >= 
           spark__unsigned__u64__first) and (element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) <= 
           spark__unsigned__u64__last))) .
H31:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H32:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H33:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= hash_bit_length__first .
H34:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= hash_bit_length__last .
H35:   true .
H36:   true .
H37:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u6__first .
H38:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u6__last .
H39:   true .
H40:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u7__first .
H41:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u7__last .
H42:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u16__first .
H43:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u16__last .
H44:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u32__first .
H45:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u32__last .
H46:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u64__first .
H47:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u64__last .
H48:   not (fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) < skein_512_block_bytes_c) .
H49:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) >= 
           spark__unsigned__byte__first) and (element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) <= 
           spark__unsigned__byte__last))) .
H50:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) >= 
           spark__unsigned__u64__first) and (element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) <= 
           spark__unsigned__u64__last))) .
H51:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H52:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H53:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= hash_bit_length__first .
H54:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= hash_bit_length__last .
H55:   true .
H56:   true .
H57:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u6__first .
H58:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u6__last .
H59:   true .
H60:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u7__first .
H61:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u7__last .
H62:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u16__first .
H63:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u16__last .
H64:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u32__first .
H65:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u32__last .
H66:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u64__first .
H67:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u64__last .
H68:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) >= 
           spark__unsigned__byte__first) and (element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) <= 
           spark__unsigned__byte__last))) .
H69:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) >= 
           spark__unsigned__u64__first) and (element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) <= 
           spark__unsigned__u64__last))) .
H70:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H71:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H72:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= hash_bit_length__first .
H73:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= hash_bit_length__last .
H74:   true .
H75:   true .
H76:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u6__first .
H77:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u6__last .
H78:   true .
H79:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u7__first .
H80:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u7__last .
H81:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u16__first .
H82:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u16__last .
H83:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u32__first .
H84:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u32__last .
H85:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u64__first .
H86:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u64__last .
H87:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H88:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H89:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) >= 
           spark__unsigned__byte__first) and (element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) <= 
           spark__unsigned__byte__last))) .
H90:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) >= 
           spark__unsigned__u64__first) and (element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) <= 
           spark__unsigned__u64__last))) .
H91:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H92:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H93:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= hash_bit_length__first .
H94:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= hash_bit_length__last .
H95:   true .
H96:   true .
H97:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u6__first .
H98:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u6__last .
H99:   true .
H100:  fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u7__first .
H101:  fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u7__last .
H102:  fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u16__first .
H103:  fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u16__last .
H104:  fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u32__first .
H105:  fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u32__last .
H106:  fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u64__first .
H107:  fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u64__last .
H108:  for_all(i___1: integer, ((i___1 >= 
           skein_512_block_bytes_index__first) and (i___1 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) >= 
           spark__unsigned__byte__first) and (element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) <= 
           spark__unsigned__byte__last))) .
H109:  fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H110:  fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H111:  fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H112:  fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H113:  1 >= positive_block_512_count_t__first .
H114:  1 <= positive_block_512_count_t__last .
H115:  0 >= natural__first .
H116:  0 <= natural__last .
H117:  fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= initialized_hash_bit_length__first .
H118:  fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= initialized_hash_bit_length__last .
H119:  fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= skein_512_block_bytes_count__first .
H120:  fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= skein_512_block_bytes_count__last .
H121:  skein_512_block_bytes_index__first = 0 .
H122:  0 + (1 - 1) * skein_512_block_bytes_c + 63 <= 
           skein_512_block_bytes_index__last .
H123:  0 + 63 <= skein_512_block_bytes_index__last .
H124:  skein_512_block_bytes_index__last <= natural__last .
H125:  0 <= natural__last - 63 .
H126:  fld_hash_bit_len(fld_h(local_ctx__2)) >= 
           initialized_hash_bit_length__first .
H127:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 
           initialized_hash_bit_length__last .
H128:  fld_hash_bit_len(fld_h(local_ctx__2)) = fld_hash_bit_len(fld_h(
           upf_h(ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true))))) .
H129:  fld_byte_count(fld_h(local_ctx__2)) >= 
           skein_512_block_bytes_count__first .
H130:  fld_byte_count(fld_h(local_ctx__2)) <= 
           skein_512_block_bytes_count__last .
H131:  fld_byte_count(fld_h(local_ctx__2)) = fld_byte_count(fld_h(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true))))) .
H132:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__2), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__2), [i___2]) <= 
           spark__unsigned__byte__last))) .
H133:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__2), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__2), [i___1]) <= 
           spark__unsigned__u64__last))) .
H134:  fld_byte_count(fld_h(local_ctx__2)) >= natural__first .
H135:  fld_byte_count(fld_h(local_ctx__2)) <= natural__last .
H136:  fld_hash_bit_len(fld_h(local_ctx__2)) >= 
           hash_bit_length__first .
H137:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 
           hash_bit_length__last .
H138:  true .
H139:  true .
H140:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u6__first .
H141:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u6__last .
H142:  true .
H143:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u7__first .
H144:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u7__last .
H145:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u16__first .
H146:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u16__last .
H147:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u32__first .
H148:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u32__last .
H149:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u64__first .
H150:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u64__last .
H151:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__2), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__2), [i___2]) <= 
           spark__unsigned__byte__last))) .
H152:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__2), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__2), [i___1]) <= 
           spark__unsigned__u64__last))) .
H153:  fld_byte_count(fld_h(local_ctx__2)) >= natural__first .
H154:  fld_byte_count(fld_h(local_ctx__2)) <= natural__last .
H155:  fld_hash_bit_len(fld_h(local_ctx__2)) >= 
           hash_bit_length__first .
H156:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 
           hash_bit_length__last .
H157:  true .
H158:  true .
H159:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u6__first .
H160:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u6__last .
H161:  true .
H162:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u7__first .
H163:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u7__last .
H164:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u16__first .
H165:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u16__last .
H166:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u32__first .
H167:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u32__last .
H168:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u64__first .
H169:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u64__last .
        ->
C1:    (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 >= 
           output_byte_count_t__first .
C2:    (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 <= 
           output_byte_count_t__last .
C3:    8 <> 0 .
C4:    fld_hash_bit_len(fld_h(local_ctx__2)) + 7 >= integer__base__first .
C5:    fld_hash_bit_len(fld_h(local_ctx__2)) + 7 <= integer__base__last .
 

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

procedure_skein_512_final_10.
H1:    fld_hash_bit_len(fld_h(ctx)) >= 
           initialized_hash_bit_length__first .
H2:    fld_hash_bit_len(fld_h(ctx)) <= 
           initialized_hash_bit_length__last .
H3:    fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_count__first .
H4:    fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_count__last .
H5:    result__index__subtype__1__first = 0 .
H6:    (fld_hash_bit_len(fld_h(ctx)) + 7) div 8 <= 
           result__index__subtype__1__last + 1 .
H7:    for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(ctx), [i___2]) <= spark__unsigned__byte__last))) .
H8:    for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(ctx), [i___1]) <= spark__unsigned__u64__last))) .
H9:    fld_byte_count(fld_h(ctx)) >= natural__first .
H10:   fld_byte_count(fld_h(ctx)) <= natural__last .
H11:   fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first .
H12:   fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last .
H13:   true .
H14:   true .
H15:   fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u6__first .
H16:   fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u6__last .
H17:   true .
H18:   fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u7__first .
H19:   fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u7__last .
H20:   fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u16__first .
H21:   fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u16__last .
H22:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u32__first .
H23:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u32__last .
H24:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u64__first .
H25:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u64__last .
H26:   fld_hash_bit_len(fld_h(ctx)) > 0 .
H27:   0 >= spark__unsigned__byte__first .
H28:   0 <= spark__unsigned__byte__last .
H29:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) >= 
           spark__unsigned__byte__first) and (element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) <= 
           spark__unsigned__byte__last))) .
H30:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) >= 
           spark__unsigned__u64__first) and (element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) <= 
           spark__unsigned__u64__last))) .
H31:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H32:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H33:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= hash_bit_length__first .
H34:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= hash_bit_length__last .
H35:   true .
H36:   true .
H37:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u6__first .
H38:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u6__last .
H39:   true .
H40:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u7__first .
H41:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u7__last .
H42:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u16__first .
H43:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u16__last .
H44:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u32__first .
H45:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u32__last .
H46:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u64__first .
H47:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u64__last .
H48:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) < skein_512_block_bytes_c .
H49:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) < skein_512_block_bytes_c .
H50:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) > 0 .
H51:   fld_hash_bit_len(fld_h(local_ctx__1)) = fld_hash_bit_len(fld_h(
           upf_h(ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true))))) .
H52:   fld_hash_bit_len(fld_h(local_ctx__1)) > 0 .
H53:   fld_byte_count(fld_h(local_ctx__1)) < 
           skein_512_block_bytes_c .
H54:   fld_byte_count(fld_h(local_ctx__1)) = fld_byte_count(fld_h(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true))))) .
H55:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__1), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__1), [i___2]) <= 
           spark__unsigned__byte__last))) .
H56:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__1), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__1), [i___1]) <= 
           spark__unsigned__u64__last))) .
H57:   fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
H58:   fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
H59:   fld_hash_bit_len(fld_h(local_ctx__1)) >= 
           hash_bit_length__first .
H60:   fld_hash_bit_len(fld_h(local_ctx__1)) <= 
           hash_bit_length__last .
H61:   true .
H62:   true .
H63:   fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u6__first .
H64:   fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u6__last .
H65:   true .
H66:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u7__first .
H67:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u7__last .
H68:   fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u16__first .
H69:   fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u16__last .
H70:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u32__first .
H71:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u32__last .
H72:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u64__first .
H73:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u64__last .
H74:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__1), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__1), [i___2]) <= 
           spark__unsigned__byte__last))) .
H75:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__1), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__1), [i___1]) <= 
           spark__unsigned__u64__last))) .
H76:   fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
H77:   fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
H78:   fld_hash_bit_len(fld_h(local_ctx__1)) >= 
           hash_bit_length__first .
H79:   fld_hash_bit_len(fld_h(local_ctx__1)) <= 
           hash_bit_length__last .
H80:   true .
H81:   true .
H82:   fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u6__first .
H83:   fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u6__last .
H84:   true .
H85:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u7__first .
H86:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u7__last .
H87:   fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u16__first .
H88:   fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u16__last .
H89:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u32__first .
H90:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u32__last .
H91:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u64__first .
H92:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u64__last .
H93:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__1), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__1), [i___2]) <= 
           spark__unsigned__byte__last))) .
H94:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__1), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__1), [i___1]) <= 
           spark__unsigned__u64__last))) .
H95:   fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
H96:   fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
H97:   fld_hash_bit_len(fld_h(local_ctx__1)) >= 
           hash_bit_length__first .
H98:   fld_hash_bit_len(fld_h(local_ctx__1)) <= 
           hash_bit_length__last .
H99:   true .
H100:  true .
H101:  fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u6__first .
H102:  fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u6__last .
H103:  true .
H104:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u7__first .
H105:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u7__last .
H106:  fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u16__first .
H107:  fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u16__last .
H108:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u32__first .
H109:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u32__last .
H110:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u64__first .
H111:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u64__last .
H112:  fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
H113:  fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
H114:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__1), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__1), [i___2]) <= 
           spark__unsigned__byte__last))) .
H115:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__1), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__1), [i___1]) <= 
           spark__unsigned__u64__last))) .
H116:  fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
H117:  fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
H118:  fld_hash_bit_len(fld_h(local_ctx__1)) >= 
           hash_bit_length__first .
H119:  fld_hash_bit_len(fld_h(local_ctx__1)) <= 
           hash_bit_length__last .
H120:  true .
H121:  true .
H122:  fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u6__first .
H123:  fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u6__last .
H124:  true .
H125:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u7__first .
H126:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u7__last .
H127:  fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u16__first .
H128:  fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u16__last .
H129:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u32__first .
H130:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u32__last .
H131:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u64__first .
H132:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u64__last .
H133:  for_all(i___1: integer, ((i___1 >= 
           skein_512_block_bytes_index__first) and (i___1 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__1), [i___1]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__1), [i___1]) <= 
           spark__unsigned__byte__last))) .
H134:  fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
H135:  fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
H136:  fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
H137:  fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
H138:  1 >= positive_block_512_count_t__first .
H139:  1 <= positive_block_512_count_t__last .
H140:  0 >= natural__first .
H141:  0 <= natural__last .
H142:  fld_hash_bit_len(fld_h(local_ctx__1)) >= 
           initialized_hash_bit_length__first .
H143:  fld_hash_bit_len(fld_h(local_ctx__1)) <= 
           initialized_hash_bit_length__last .
H144:  fld_byte_count(fld_h(local_ctx__1)) >= 
           skein_512_block_bytes_count__first .
H145:  fld_byte_count(fld_h(local_ctx__1)) <= 
           skein_512_block_bytes_count__last .
H146:  skein_512_block_bytes_index__first = 0 .
H147:  0 + (1 - 1) * skein_512_block_bytes_c + 63 <= 
           skein_512_block_bytes_index__last .
H148:  0 + 63 <= skein_512_block_bytes_index__last .
H149:  skein_512_block_bytes_index__last <= natural__last .
H150:  0 <= natural__last - 63 .
H151:  fld_hash_bit_len(fld_h(local_ctx__2)) >= 
           initialized_hash_bit_length__first .
H152:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 
           initialized_hash_bit_length__last .
H153:  fld_hash_bit_len(fld_h(local_ctx__2)) = fld_hash_bit_len(fld_h(
           local_ctx__1)) .
H154:  fld_byte_count(fld_h(local_ctx__2)) >= 
           skein_512_block_bytes_count__first .
H155:  fld_byte_count(fld_h(local_ctx__2)) <= 
           skein_512_block_bytes_count__last .
H156:  fld_byte_count(fld_h(local_ctx__2)) = fld_byte_count(fld_h(
           local_ctx__1)) .
H157:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__2), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__2), [i___2]) <= 
           spark__unsigned__byte__last))) .
H158:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__2), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__2), [i___1]) <= 
           spark__unsigned__u64__last))) .
H159:  fld_byte_count(fld_h(local_ctx__2)) >= natural__first .
H160:  fld_byte_count(fld_h(local_ctx__2)) <= natural__last .
H161:  fld_hash_bit_len(fld_h(local_ctx__2)) >= 
           hash_bit_length__first .
H162:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 
           hash_bit_length__last .
H163:  true .
H164:  true .
H165:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u6__first .
H166:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u6__last .
H167:  true .
H168:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u7__first .
H169:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u7__last .
H170:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u16__first .
H171:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u16__last .
H172:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u32__first .
H173:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u32__last .
H174:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u64__first .
H175:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u64__last .
H176:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__2), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__2), [i___2]) <= 
           spark__unsigned__byte__last))) .
H177:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__2), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__2), [i___1]) <= 
           spark__unsigned__u64__last))) .
H178:  fld_byte_count(fld_h(local_ctx__2)) >= natural__first .
H179:  fld_byte_count(fld_h(local_ctx__2)) <= natural__last .
H180:  fld_hash_bit_len(fld_h(local_ctx__2)) >= 
           hash_bit_length__first .
H181:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 
           hash_bit_length__last .
H182:  true .
H183:  true .
H184:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u6__first .
H185:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u6__last .
H186:  true .
H187:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u7__first .
H188:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u7__last .
H189:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u16__first .
H190:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u16__last .
H191:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u32__first .
H192:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u32__last .
H193:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u64__first .
H194:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u64__last .
H195:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 >= 
           output_byte_count_t__first .
H196:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 <= 
           output_byte_count_t__last .
H197:  8 <> 0 .
H198:  fld_hash_bit_len(fld_h(local_ctx__2)) + 7 >= integer__base__first .
H199:  fld_hash_bit_len(fld_h(local_ctx__2)) + 7 <= integer__base__last .
        ->
C1:    (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 <= 
           result__index__subtype__1__last + 1 .
 

procedure_skein_512_final_11.
H1:    fld_hash_bit_len(fld_h(ctx)) >= 
           initialized_hash_bit_length__first .
H2:    fld_hash_bit_len(fld_h(ctx)) <= 
           initialized_hash_bit_length__last .
H3:    fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_count__first .
H4:    fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_count__last .
H5:    result__index__subtype__1__first = 0 .
H6:    (fld_hash_bit_len(fld_h(ctx)) + 7) div 8 <= 
           result__index__subtype__1__last + 1 .
H7:    for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(ctx), [i___2]) <= spark__unsigned__byte__last))) .
H8:    for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(ctx), [i___1]) <= spark__unsigned__u64__last))) .
H9:    fld_byte_count(fld_h(ctx)) >= natural__first .
H10:   fld_byte_count(fld_h(ctx)) <= natural__last .
H11:   fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first .
H12:   fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last .
H13:   true .
H14:   true .
H15:   fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u6__first .
H16:   fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u6__last .
H17:   true .
H18:   fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u7__first .
H19:   fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u7__last .
H20:   fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u16__first .
H21:   fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u16__last .
H22:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u32__first .
H23:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u32__last .
H24:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u64__first .
H25:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u64__last .
H26:   fld_hash_bit_len(fld_h(ctx)) > 0 .
H27:   0 >= spark__unsigned__byte__first .
H28:   0 <= spark__unsigned__byte__last .
H29:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) >= 
           spark__unsigned__byte__first) and (element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) <= 
           spark__unsigned__byte__last))) .
H30:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) >= 
           spark__unsigned__u64__first) and (element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) <= 
           spark__unsigned__u64__last))) .
H31:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H32:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H33:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= hash_bit_length__first .
H34:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= hash_bit_length__last .
H35:   true .
H36:   true .
H37:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u6__first .
H38:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u6__last .
H39:   true .
H40:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u7__first .
H41:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u7__last .
H42:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u16__first .
H43:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u16__last .
H44:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u32__first .
H45:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u32__last .
H46:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u64__first .
H47:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u64__last .
H48:   not (fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) < skein_512_block_bytes_c) .
H49:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) >= 
           spark__unsigned__byte__first) and (element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) <= 
           spark__unsigned__byte__last))) .
H50:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) >= 
           spark__unsigned__u64__first) and (element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) <= 
           spark__unsigned__u64__last))) .
H51:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H52:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H53:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= hash_bit_length__first .
H54:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= hash_bit_length__last .
H55:   true .
H56:   true .
H57:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u6__first .
H58:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u6__last .
H59:   true .
H60:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u7__first .
H61:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u7__last .
H62:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u16__first .
H63:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u16__last .
H64:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u32__first .
H65:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u32__last .
H66:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u64__first .
H67:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u64__last .
H68:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) >= 
           spark__unsigned__byte__first) and (element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) <= 
           spark__unsigned__byte__last))) .
H69:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) >= 
           spark__unsigned__u64__first) and (element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) <= 
           spark__unsigned__u64__last))) .
H70:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H71:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H72:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= hash_bit_length__first .
H73:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= hash_bit_length__last .
H74:   true .
H75:   true .
H76:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u6__first .
H77:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u6__last .
H78:   true .
H79:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u7__first .
H80:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u7__last .
H81:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u16__first .
H82:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u16__last .
H83:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u32__first .
H84:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u32__last .
H85:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u64__first .
H86:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u64__last .
H87:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H88:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H89:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) >= 
           spark__unsigned__byte__first) and (element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) <= 
           spark__unsigned__byte__last))) .
H90:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) >= 
           spark__unsigned__u64__first) and (element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) <= 
           spark__unsigned__u64__last))) .
H91:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H92:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H93:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= hash_bit_length__first .
H94:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= hash_bit_length__last .
H95:   true .
H96:   true .
H97:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u6__first .
H98:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u6__last .
H99:   true .
H100:  fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u7__first .
H101:  fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u7__last .
H102:  fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u16__first .
H103:  fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u16__last .
H104:  fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u32__first .
H105:  fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u32__last .
H106:  fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u64__first .
H107:  fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u64__last .
H108:  for_all(i___1: integer, ((i___1 >= 
           skein_512_block_bytes_index__first) and (i___1 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) >= 
           spark__unsigned__byte__first) and (element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) <= 
           spark__unsigned__byte__last))) .
H109:  fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H110:  fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H111:  fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H112:  fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H113:  1 >= positive_block_512_count_t__first .
H114:  1 <= positive_block_512_count_t__last .
H115:  0 >= natural__first .
H116:  0 <= natural__last .
H117:  fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= initialized_hash_bit_length__first .
H118:  fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= initialized_hash_bit_length__last .
H119:  fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= skein_512_block_bytes_count__first .
H120:  fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= skein_512_block_bytes_count__last .
H121:  skein_512_block_bytes_index__first = 0 .
H122:  0 + (1 - 1) * skein_512_block_bytes_c + 63 <= 
           skein_512_block_bytes_index__last .
H123:  0 + 63 <= skein_512_block_bytes_index__last .
H124:  skein_512_block_bytes_index__last <= natural__last .
H125:  0 <= natural__last - 63 .
H126:  fld_hash_bit_len(fld_h(local_ctx__2)) >= 
           initialized_hash_bit_length__first .
H127:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 
           initialized_hash_bit_length__last .
H128:  fld_hash_bit_len(fld_h(local_ctx__2)) = fld_hash_bit_len(fld_h(
           upf_h(ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true))))) .
H129:  fld_byte_count(fld_h(local_ctx__2)) >= 
           skein_512_block_bytes_count__first .
H130:  fld_byte_count(fld_h(local_ctx__2)) <= 
           skein_512_block_bytes_count__last .
H131:  fld_byte_count(fld_h(local_ctx__2)) = fld_byte_count(fld_h(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true))))) .
H132:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__2), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__2), [i___2]) <= 
           spark__unsigned__byte__last))) .
H133:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__2), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__2), [i___1]) <= 
           spark__unsigned__u64__last))) .
H134:  fld_byte_count(fld_h(local_ctx__2)) >= natural__first .
H135:  fld_byte_count(fld_h(local_ctx__2)) <= natural__last .
H136:  fld_hash_bit_len(fld_h(local_ctx__2)) >= 
           hash_bit_length__first .
H137:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 
           hash_bit_length__last .
H138:  true .
H139:  true .
H140:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u6__first .
H141:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u6__last .
H142:  true .
H143:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u7__first .
H144:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u7__last .
H145:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u16__first .
H146:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u16__last .
H147:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u32__first .
H148:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u32__last .
H149:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u64__first .
H150:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u64__last .
H151:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__2), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__2), [i___2]) <= 
           spark__unsigned__byte__last))) .
H152:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__2), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__2), [i___1]) <= 
           spark__unsigned__u64__last))) .
H153:  fld_byte_count(fld_h(local_ctx__2)) >= natural__first .
H154:  fld_byte_count(fld_h(local_ctx__2)) <= natural__last .
H155:  fld_hash_bit_len(fld_h(local_ctx__2)) >= 
           hash_bit_length__first .
H156:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 
           hash_bit_length__last .
H157:  true .
H158:  true .
H159:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u6__first .
H160:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u6__last .
H161:  true .
H162:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u7__first .
H163:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u7__last .
H164:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u16__first .
H165:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u16__last .
H166:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u32__first .
H167:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u32__last .
H168:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u64__first .
H169:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u64__last .
H170:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 >= 
           output_byte_count_t__first .
H171:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 <= 
           output_byte_count_t__last .
H172:  8 <> 0 .
H173:  fld_hash_bit_len(fld_h(local_ctx__2)) + 7 >= integer__base__first .
H174:  fld_hash_bit_len(fld_h(local_ctx__2)) + 7 <= integer__base__last .
        ->
C1:    (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 <= 
           result__index__subtype__1__last + 1 .
 

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

procedure_skein_512_final_12.
H1:    fld_hash_bit_len(fld_h(ctx)) >= 
           initialized_hash_bit_length__first .
H2:    fld_hash_bit_len(fld_h(ctx)) <= 
           initialized_hash_bit_length__last .
H3:    fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_count__first .
H4:    fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_count__last .
H5:    result__index__subtype__1__first = 0 .
H6:    (fld_hash_bit_len(fld_h(ctx)) + 7) div 8 <= 
           result__index__subtype__1__last + 1 .
H7:    for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(ctx), [i___2]) <= spark__unsigned__byte__last))) .
H8:    for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(ctx), [i___1]) <= spark__unsigned__u64__last))) .
H9:    fld_byte_count(fld_h(ctx)) >= natural__first .
H10:   fld_byte_count(fld_h(ctx)) <= natural__last .
H11:   fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first .
H12:   fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last .
H13:   true .
H14:   true .
H15:   fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u6__first .
H16:   fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u6__last .
H17:   true .
H18:   fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u7__first .
H19:   fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u7__last .
H20:   fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u16__first .
H21:   fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u16__last .
H22:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u32__first .
H23:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u32__last .
H24:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u64__first .
H25:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u64__last .
H26:   fld_hash_bit_len(fld_h(ctx)) > 0 .
H27:   0 >= spark__unsigned__byte__first .
H28:   0 <= spark__unsigned__byte__last .
H29:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) >= 
           spark__unsigned__byte__first) and (element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) <= 
           spark__unsigned__byte__last))) .
H30:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) >= 
           spark__unsigned__u64__first) and (element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) <= 
           spark__unsigned__u64__last))) .
H31:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H32:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H33:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= hash_bit_length__first .
H34:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= hash_bit_length__last .
H35:   true .
H36:   true .
H37:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u6__first .
H38:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u6__last .
H39:   true .
H40:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u7__first .
H41:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u7__last .
H42:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u16__first .
H43:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u16__last .
H44:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u32__first .
H45:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u32__last .
H46:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u64__first .
H47:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u64__last .
H48:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) < skein_512_block_bytes_c .
H49:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) < skein_512_block_bytes_c .
H50:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) > 0 .
H51:   fld_hash_bit_len(fld_h(local_ctx__1)) = fld_hash_bit_len(fld_h(
           upf_h(ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true))))) .
H52:   fld_hash_bit_len(fld_h(local_ctx__1)) > 0 .
H53:   fld_byte_count(fld_h(local_ctx__1)) < 
           skein_512_block_bytes_c .
H54:   fld_byte_count(fld_h(local_ctx__1)) = fld_byte_count(fld_h(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true))))) .
H55:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__1), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__1), [i___2]) <= 
           spark__unsigned__byte__last))) .
H56:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__1), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__1), [i___1]) <= 
           spark__unsigned__u64__last))) .
H57:   fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
H58:   fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
H59:   fld_hash_bit_len(fld_h(local_ctx__1)) >= 
           hash_bit_length__first .
H60:   fld_hash_bit_len(fld_h(local_ctx__1)) <= 
           hash_bit_length__last .
H61:   true .
H62:   true .
H63:   fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u6__first .
H64:   fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u6__last .
H65:   true .
H66:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u7__first .
H67:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u7__last .
H68:   fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u16__first .
H69:   fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u16__last .
H70:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u32__first .
H71:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u32__last .
H72:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u64__first .
H73:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u64__last .
H74:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__1), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__1), [i___2]) <= 
           spark__unsigned__byte__last))) .
H75:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__1), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__1), [i___1]) <= 
           spark__unsigned__u64__last))) .
H76:   fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
H77:   fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
H78:   fld_hash_bit_len(fld_h(local_ctx__1)) >= 
           hash_bit_length__first .
H79:   fld_hash_bit_len(fld_h(local_ctx__1)) <= 
           hash_bit_length__last .
H80:   true .
H81:   true .
H82:   fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u6__first .
H83:   fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u6__last .
H84:   true .
H85:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u7__first .
H86:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u7__last .
H87:   fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u16__first .
H88:   fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u16__last .
H89:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u32__first .
H90:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u32__last .
H91:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u64__first .
H92:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u64__last .
H93:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__1), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__1), [i___2]) <= 
           spark__unsigned__byte__last))) .
H94:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__1), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__1), [i___1]) <= 
           spark__unsigned__u64__last))) .
H95:   fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
H96:   fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
H97:   fld_hash_bit_len(fld_h(local_ctx__1)) >= 
           hash_bit_length__first .
H98:   fld_hash_bit_len(fld_h(local_ctx__1)) <= 
           hash_bit_length__last .
H99:   true .
H100:  true .
H101:  fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u6__first .
H102:  fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u6__last .
H103:  true .
H104:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u7__first .
H105:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u7__last .
H106:  fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u16__first .
H107:  fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u16__last .
H108:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u32__first .
H109:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u32__last .
H110:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u64__first .
H111:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u64__last .
H112:  fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
H113:  fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
H114:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__1), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__1), [i___2]) <= 
           spark__unsigned__byte__last))) .
H115:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__1), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__1), [i___1]) <= 
           spark__unsigned__u64__last))) .
H116:  fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
H117:  fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
H118:  fld_hash_bit_len(fld_h(local_ctx__1)) >= 
           hash_bit_length__first .
H119:  fld_hash_bit_len(fld_h(local_ctx__1)) <= 
           hash_bit_length__last .
H120:  true .
H121:  true .
H122:  fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u6__first .
H123:  fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u6__last .
H124:  true .
H125:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u7__first .
H126:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u7__last .
H127:  fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u16__first .
H128:  fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u16__last .
H129:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u32__first .
H130:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u32__last .
H131:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u64__first .
H132:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u64__last .
H133:  for_all(i___1: integer, ((i___1 >= 
           skein_512_block_bytes_index__first) and (i___1 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__1), [i___1]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__1), [i___1]) <= 
           spark__unsigned__byte__last))) .
H134:  fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
H135:  fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
H136:  fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
H137:  fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
H138:  1 >= positive_block_512_count_t__first .
H139:  1 <= positive_block_512_count_t__last .
H140:  0 >= natural__first .
H141:  0 <= natural__last .
H142:  fld_hash_bit_len(fld_h(local_ctx__1)) >= 
           initialized_hash_bit_length__first .
H143:  fld_hash_bit_len(fld_h(local_ctx__1)) <= 
           initialized_hash_bit_length__last .
H144:  fld_byte_count(fld_h(local_ctx__1)) >= 
           skein_512_block_bytes_count__first .
H145:  fld_byte_count(fld_h(local_ctx__1)) <= 
           skein_512_block_bytes_count__last .
H146:  skein_512_block_bytes_index__first = 0 .
H147:  0 + (1 - 1) * skein_512_block_bytes_c + 63 <= 
           skein_512_block_bytes_index__last .
H148:  0 + 63 <= skein_512_block_bytes_index__last .
H149:  skein_512_block_bytes_index__last <= natural__last .
H150:  0 <= natural__last - 63 .
H151:  fld_hash_bit_len(fld_h(local_ctx__2)) >= 
           initialized_hash_bit_length__first .
H152:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 
           initialized_hash_bit_length__last .
H153:  fld_hash_bit_len(fld_h(local_ctx__2)) = fld_hash_bit_len(fld_h(
           local_ctx__1)) .
H154:  fld_byte_count(fld_h(local_ctx__2)) >= 
           skein_512_block_bytes_count__first .
H155:  fld_byte_count(fld_h(local_ctx__2)) <= 
           skein_512_block_bytes_count__last .
H156:  fld_byte_count(fld_h(local_ctx__2)) = fld_byte_count(fld_h(
           local_ctx__1)) .
H157:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__2), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__2), [i___2]) <= 
           spark__unsigned__byte__last))) .
H158:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__2), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__2), [i___1]) <= 
           spark__unsigned__u64__last))) .
H159:  fld_byte_count(fld_h(local_ctx__2)) >= natural__first .
H160:  fld_byte_count(fld_h(local_ctx__2)) <= natural__last .
H161:  fld_hash_bit_len(fld_h(local_ctx__2)) >= 
           hash_bit_length__first .
H162:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 
           hash_bit_length__last .
H163:  true .
H164:  true .
H165:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u6__first .
H166:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u6__last .
H167:  true .
H168:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u7__first .
H169:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u7__last .
H170:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u16__first .
H171:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u16__last .
H172:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u32__first .
H173:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u32__last .
H174:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u64__first .
H175:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u64__last .
H176:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__2), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__2), [i___2]) <= 
           spark__unsigned__byte__last))) .
H177:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__2), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__2), [i___1]) <= 
           spark__unsigned__u64__last))) .
H178:  fld_byte_count(fld_h(local_ctx__2)) >= natural__first .
H179:  fld_byte_count(fld_h(local_ctx__2)) <= natural__last .
H180:  fld_hash_bit_len(fld_h(local_ctx__2)) >= 
           hash_bit_length__first .
H181:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 
           hash_bit_length__last .
H182:  true .
H183:  true .
H184:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u6__first .
H185:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u6__last .
H186:  true .
H187:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u7__first .
H188:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u7__last .
H189:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u16__first .
H190:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u16__last .
H191:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u32__first .
H192:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u32__last .
H193:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u64__first .
H194:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u64__last .
H195:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 >= 
           output_byte_count_t__first .
H196:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 <= 
           output_byte_count_t__last .
H197:  8 <> 0 .
H198:  fld_hash_bit_len(fld_h(local_ctx__2)) + 7 >= integer__base__first .
H199:  fld_hash_bit_len(fld_h(local_ctx__2)) + 7 <= integer__base__last .
H200:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 <= 
           result__index__subtype__1__last + 1 .
        ->
C1:    0 >= spark__unsigned__byte__first .
C2:    0 <= spark__unsigned__byte__last .
 

procedure_skein_512_final_13.
H1:    fld_hash_bit_len(fld_h(ctx)) >= 
           initialized_hash_bit_length__first .
H2:    fld_hash_bit_len(fld_h(ctx)) <= 
           initialized_hash_bit_length__last .
H3:    fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_count__first .
H4:    fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_count__last .
H5:    result__index__subtype__1__first = 0 .
H6:    (fld_hash_bit_len(fld_h(ctx)) + 7) div 8 <= 
           result__index__subtype__1__last + 1 .
H7:    for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(ctx), [i___2]) <= spark__unsigned__byte__last))) .
H8:    for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(ctx), [i___1]) <= spark__unsigned__u64__last))) .
H9:    fld_byte_count(fld_h(ctx)) >= natural__first .
H10:   fld_byte_count(fld_h(ctx)) <= natural__last .
H11:   fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first .
H12:   fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last .
H13:   true .
H14:   true .
H15:   fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u6__first .
H16:   fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u6__last .
H17:   true .
H18:   fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u7__first .
H19:   fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u7__last .
H20:   fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u16__first .
H21:   fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u16__last .
H22:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u32__first .
H23:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u32__last .
H24:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u64__first .
H25:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u64__last .
H26:   fld_hash_bit_len(fld_h(ctx)) > 0 .
H27:   0 >= spark__unsigned__byte__first .
H28:   0 <= spark__unsigned__byte__last .
H29:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) >= 
           spark__unsigned__byte__first) and (element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) <= 
           spark__unsigned__byte__last))) .
H30:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) >= 
           spark__unsigned__u64__first) and (element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) <= 
           spark__unsigned__u64__last))) .
H31:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H32:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H33:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= hash_bit_length__first .
H34:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= hash_bit_length__last .
H35:   true .
H36:   true .
H37:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u6__first .
H38:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u6__last .
H39:   true .
H40:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u7__first .
H41:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u7__last .
H42:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u16__first .
H43:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u16__last .
H44:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u32__first .
H45:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u32__last .
H46:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u64__first .
H47:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u64__last .
H48:   not (fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) < skein_512_block_bytes_c) .
H49:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) >= 
           spark__unsigned__byte__first) and (element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) <= 
           spark__unsigned__byte__last))) .
H50:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) >= 
           spark__unsigned__u64__first) and (element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) <= 
           spark__unsigned__u64__last))) .
H51:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H52:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H53:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= hash_bit_length__first .
H54:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= hash_bit_length__last .
H55:   true .
H56:   true .
H57:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u6__first .
H58:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u6__last .
H59:   true .
H60:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u7__first .
H61:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u7__last .
H62:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u16__first .
H63:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u16__last .
H64:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u32__first .
H65:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u32__last .
H66:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u64__first .
H67:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u64__last .
H68:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) >= 
           spark__unsigned__byte__first) and (element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) <= 
           spark__unsigned__byte__last))) .
H69:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) >= 
           spark__unsigned__u64__first) and (element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) <= 
           spark__unsigned__u64__last))) .
H70:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H71:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H72:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= hash_bit_length__first .
H73:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= hash_bit_length__last .
H74:   true .
H75:   true .
H76:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u6__first .
H77:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u6__last .
H78:   true .
H79:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u7__first .
H80:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u7__last .
H81:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u16__first .
H82:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u16__last .
H83:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u32__first .
H84:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u32__last .
H85:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u64__first .
H86:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u64__last .
H87:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H88:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H89:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) >= 
           spark__unsigned__byte__first) and (element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) <= 
           spark__unsigned__byte__last))) .
H90:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) >= 
           spark__unsigned__u64__first) and (element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) <= 
           spark__unsigned__u64__last))) .
H91:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H92:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H93:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= hash_bit_length__first .
H94:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= hash_bit_length__last .
H95:   true .
H96:   true .
H97:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u6__first .
H98:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u6__last .
H99:   true .
H100:  fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u7__first .
H101:  fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u7__last .
H102:  fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u16__first .
H103:  fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u16__last .
H104:  fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u32__first .
H105:  fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u32__last .
H106:  fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u64__first .
H107:  fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u64__last .
H108:  for_all(i___1: integer, ((i___1 >= 
           skein_512_block_bytes_index__first) and (i___1 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) >= 
           spark__unsigned__byte__first) and (element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) <= 
           spark__unsigned__byte__last))) .
H109:  fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H110:  fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H111:  fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H112:  fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H113:  1 >= positive_block_512_count_t__first .
H114:  1 <= positive_block_512_count_t__last .
H115:  0 >= natural__first .
H116:  0 <= natural__last .
H117:  fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= initialized_hash_bit_length__first .
H118:  fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= initialized_hash_bit_length__last .
H119:  fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= skein_512_block_bytes_count__first .
H120:  fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= skein_512_block_bytes_count__last .
H121:  skein_512_block_bytes_index__first = 0 .
H122:  0 + (1 - 1) * skein_512_block_bytes_c + 63 <= 
           skein_512_block_bytes_index__last .
H123:  0 + 63 <= skein_512_block_bytes_index__last .
H124:  skein_512_block_bytes_index__last <= natural__last .
H125:  0 <= natural__last - 63 .
H126:  fld_hash_bit_len(fld_h(local_ctx__2)) >= 
           initialized_hash_bit_length__first .
H127:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 
           initialized_hash_bit_length__last .
H128:  fld_hash_bit_len(fld_h(local_ctx__2)) = fld_hash_bit_len(fld_h(
           upf_h(ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true))))) .
H129:  fld_byte_count(fld_h(local_ctx__2)) >= 
           skein_512_block_bytes_count__first .
H130:  fld_byte_count(fld_h(local_ctx__2)) <= 
           skein_512_block_bytes_count__last .
H131:  fld_byte_count(fld_h(local_ctx__2)) = fld_byte_count(fld_h(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true))))) .
H132:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__2), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__2), [i___2]) <= 
           spark__unsigned__byte__last))) .
H133:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__2), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__2), [i___1]) <= 
           spark__unsigned__u64__last))) .
H134:  fld_byte_count(fld_h(local_ctx__2)) >= natural__first .
H135:  fld_byte_count(fld_h(local_ctx__2)) <= natural__last .
H136:  fld_hash_bit_len(fld_h(local_ctx__2)) >= 
           hash_bit_length__first .
H137:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 
           hash_bit_length__last .
H138:  true .
H139:  true .
H140:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u6__first .
H141:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u6__last .
H142:  true .
H143:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u7__first .
H144:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u7__last .
H145:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u16__first .
H146:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u16__last .
H147:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u32__first .
H148:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u32__last .
H149:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u64__first .
H150:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u64__last .
H151:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__2), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__2), [i___2]) <= 
           spark__unsigned__byte__last))) .
H152:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__2), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__2), [i___1]) <= 
           spark__unsigned__u64__last))) .
H153:  fld_byte_count(fld_h(local_ctx__2)) >= natural__first .
H154:  fld_byte_count(fld_h(local_ctx__2)) <= natural__last .
H155:  fld_hash_bit_len(fld_h(local_ctx__2)) >= 
           hash_bit_length__first .
H156:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 
           hash_bit_length__last .
H157:  true .
H158:  true .
H159:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u6__first .
H160:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u6__last .
H161:  true .
H162:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u7__first .
H163:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u7__last .
H164:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u16__first .
H165:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u16__last .
H166:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u32__first .
H167:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u32__last .
H168:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u64__first .
H169:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u64__last .
H170:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 >= 
           output_byte_count_t__first .
H171:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 <= 
           output_byte_count_t__last .
H172:  8 <> 0 .
H173:  fld_hash_bit_len(fld_h(local_ctx__2)) + 7 >= integer__base__first .
H174:  fld_hash_bit_len(fld_h(local_ctx__2)) + 7 <= integer__base__last .
H175:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 <= 
           result__index__subtype__1__last + 1 .
        ->
C1:    0 >= spark__unsigned__byte__first .
C2:    0 <= spark__unsigned__byte__last .
 

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

procedure_skein_512_final_14.
H1:    fld_hash_bit_len(fld_h(ctx)) >= 
           initialized_hash_bit_length__first .
H2:    fld_hash_bit_len(fld_h(ctx)) <= 
           initialized_hash_bit_length__last .
H3:    fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_count__first .
H4:    fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_count__last .
H5:    result__index__subtype__1__first = 0 .
H6:    (fld_hash_bit_len(fld_h(ctx)) + 7) div 8 <= 
           result__index__subtype__1__last + 1 .
H7:    for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(ctx), [i___2]) <= spark__unsigned__byte__last))) .
H8:    for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(ctx), [i___1]) <= spark__unsigned__u64__last))) .
H9:    fld_byte_count(fld_h(ctx)) >= natural__first .
H10:   fld_byte_count(fld_h(ctx)) <= natural__last .
H11:   fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first .
H12:   fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last .
H13:   true .
H14:   true .
H15:   fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u6__first .
H16:   fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u6__last .
H17:   true .
H18:   fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u7__first .
H19:   fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u7__last .
H20:   fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u16__first .
H21:   fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u16__last .
H22:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u32__first .
H23:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u32__last .
H24:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u64__first .
H25:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u64__last .
H26:   fld_hash_bit_len(fld_h(ctx)) > 0 .
H27:   0 >= spark__unsigned__byte__first .
H28:   0 <= spark__unsigned__byte__last .
H29:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) >= 
           spark__unsigned__byte__first) and (element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) <= 
           spark__unsigned__byte__last))) .
H30:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) >= 
           spark__unsigned__u64__first) and (element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) <= 
           spark__unsigned__u64__last))) .
H31:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H32:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H33:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= hash_bit_length__first .
H34:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= hash_bit_length__last .
H35:   true .
H36:   true .
H37:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u6__first .
H38:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u6__last .
H39:   true .
H40:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u7__first .
H41:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u7__last .
H42:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u16__first .
H43:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u16__last .
H44:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u32__first .
H45:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u32__last .
H46:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u64__first .
H47:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u64__last .
H48:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) < skein_512_block_bytes_c .
H49:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) < skein_512_block_bytes_c .
H50:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) > 0 .
H51:   fld_hash_bit_len(fld_h(local_ctx__1)) = fld_hash_bit_len(fld_h(
           upf_h(ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true))))) .
H52:   fld_hash_bit_len(fld_h(local_ctx__1)) > 0 .
H53:   fld_byte_count(fld_h(local_ctx__1)) < 
           skein_512_block_bytes_c .
H54:   fld_byte_count(fld_h(local_ctx__1)) = fld_byte_count(fld_h(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true))))) .
H55:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__1), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__1), [i___2]) <= 
           spark__unsigned__byte__last))) .
H56:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__1), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__1), [i___1]) <= 
           spark__unsigned__u64__last))) .
H57:   fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
H58:   fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
H59:   fld_hash_bit_len(fld_h(local_ctx__1)) >= 
           hash_bit_length__first .
H60:   fld_hash_bit_len(fld_h(local_ctx__1)) <= 
           hash_bit_length__last .
H61:   true .
H62:   true .
H63:   fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u6__first .
H64:   fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u6__last .
H65:   true .
H66:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u7__first .
H67:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u7__last .
H68:   fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u16__first .
H69:   fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u16__last .
H70:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u32__first .
H71:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u32__last .
H72:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u64__first .
H73:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u64__last .
H74:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__1), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__1), [i___2]) <= 
           spark__unsigned__byte__last))) .
H75:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__1), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__1), [i___1]) <= 
           spark__unsigned__u64__last))) .
H76:   fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
H77:   fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
H78:   fld_hash_bit_len(fld_h(local_ctx__1)) >= 
           hash_bit_length__first .
H79:   fld_hash_bit_len(fld_h(local_ctx__1)) <= 
           hash_bit_length__last .
H80:   true .
H81:   true .
H82:   fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u6__first .
H83:   fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u6__last .
H84:   true .
H85:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u7__first .
H86:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u7__last .
H87:   fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u16__first .
H88:   fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u16__last .
H89:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u32__first .
H90:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u32__last .
H91:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u64__first .
H92:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u64__last .
H93:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__1), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__1), [i___2]) <= 
           spark__unsigned__byte__last))) .
H94:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__1), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__1), [i___1]) <= 
           spark__unsigned__u64__last))) .
H95:   fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
H96:   fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
H97:   fld_hash_bit_len(fld_h(local_ctx__1)) >= 
           hash_bit_length__first .
H98:   fld_hash_bit_len(fld_h(local_ctx__1)) <= 
           hash_bit_length__last .
H99:   true .
H100:  true .
H101:  fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u6__first .
H102:  fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u6__last .
H103:  true .
H104:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u7__first .
H105:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u7__last .
H106:  fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u16__first .
H107:  fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u16__last .
H108:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u32__first .
H109:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u32__last .
H110:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u64__first .
H111:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u64__last .
H112:  fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
H113:  fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
H114:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__1), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__1), [i___2]) <= 
           spark__unsigned__byte__last))) .
H115:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__1), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__1), [i___1]) <= 
           spark__unsigned__u64__last))) .
H116:  fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
H117:  fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
H118:  fld_hash_bit_len(fld_h(local_ctx__1)) >= 
           hash_bit_length__first .
H119:  fld_hash_bit_len(fld_h(local_ctx__1)) <= 
           hash_bit_length__last .
H120:  true .
H121:  true .
H122:  fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u6__first .
H123:  fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u6__last .
H124:  true .
H125:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u7__first .
H126:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u7__last .
H127:  fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u16__first .
H128:  fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u16__last .
H129:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u32__first .
H130:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u32__last .
H131:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u64__first .
H132:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u64__last .
H133:  for_all(i___1: integer, ((i___1 >= 
           skein_512_block_bytes_index__first) and (i___1 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__1), [i___1]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__1), [i___1]) <= 
           spark__unsigned__byte__last))) .
H134:  fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
H135:  fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
H136:  fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
H137:  fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
H138:  1 >= positive_block_512_count_t__first .
H139:  1 <= positive_block_512_count_t__last .
H140:  0 >= natural__first .
H141:  0 <= natural__last .
H142:  fld_hash_bit_len(fld_h(local_ctx__1)) >= 
           initialized_hash_bit_length__first .
H143:  fld_hash_bit_len(fld_h(local_ctx__1)) <= 
           initialized_hash_bit_length__last .
H144:  fld_byte_count(fld_h(local_ctx__1)) >= 
           skein_512_block_bytes_count__first .
H145:  fld_byte_count(fld_h(local_ctx__1)) <= 
           skein_512_block_bytes_count__last .
H146:  skein_512_block_bytes_index__first = 0 .
H147:  0 + (1 - 1) * skein_512_block_bytes_c + 63 <= 
           skein_512_block_bytes_index__last .
H148:  0 + 63 <= skein_512_block_bytes_index__last .
H149:  skein_512_block_bytes_index__last <= natural__last .
H150:  0 <= natural__last - 63 .
H151:  fld_hash_bit_len(fld_h(local_ctx__2)) >= 
           initialized_hash_bit_length__first .
H152:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 
           initialized_hash_bit_length__last .
H153:  fld_hash_bit_len(fld_h(local_ctx__2)) = fld_hash_bit_len(fld_h(
           local_ctx__1)) .
H154:  fld_byte_count(fld_h(local_ctx__2)) >= 
           skein_512_block_bytes_count__first .
H155:  fld_byte_count(fld_h(local_ctx__2)) <= 
           skein_512_block_bytes_count__last .
H156:  fld_byte_count(fld_h(local_ctx__2)) = fld_byte_count(fld_h(
           local_ctx__1)) .
H157:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__2), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__2), [i___2]) <= 
           spark__unsigned__byte__last))) .
H158:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__2), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__2), [i___1]) <= 
           spark__unsigned__u64__last))) .
H159:  fld_byte_count(fld_h(local_ctx__2)) >= natural__first .
H160:  fld_byte_count(fld_h(local_ctx__2)) <= natural__last .
H161:  fld_hash_bit_len(fld_h(local_ctx__2)) >= 
           hash_bit_length__first .
H162:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 
           hash_bit_length__last .
H163:  true .
H164:  true .
H165:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u6__first .
H166:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u6__last .
H167:  true .
H168:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u7__first .
H169:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u7__last .
H170:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u16__first .
H171:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u16__last .
H172:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u32__first .
H173:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u32__last .
H174:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u64__first .
H175:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u64__last .
H176:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__2), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__2), [i___2]) <= 
           spark__unsigned__byte__last))) .
H177:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__2), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__2), [i___1]) <= 
           spark__unsigned__u64__last))) .
H178:  fld_byte_count(fld_h(local_ctx__2)) >= natural__first .
H179:  fld_byte_count(fld_h(local_ctx__2)) <= natural__last .
H180:  fld_hash_bit_len(fld_h(local_ctx__2)) >= 
           hash_bit_length__first .
H181:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 
           hash_bit_length__last .
H182:  true .
H183:  true .
H184:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u6__first .
H185:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u6__last .
H186:  true .
H187:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u7__first .
H188:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u7__last .
H189:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u16__first .
H190:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u16__last .
H191:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u32__first .
H192:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u32__last .
H193:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u64__first .
H194:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u64__last .
H195:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 >= 
           output_byte_count_t__first .
H196:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 <= 
           output_byte_count_t__last .
H197:  8 <> 0 .
H198:  fld_hash_bit_len(fld_h(local_ctx__2)) + 7 >= integer__base__first .
H199:  fld_hash_bit_len(fld_h(local_ctx__2)) + 7 <= integer__base__last .
H200:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 <= 
           result__index__subtype__1__last + 1 .
H201:  0 >= spark__unsigned__byte__first .
H202:  0 <= spark__unsigned__byte__last .
H203:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_b(
           local_ctx__2, mk__spark__crypto__byte_seq(0))), [
           i___2]) >= spark__unsigned__byte__first) and (element(fld_b(
           upf_b(local_ctx__2, mk__spark__crypto__byte_seq(0))), [
           i___2]) <= spark__unsigned__byte__last))) .
H204:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(upf_b(
           local_ctx__2, mk__spark__crypto__byte_seq(0))), [
           i___1]) >= spark__unsigned__u64__first) and (element(fld_x(
           upf_b(local_ctx__2, mk__spark__crypto__byte_seq(0))), [
           i___1]) <= spark__unsigned__u64__last))) .
H205:  fld_byte_count(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0)))) >= natural__first .
H206:  fld_byte_count(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0)))) <= natural__last .
H207:  fld_hash_bit_len(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0)))) >= 
           hash_bit_length__first .
H208:  fld_hash_bit_len(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0)))) <= 
           hash_bit_length__last .
H209:  true .
H210:  true .
H211:  fld_field_type(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) >= 
           spark__unsigned__u6__first .
H212:  fld_field_type(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) <= 
           spark__unsigned__u6__last .
H213:  true .
H214:  fld_tree_level(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) >= 
           spark__unsigned__u7__first .
H215:  fld_tree_level(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) <= 
           spark__unsigned__u7__last .
H216:  fld_reserved(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) >= 
           spark__unsigned__u16__first .
H217:  fld_reserved(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) <= 
           spark__unsigned__u16__last .
H218:  fld_byte_count_msb(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) >= 
           spark__unsigned__u32__first .
H219:  fld_byte_count_msb(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) <= 
           spark__unsigned__u32__last .
H220:  fld_byte_count_lsb(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) >= 
           spark__unsigned__u64__first .
H221:  fld_byte_count_lsb(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) <= 
           spark__unsigned__u64__last .
H222:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 >= 
           output_byte_count_t__first .
H223:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 <= 
           output_byte_count_t__last .
        ->
C1:    ((fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 + 63) div 64 >= 
           positive_output_block_count_t__first .
C2:    ((fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 + 63) div 64 <= 
           positive_output_block_count_t__last .
C3:    64 <> 0 .
C4:    (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 + 63 >= 
           integer__base__first .
C5:    (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 + 63 <= 
           integer__base__last .
 

procedure_skein_512_final_15.
H1:    fld_hash_bit_len(fld_h(ctx)) >= 
           initialized_hash_bit_length__first .
H2:    fld_hash_bit_len(fld_h(ctx)) <= 
           initialized_hash_bit_length__last .
H3:    fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_count__first .
H4:    fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_count__last .
H5:    result__index__subtype__1__first = 0 .
H6:    (fld_hash_bit_len(fld_h(ctx)) + 7) div 8 <= 
           result__index__subtype__1__last + 1 .
H7:    for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(ctx), [i___2]) <= spark__unsigned__byte__last))) .
H8:    for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(ctx), [i___1]) <= spark__unsigned__u64__last))) .
H9:    fld_byte_count(fld_h(ctx)) >= natural__first .
H10:   fld_byte_count(fld_h(ctx)) <= natural__last .
H11:   fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first .
H12:   fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last .
H13:   true .
H14:   true .
H15:   fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u6__first .
H16:   fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u6__last .
H17:   true .
H18:   fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u7__first .
H19:   fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u7__last .
H20:   fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u16__first .
H21:   fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u16__last .
H22:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u32__first .
H23:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u32__last .
H24:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u64__first .
H25:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u64__last .
H26:   fld_hash_bit_len(fld_h(ctx)) > 0 .
H27:   0 >= spark__unsigned__byte__first .
H28:   0 <= spark__unsigned__byte__last .
H29:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) >= 
           spark__unsigned__byte__first) and (element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) <= 
           spark__unsigned__byte__last))) .
H30:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) >= 
           spark__unsigned__u64__first) and (element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) <= 
           spark__unsigned__u64__last))) .
H31:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H32:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H33:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= hash_bit_length__first .
H34:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= hash_bit_length__last .
H35:   true .
H36:   true .
H37:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u6__first .
H38:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u6__last .
H39:   true .
H40:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u7__first .
H41:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u7__last .
H42:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u16__first .
H43:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u16__last .
H44:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u32__first .
H45:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u32__last .
H46:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u64__first .
H47:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u64__last .
H48:   not (fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) < skein_512_block_bytes_c) .
H49:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) >= 
           spark__unsigned__byte__first) and (element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) <= 
           spark__unsigned__byte__last))) .
H50:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) >= 
           spark__unsigned__u64__first) and (element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) <= 
           spark__unsigned__u64__last))) .
H51:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H52:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H53:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= hash_bit_length__first .
H54:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= hash_bit_length__last .
H55:   true .
H56:   true .
H57:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u6__first .
H58:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u6__last .
H59:   true .
H60:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u7__first .
H61:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u7__last .
H62:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u16__first .
H63:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u16__last .
H64:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u32__first .
H65:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u32__last .
H66:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u64__first .
H67:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u64__last .
H68:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) >= 
           spark__unsigned__byte__first) and (element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) <= 
           spark__unsigned__byte__last))) .
H69:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) >= 
           spark__unsigned__u64__first) and (element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) <= 
           spark__unsigned__u64__last))) .
H70:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H71:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H72:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= hash_bit_length__first .
H73:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= hash_bit_length__last .
H74:   true .
H75:   true .
H76:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u6__first .
H77:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u6__last .
H78:   true .
H79:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u7__first .
H80:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u7__last .
H81:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u16__first .
H82:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u16__last .
H83:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u32__first .
H84:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u32__last .
H85:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u64__first .
H86:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u64__last .
H87:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H88:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H89:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) >= 
           spark__unsigned__byte__first) and (element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) <= 
           spark__unsigned__byte__last))) .
H90:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) >= 
           spark__unsigned__u64__first) and (element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) <= 
           spark__unsigned__u64__last))) .
H91:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H92:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H93:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= hash_bit_length__first .
H94:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= hash_bit_length__last .
H95:   true .
H96:   true .
H97:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u6__first .
H98:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u6__last .
H99:   true .
H100:  fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u7__first .
H101:  fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u7__last .
H102:  fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u16__first .
H103:  fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u16__last .
H104:  fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u32__first .
H105:  fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u32__last .
H106:  fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u64__first .
H107:  fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u64__last .
H108:  for_all(i___1: integer, ((i___1 >= 
           skein_512_block_bytes_index__first) and (i___1 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) >= 
           spark__unsigned__byte__first) and (element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) <= 
           spark__unsigned__byte__last))) .
H109:  fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H110:  fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H111:  fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H112:  fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H113:  1 >= positive_block_512_count_t__first .
H114:  1 <= positive_block_512_count_t__last .
H115:  0 >= natural__first .
H116:  0 <= natural__last .
H117:  fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= initialized_hash_bit_length__first .
H118:  fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= initialized_hash_bit_length__last .
H119:  fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= skein_512_block_bytes_count__first .
H120:  fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= skein_512_block_bytes_count__last .
H121:  skein_512_block_bytes_index__first = 0 .
H122:  0 + (1 - 1) * skein_512_block_bytes_c + 63 <= 
           skein_512_block_bytes_index__last .
H123:  0 + 63 <= skein_512_block_bytes_index__last .
H124:  skein_512_block_bytes_index__last <= natural__last .
H125:  0 <= natural__last - 63 .
H126:  fld_hash_bit_len(fld_h(local_ctx__2)) >= 
           initialized_hash_bit_length__first .
H127:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 
           initialized_hash_bit_length__last .
H128:  fld_hash_bit_len(fld_h(local_ctx__2)) = fld_hash_bit_len(fld_h(
           upf_h(ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true))))) .
H129:  fld_byte_count(fld_h(local_ctx__2)) >= 
           skein_512_block_bytes_count__first .
H130:  fld_byte_count(fld_h(local_ctx__2)) <= 
           skein_512_block_bytes_count__last .
H131:  fld_byte_count(fld_h(local_ctx__2)) = fld_byte_count(fld_h(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true))))) .
H132:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__2), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__2), [i___2]) <= 
           spark__unsigned__byte__last))) .
H133:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__2), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__2), [i___1]) <= 
           spark__unsigned__u64__last))) .
H134:  fld_byte_count(fld_h(local_ctx__2)) >= natural__first .
H135:  fld_byte_count(fld_h(local_ctx__2)) <= natural__last .
H136:  fld_hash_bit_len(fld_h(local_ctx__2)) >= 
           hash_bit_length__first .
H137:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 
           hash_bit_length__last .
H138:  true .
H139:  true .
H140:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u6__first .
H141:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u6__last .
H142:  true .
H143:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u7__first .
H144:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u7__last .
H145:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u16__first .
H146:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u16__last .
H147:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u32__first .
H148:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u32__last .
H149:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u64__first .
H150:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u64__last .
H151:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__2), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__2), [i___2]) <= 
           spark__unsigned__byte__last))) .
H152:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__2), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__2), [i___1]) <= 
           spark__unsigned__u64__last))) .
H153:  fld_byte_count(fld_h(local_ctx__2)) >= natural__first .
H154:  fld_byte_count(fld_h(local_ctx__2)) <= natural__last .
H155:  fld_hash_bit_len(fld_h(local_ctx__2)) >= 
           hash_bit_length__first .
H156:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 
           hash_bit_length__last .
H157:  true .
H158:  true .
H159:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u6__first .
H160:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u6__last .
H161:  true .
H162:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u7__first .
H163:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u7__last .
H164:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u16__first .
H165:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u16__last .
H166:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u32__first .
H167:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u32__last .
H168:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u64__first .
H169:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u64__last .
H170:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 >= 
           output_byte_count_t__first .
H171:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 <= 
           output_byte_count_t__last .
H172:  8 <> 0 .
H173:  fld_hash_bit_len(fld_h(local_ctx__2)) + 7 >= integer__base__first .
H174:  fld_hash_bit_len(fld_h(local_ctx__2)) + 7 <= integer__base__last .
H175:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 <= 
           result__index__subtype__1__last + 1 .
H176:  0 >= spark__unsigned__byte__first .
H177:  0 <= spark__unsigned__byte__last .
H178:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_b(
           local_ctx__2, mk__spark__crypto__byte_seq(0))), [
           i___2]) >= spark__unsigned__byte__first) and (element(fld_b(
           upf_b(local_ctx__2, mk__spark__crypto__byte_seq(0))), [
           i___2]) <= spark__unsigned__byte__last))) .
H179:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(upf_b(
           local_ctx__2, mk__spark__crypto__byte_seq(0))), [
           i___1]) >= spark__unsigned__u64__first) and (element(fld_x(
           upf_b(local_ctx__2, mk__spark__crypto__byte_seq(0))), [
           i___1]) <= spark__unsigned__u64__last))) .
H180:  fld_byte_count(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0)))) >= natural__first .
H181:  fld_byte_count(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0)))) <= natural__last .
H182:  fld_hash_bit_len(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0)))) >= 
           hash_bit_length__first .
H183:  fld_hash_bit_len(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0)))) <= 
           hash_bit_length__last .
H184:  true .
H185:  true .
H186:  fld_field_type(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) >= 
           spark__unsigned__u6__first .
H187:  fld_field_type(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) <= 
           spark__unsigned__u6__last .
H188:  true .
H189:  fld_tree_level(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) >= 
           spark__unsigned__u7__first .
H190:  fld_tree_level(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) <= 
           spark__unsigned__u7__last .
H191:  fld_reserved(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) >= 
           spark__unsigned__u16__first .
H192:  fld_reserved(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) <= 
           spark__unsigned__u16__last .
H193:  fld_byte_count_msb(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) >= 
           spark__unsigned__u32__first .
H194:  fld_byte_count_msb(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) <= 
           spark__unsigned__u32__last .
H195:  fld_byte_count_lsb(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) >= 
           spark__unsigned__u64__first .
H196:  fld_byte_count_lsb(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) <= 
           spark__unsigned__u64__last .
H197:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 >= 
           output_byte_count_t__first .
H198:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 <= 
           output_byte_count_t__last .
        ->
C1:    ((fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 + 63) div 64 >= 
           positive_output_block_count_t__first .
C2:    ((fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 + 63) div 64 <= 
           positive_output_block_count_t__last .
C3:    64 <> 0 .
C4:    (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 + 63 >= 
           integer__base__first .
C5:    (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 + 63 <= 
           integer__base__last .
 

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

procedure_skein_512_final_16.
H1:    fld_hash_bit_len(fld_h(ctx)) >= 
           initialized_hash_bit_length__first .
H2:    fld_hash_bit_len(fld_h(ctx)) <= 
           initialized_hash_bit_length__last .
H3:    fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_count__first .
H4:    fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_count__last .
H5:    result__index__subtype__1__first = 0 .
H6:    (fld_hash_bit_len(fld_h(ctx)) + 7) div 8 <= 
           result__index__subtype__1__last + 1 .
H7:    for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(ctx), [i___2]) <= spark__unsigned__byte__last))) .
H8:    for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(ctx), [i___1]) <= spark__unsigned__u64__last))) .
H9:    fld_byte_count(fld_h(ctx)) >= natural__first .
H10:   fld_byte_count(fld_h(ctx)) <= natural__last .
H11:   fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first .
H12:   fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last .
H13:   true .
H14:   true .
H15:   fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u6__first .
H16:   fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u6__last .
H17:   true .
H18:   fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u7__first .
H19:   fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u7__last .
H20:   fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u16__first .
H21:   fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u16__last .
H22:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u32__first .
H23:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u32__last .
H24:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u64__first .
H25:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u64__last .
H26:   fld_hash_bit_len(fld_h(ctx)) > 0 .
H27:   0 >= spark__unsigned__byte__first .
H28:   0 <= spark__unsigned__byte__last .
H29:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) >= 
           spark__unsigned__byte__first) and (element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) <= 
           spark__unsigned__byte__last))) .
H30:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) >= 
           spark__unsigned__u64__first) and (element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) <= 
           spark__unsigned__u64__last))) .
H31:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H32:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H33:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= hash_bit_length__first .
H34:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= hash_bit_length__last .
H35:   true .
H36:   true .
H37:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u6__first .
H38:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u6__last .
H39:   true .
H40:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u7__first .
H41:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u7__last .
H42:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u16__first .
H43:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u16__last .
H44:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u32__first .
H45:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u32__last .
H46:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u64__first .
H47:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u64__last .
H48:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) < skein_512_block_bytes_c .
H49:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) < skein_512_block_bytes_c .
H50:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) > 0 .
H51:   fld_hash_bit_len(fld_h(local_ctx__1)) = fld_hash_bit_len(fld_h(
           upf_h(ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true))))) .
H52:   fld_hash_bit_len(fld_h(local_ctx__1)) > 0 .
H53:   fld_byte_count(fld_h(local_ctx__1)) < 
           skein_512_block_bytes_c .
H54:   fld_byte_count(fld_h(local_ctx__1)) = fld_byte_count(fld_h(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true))))) .
H55:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__1), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__1), [i___2]) <= 
           spark__unsigned__byte__last))) .
H56:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__1), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__1), [i___1]) <= 
           spark__unsigned__u64__last))) .
H57:   fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
H58:   fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
H59:   fld_hash_bit_len(fld_h(local_ctx__1)) >= 
           hash_bit_length__first .
H60:   fld_hash_bit_len(fld_h(local_ctx__1)) <= 
           hash_bit_length__last .
H61:   true .
H62:   true .
H63:   fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u6__first .
H64:   fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u6__last .
H65:   true .
H66:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u7__first .
H67:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u7__last .
H68:   fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u16__first .
H69:   fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u16__last .
H70:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u32__first .
H71:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u32__last .
H72:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u64__first .
H73:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u64__last .
H74:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__1), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__1), [i___2]) <= 
           spark__unsigned__byte__last))) .
H75:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__1), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__1), [i___1]) <= 
           spark__unsigned__u64__last))) .
H76:   fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
H77:   fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
H78:   fld_hash_bit_len(fld_h(local_ctx__1)) >= 
           hash_bit_length__first .
H79:   fld_hash_bit_len(fld_h(local_ctx__1)) <= 
           hash_bit_length__last .
H80:   true .
H81:   true .
H82:   fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u6__first .
H83:   fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u6__last .
H84:   true .
H85:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u7__first .
H86:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u7__last .
H87:   fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u16__first .
H88:   fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u16__last .
H89:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u32__first .
H90:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u32__last .
H91:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u64__first .
H92:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u64__last .
H93:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__1), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__1), [i___2]) <= 
           spark__unsigned__byte__last))) .
H94:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__1), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__1), [i___1]) <= 
           spark__unsigned__u64__last))) .
H95:   fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
H96:   fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
H97:   fld_hash_bit_len(fld_h(local_ctx__1)) >= 
           hash_bit_length__first .
H98:   fld_hash_bit_len(fld_h(local_ctx__1)) <= 
           hash_bit_length__last .
H99:   true .
H100:  true .
H101:  fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u6__first .
H102:  fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u6__last .
H103:  true .
H104:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u7__first .
H105:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u7__last .
H106:  fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u16__first .
H107:  fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u16__last .
H108:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u32__first .
H109:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u32__last .
H110:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u64__first .
H111:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u64__last .
H112:  fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
H113:  fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
H114:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__1), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__1), [i___2]) <= 
           spark__unsigned__byte__last))) .
H115:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__1), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__1), [i___1]) <= 
           spark__unsigned__u64__last))) .
H116:  fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
H117:  fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
H118:  fld_hash_bit_len(fld_h(local_ctx__1)) >= 
           hash_bit_length__first .
H119:  fld_hash_bit_len(fld_h(local_ctx__1)) <= 
           hash_bit_length__last .
H120:  true .
H121:  true .
H122:  fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u6__first .
H123:  fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u6__last .
H124:  true .
H125:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u7__first .
H126:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u7__last .
H127:  fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u16__first .
H128:  fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u16__last .
H129:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u32__first .
H130:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u32__last .
H131:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u64__first .
H132:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u64__last .
H133:  for_all(i___1: integer, ((i___1 >= 
           skein_512_block_bytes_index__first) and (i___1 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__1), [i___1]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__1), [i___1]) <= 
           spark__unsigned__byte__last))) .
H134:  fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
H135:  fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
H136:  fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
H137:  fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
H138:  1 >= positive_block_512_count_t__first .
H139:  1 <= positive_block_512_count_t__last .
H140:  0 >= natural__first .
H141:  0 <= natural__last .
H142:  fld_hash_bit_len(fld_h(local_ctx__1)) >= 
           initialized_hash_bit_length__first .
H143:  fld_hash_bit_len(fld_h(local_ctx__1)) <= 
           initialized_hash_bit_length__last .
H144:  fld_byte_count(fld_h(local_ctx__1)) >= 
           skein_512_block_bytes_count__first .
H145:  fld_byte_count(fld_h(local_ctx__1)) <= 
           skein_512_block_bytes_count__last .
H146:  skein_512_block_bytes_index__first = 0 .
H147:  0 + (1 - 1) * skein_512_block_bytes_c + 63 <= 
           skein_512_block_bytes_index__last .
H148:  0 + 63 <= skein_512_block_bytes_index__last .
H149:  skein_512_block_bytes_index__last <= natural__last .
H150:  0 <= natural__last - 63 .
H151:  fld_hash_bit_len(fld_h(local_ctx__2)) >= 
           initialized_hash_bit_length__first .
H152:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 
           initialized_hash_bit_length__last .
H153:  fld_hash_bit_len(fld_h(local_ctx__2)) = fld_hash_bit_len(fld_h(
           local_ctx__1)) .
H154:  fld_byte_count(fld_h(local_ctx__2)) >= 
           skein_512_block_bytes_count__first .
H155:  fld_byte_count(fld_h(local_ctx__2)) <= 
           skein_512_block_bytes_count__last .
H156:  fld_byte_count(fld_h(local_ctx__2)) = fld_byte_count(fld_h(
           local_ctx__1)) .
H157:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__2), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__2), [i___2]) <= 
           spark__unsigned__byte__last))) .
H158:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__2), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__2), [i___1]) <= 
           spark__unsigned__u64__last))) .
H159:  fld_byte_count(fld_h(local_ctx__2)) >= natural__first .
H160:  fld_byte_count(fld_h(local_ctx__2)) <= natural__last .
H161:  fld_hash_bit_len(fld_h(local_ctx__2)) >= 
           hash_bit_length__first .
H162:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 
           hash_bit_length__last .
H163:  true .
H164:  true .
H165:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u6__first .
H166:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u6__last .
H167:  true .
H168:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u7__first .
H169:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u7__last .
H170:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u16__first .
H171:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u16__last .
H172:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u32__first .
H173:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u32__last .
H174:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u64__first .
H175:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u64__last .
H176:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__2), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__2), [i___2]) <= 
           spark__unsigned__byte__last))) .
H177:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__2), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__2), [i___1]) <= 
           spark__unsigned__u64__last))) .
H178:  fld_byte_count(fld_h(local_ctx__2)) >= natural__first .
H179:  fld_byte_count(fld_h(local_ctx__2)) <= natural__last .
H180:  fld_hash_bit_len(fld_h(local_ctx__2)) >= 
           hash_bit_length__first .
H181:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 
           hash_bit_length__last .
H182:  true .
H183:  true .
H184:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u6__first .
H185:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u6__last .
H186:  true .
H187:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u7__first .
H188:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u7__last .
H189:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u16__first .
H190:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u16__last .
H191:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u32__first .
H192:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u32__last .
H193:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u64__first .
H194:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u64__last .
H195:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 >= 
           output_byte_count_t__first .
H196:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 <= 
           output_byte_count_t__last .
H197:  8 <> 0 .
H198:  fld_hash_bit_len(fld_h(local_ctx__2)) + 7 >= integer__base__first .
H199:  fld_hash_bit_len(fld_h(local_ctx__2)) + 7 <= integer__base__last .
H200:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 <= 
           result__index__subtype__1__last + 1 .
H201:  0 >= spark__unsigned__byte__first .
H202:  0 <= spark__unsigned__byte__last .
H203:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_b(
           local_ctx__2, mk__spark__crypto__byte_seq(0))), [
           i___2]) >= spark__unsigned__byte__first) and (element(fld_b(
           upf_b(local_ctx__2, mk__spark__crypto__byte_seq(0))), [
           i___2]) <= spark__unsigned__byte__last))) .
H204:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(upf_b(
           local_ctx__2, mk__spark__crypto__byte_seq(0))), [
           i___1]) >= spark__unsigned__u64__first) and (element(fld_x(
           upf_b(local_ctx__2, mk__spark__crypto__byte_seq(0))), [
           i___1]) <= spark__unsigned__u64__last))) .
H205:  fld_byte_count(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0)))) >= natural__first .
H206:  fld_byte_count(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0)))) <= natural__last .
H207:  fld_hash_bit_len(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0)))) >= 
           hash_bit_length__first .
H208:  fld_hash_bit_len(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0)))) <= 
           hash_bit_length__last .
H209:  true .
H210:  true .
H211:  fld_field_type(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) >= 
           spark__unsigned__u6__first .
H212:  fld_field_type(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) <= 
           spark__unsigned__u6__last .
H213:  true .
H214:  fld_tree_level(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) >= 
           spark__unsigned__u7__first .
H215:  fld_tree_level(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) <= 
           spark__unsigned__u7__last .
H216:  fld_reserved(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) >= 
           spark__unsigned__u16__first .
H217:  fld_reserved(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) <= 
           spark__unsigned__u16__last .
H218:  fld_byte_count_msb(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) >= 
           spark__unsigned__u32__first .
H219:  fld_byte_count_msb(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) <= 
           spark__unsigned__u32__last .
H220:  fld_byte_count_lsb(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) >= 
           spark__unsigned__u64__first .
H221:  fld_byte_count_lsb(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) <= 
           spark__unsigned__u64__last .
H222:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 >= 
           output_byte_count_t__first .
H223:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 <= 
           output_byte_count_t__last .
H224:  ((fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 + 63) div 64 >= 
           positive_output_block_count_t__first .
H225:  ((fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 + 63) div 64 <= 
           positive_output_block_count_t__last .
H226:  64 <> 0 .
H227:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 + 63 >= 
           integer__base__first .
H228:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 + 63 <= 
           integer__base__last .
        ->
C1:    0 >= output_block_count_t__first .
C2:    0 <= output_block_count_t__last .
 

procedure_skein_512_final_17.
H1:    fld_hash_bit_len(fld_h(ctx)) >= 
           initialized_hash_bit_length__first .
H2:    fld_hash_bit_len(fld_h(ctx)) <= 
           initialized_hash_bit_length__last .
H3:    fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_count__first .
H4:    fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_count__last .
H5:    result__index__subtype__1__first = 0 .
H6:    (fld_hash_bit_len(fld_h(ctx)) + 7) div 8 <= 
           result__index__subtype__1__last + 1 .
H7:    for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(ctx), [i___2]) <= spark__unsigned__byte__last))) .
H8:    for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(ctx), [i___1]) <= spark__unsigned__u64__last))) .
H9:    fld_byte_count(fld_h(ctx)) >= natural__first .
H10:   fld_byte_count(fld_h(ctx)) <= natural__last .
H11:   fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first .
H12:   fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last .
H13:   true .
H14:   true .
H15:   fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u6__first .
H16:   fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u6__last .
H17:   true .
H18:   fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u7__first .
H19:   fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u7__last .
H20:   fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u16__first .
H21:   fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u16__last .
H22:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u32__first .
H23:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u32__last .
H24:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u64__first .
H25:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u64__last .
H26:   fld_hash_bit_len(fld_h(ctx)) > 0 .
H27:   0 >= spark__unsigned__byte__first .
H28:   0 <= spark__unsigned__byte__last .
H29:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) >= 
           spark__unsigned__byte__first) and (element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) <= 
           spark__unsigned__byte__last))) .
H30:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) >= 
           spark__unsigned__u64__first) and (element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) <= 
           spark__unsigned__u64__last))) .
H31:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H32:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H33:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= hash_bit_length__first .
H34:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= hash_bit_length__last .
H35:   true .
H36:   true .
H37:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u6__first .
H38:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u6__last .
H39:   true .
H40:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u7__first .
H41:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u7__last .
H42:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u16__first .
H43:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u16__last .
H44:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u32__first .
H45:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u32__last .
H46:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u64__first .
H47:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u64__last .
H48:   not (fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) < skein_512_block_bytes_c) .
H49:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) >= 
           spark__unsigned__byte__first) and (element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) <= 
           spark__unsigned__byte__last))) .
H50:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) >= 
           spark__unsigned__u64__first) and (element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) <= 
           spark__unsigned__u64__last))) .
H51:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H52:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H53:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= hash_bit_length__first .
H54:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= hash_bit_length__last .
H55:   true .
H56:   true .
H57:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u6__first .
H58:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u6__last .
H59:   true .
H60:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u7__first .
H61:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u7__last .
H62:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u16__first .
H63:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u16__last .
H64:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u32__first .
H65:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u32__last .
H66:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u64__first .
H67:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u64__last .
H68:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) >= 
           spark__unsigned__byte__first) and (element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) <= 
           spark__unsigned__byte__last))) .
H69:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) >= 
           spark__unsigned__u64__first) and (element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) <= 
           spark__unsigned__u64__last))) .
H70:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H71:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H72:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= hash_bit_length__first .
H73:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= hash_bit_length__last .
H74:   true .
H75:   true .
H76:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u6__first .
H77:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u6__last .
H78:   true .
H79:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u7__first .
H80:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u7__last .
H81:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u16__first .
H82:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u16__last .
H83:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u32__first .
H84:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u32__last .
H85:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u64__first .
H86:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u64__last .
H87:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H88:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H89:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) >= 
           spark__unsigned__byte__first) and (element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) <= 
           spark__unsigned__byte__last))) .
H90:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) >= 
           spark__unsigned__u64__first) and (element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) <= 
           spark__unsigned__u64__last))) .
H91:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H92:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H93:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= hash_bit_length__first .
H94:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= hash_bit_length__last .
H95:   true .
H96:   true .
H97:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u6__first .
H98:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u6__last .
H99:   true .
H100:  fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u7__first .
H101:  fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u7__last .
H102:  fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u16__first .
H103:  fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u16__last .
H104:  fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u32__first .
H105:  fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u32__last .
H106:  fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u64__first .
H107:  fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u64__last .
H108:  for_all(i___1: integer, ((i___1 >= 
           skein_512_block_bytes_index__first) and (i___1 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) >= 
           spark__unsigned__byte__first) and (element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) <= 
           spark__unsigned__byte__last))) .
H109:  fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H110:  fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H111:  fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H112:  fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H113:  1 >= positive_block_512_count_t__first .
H114:  1 <= positive_block_512_count_t__last .
H115:  0 >= natural__first .
H116:  0 <= natural__last .
H117:  fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= initialized_hash_bit_length__first .
H118:  fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= initialized_hash_bit_length__last .
H119:  fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= skein_512_block_bytes_count__first .
H120:  fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= skein_512_block_bytes_count__last .
H121:  skein_512_block_bytes_index__first = 0 .
H122:  0 + (1 - 1) * skein_512_block_bytes_c + 63 <= 
           skein_512_block_bytes_index__last .
H123:  0 + 63 <= skein_512_block_bytes_index__last .
H124:  skein_512_block_bytes_index__last <= natural__last .
H125:  0 <= natural__last - 63 .
H126:  fld_hash_bit_len(fld_h(local_ctx__2)) >= 
           initialized_hash_bit_length__first .
H127:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 
           initialized_hash_bit_length__last .
H128:  fld_hash_bit_len(fld_h(local_ctx__2)) = fld_hash_bit_len(fld_h(
           upf_h(ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true))))) .
H129:  fld_byte_count(fld_h(local_ctx__2)) >= 
           skein_512_block_bytes_count__first .
H130:  fld_byte_count(fld_h(local_ctx__2)) <= 
           skein_512_block_bytes_count__last .
H131:  fld_byte_count(fld_h(local_ctx__2)) = fld_byte_count(fld_h(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true))))) .
H132:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__2), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__2), [i___2]) <= 
           spark__unsigned__byte__last))) .
H133:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__2), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__2), [i___1]) <= 
           spark__unsigned__u64__last))) .
H134:  fld_byte_count(fld_h(local_ctx__2)) >= natural__first .
H135:  fld_byte_count(fld_h(local_ctx__2)) <= natural__last .
H136:  fld_hash_bit_len(fld_h(local_ctx__2)) >= 
           hash_bit_length__first .
H137:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 
           hash_bit_length__last .
H138:  true .
H139:  true .
H140:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u6__first .
H141:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u6__last .
H142:  true .
H143:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u7__first .
H144:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u7__last .
H145:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u16__first .
H146:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u16__last .
H147:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u32__first .
H148:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u32__last .
H149:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u64__first .
H150:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u64__last .
H151:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__2), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__2), [i___2]) <= 
           spark__unsigned__byte__last))) .
H152:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__2), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__2), [i___1]) <= 
           spark__unsigned__u64__last))) .
H153:  fld_byte_count(fld_h(local_ctx__2)) >= natural__first .
H154:  fld_byte_count(fld_h(local_ctx__2)) <= natural__last .
H155:  fld_hash_bit_len(fld_h(local_ctx__2)) >= 
           hash_bit_length__first .
H156:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 
           hash_bit_length__last .
H157:  true .
H158:  true .
H159:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u6__first .
H160:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u6__last .
H161:  true .
H162:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u7__first .
H163:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u7__last .
H164:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u16__first .
H165:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u16__last .
H166:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u32__first .
H167:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u32__last .
H168:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u64__first .
H169:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u64__last .
H170:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 >= 
           output_byte_count_t__first .
H171:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 <= 
           output_byte_count_t__last .
H172:  8 <> 0 .
H173:  fld_hash_bit_len(fld_h(local_ctx__2)) + 7 >= integer__base__first .
H174:  fld_hash_bit_len(fld_h(local_ctx__2)) + 7 <= integer__base__last .
H175:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 <= 
           result__index__subtype__1__last + 1 .
H176:  0 >= spark__unsigned__byte__first .
H177:  0 <= spark__unsigned__byte__last .
H178:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_b(
           local_ctx__2, mk__spark__crypto__byte_seq(0))), [
           i___2]) >= spark__unsigned__byte__first) and (element(fld_b(
           upf_b(local_ctx__2, mk__spark__crypto__byte_seq(0))), [
           i___2]) <= spark__unsigned__byte__last))) .
H179:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(upf_b(
           local_ctx__2, mk__spark__crypto__byte_seq(0))), [
           i___1]) >= spark__unsigned__u64__first) and (element(fld_x(
           upf_b(local_ctx__2, mk__spark__crypto__byte_seq(0))), [
           i___1]) <= spark__unsigned__u64__last))) .
H180:  fld_byte_count(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0)))) >= natural__first .
H181:  fld_byte_count(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0)))) <= natural__last .
H182:  fld_hash_bit_len(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0)))) >= 
           hash_bit_length__first .
H183:  fld_hash_bit_len(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0)))) <= 
           hash_bit_length__last .
H184:  true .
H185:  true .
H186:  fld_field_type(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) >= 
           spark__unsigned__u6__first .
H187:  fld_field_type(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) <= 
           spark__unsigned__u6__last .
H188:  true .
H189:  fld_tree_level(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) >= 
           spark__unsigned__u7__first .
H190:  fld_tree_level(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) <= 
           spark__unsigned__u7__last .
H191:  fld_reserved(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) >= 
           spark__unsigned__u16__first .
H192:  fld_reserved(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) <= 
           spark__unsigned__u16__last .
H193:  fld_byte_count_msb(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) >= 
           spark__unsigned__u32__first .
H194:  fld_byte_count_msb(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) <= 
           spark__unsigned__u32__last .
H195:  fld_byte_count_lsb(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) >= 
           spark__unsigned__u64__first .
H196:  fld_byte_count_lsb(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) <= 
           spark__unsigned__u64__last .
H197:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 >= 
           output_byte_count_t__first .
H198:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 <= 
           output_byte_count_t__last .
H199:  ((fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 + 63) div 64 >= 
           positive_output_block_count_t__first .
H200:  ((fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 + 63) div 64 <= 
           positive_output_block_count_t__last .
H201:  64 <> 0 .
H202:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 + 63 >= 
           integer__base__first .
H203:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 + 63 <= 
           integer__base__last .
        ->
C1:    0 >= output_block_count_t__first .
C2:    0 <= output_block_count_t__last .
 

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

procedure_skein_512_final_18.
H1:    fld_hash_bit_len(fld_h(ctx)) >= 
           initialized_hash_bit_length__first .
H2:    fld_hash_bit_len(fld_h(ctx)) <= 
           initialized_hash_bit_length__last .
H3:    fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_count__first .
H4:    fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_count__last .
H5:    result__index__subtype__1__first = 0 .
H6:    (fld_hash_bit_len(fld_h(ctx)) + 7) div 8 <= 
           result__index__subtype__1__last + 1 .
H7:    for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(ctx), [i___2]) <= spark__unsigned__byte__last))) .
H8:    for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(ctx), [i___1]) <= spark__unsigned__u64__last))) .
H9:    fld_byte_count(fld_h(ctx)) >= natural__first .
H10:   fld_byte_count(fld_h(ctx)) <= natural__last .
H11:   fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first .
H12:   fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last .
H13:   true .
H14:   true .
H15:   fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u6__first .
H16:   fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u6__last .
H17:   true .
H18:   fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u7__first .
H19:   fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u7__last .
H20:   fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u16__first .
H21:   fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u16__last .
H22:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u32__first .
H23:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u32__last .
H24:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u64__first .
H25:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u64__last .
H26:   fld_hash_bit_len(fld_h(ctx)) > 0 .
H27:   0 >= spark__unsigned__byte__first .
H28:   0 <= spark__unsigned__byte__last .
H29:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) >= 
           spark__unsigned__byte__first) and (element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) <= 
           spark__unsigned__byte__last))) .
H30:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) >= 
           spark__unsigned__u64__first) and (element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) <= 
           spark__unsigned__u64__last))) .
H31:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H32:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H33:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= hash_bit_length__first .
H34:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= hash_bit_length__last .
H35:   true .
H36:   true .
H37:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u6__first .
H38:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u6__last .
H39:   true .
H40:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u7__first .
H41:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u7__last .
H42:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u16__first .
H43:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u16__last .
H44:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u32__first .
H45:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u32__last .
H46:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u64__first .
H47:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u64__last .
H48:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) < skein_512_block_bytes_c .
H49:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) < skein_512_block_bytes_c .
H50:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) > 0 .
H51:   fld_hash_bit_len(fld_h(local_ctx__1)) = fld_hash_bit_len(fld_h(
           upf_h(ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true))))) .
H52:   fld_hash_bit_len(fld_h(local_ctx__1)) > 0 .
H53:   fld_byte_count(fld_h(local_ctx__1)) < 
           skein_512_block_bytes_c .
H54:   fld_byte_count(fld_h(local_ctx__1)) = fld_byte_count(fld_h(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true))))) .
H55:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__1), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__1), [i___2]) <= 
           spark__unsigned__byte__last))) .
H56:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__1), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__1), [i___1]) <= 
           spark__unsigned__u64__last))) .
H57:   fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
H58:   fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
H59:   fld_hash_bit_len(fld_h(local_ctx__1)) >= 
           hash_bit_length__first .
H60:   fld_hash_bit_len(fld_h(local_ctx__1)) <= 
           hash_bit_length__last .
H61:   true .
H62:   true .
H63:   fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u6__first .
H64:   fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u6__last .
H65:   true .
H66:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u7__first .
H67:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u7__last .
H68:   fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u16__first .
H69:   fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u16__last .
H70:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u32__first .
H71:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u32__last .
H72:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u64__first .
H73:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u64__last .
H74:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__1), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__1), [i___2]) <= 
           spark__unsigned__byte__last))) .
H75:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__1), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__1), [i___1]) <= 
           spark__unsigned__u64__last))) .
H76:   fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
H77:   fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
H78:   fld_hash_bit_len(fld_h(local_ctx__1)) >= 
           hash_bit_length__first .
H79:   fld_hash_bit_len(fld_h(local_ctx__1)) <= 
           hash_bit_length__last .
H80:   true .
H81:   true .
H82:   fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u6__first .
H83:   fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u6__last .
H84:   true .
H85:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u7__first .
H86:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u7__last .
H87:   fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u16__first .
H88:   fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u16__last .
H89:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u32__first .
H90:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u32__last .
H91:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u64__first .
H92:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u64__last .
H93:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__1), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__1), [i___2]) <= 
           spark__unsigned__byte__last))) .
H94:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__1), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__1), [i___1]) <= 
           spark__unsigned__u64__last))) .
H95:   fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
H96:   fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
H97:   fld_hash_bit_len(fld_h(local_ctx__1)) >= 
           hash_bit_length__first .
H98:   fld_hash_bit_len(fld_h(local_ctx__1)) <= 
           hash_bit_length__last .
H99:   true .
H100:  true .
H101:  fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u6__first .
H102:  fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u6__last .
H103:  true .
H104:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u7__first .
H105:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u7__last .
H106:  fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u16__first .
H107:  fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u16__last .
H108:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u32__first .
H109:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u32__last .
H110:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u64__first .
H111:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u64__last .
H112:  fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
H113:  fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
H114:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__1), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__1), [i___2]) <= 
           spark__unsigned__byte__last))) .
H115:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__1), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__1), [i___1]) <= 
           spark__unsigned__u64__last))) .
H116:  fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
H117:  fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
H118:  fld_hash_bit_len(fld_h(local_ctx__1)) >= 
           hash_bit_length__first .
H119:  fld_hash_bit_len(fld_h(local_ctx__1)) <= 
           hash_bit_length__last .
H120:  true .
H121:  true .
H122:  fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u6__first .
H123:  fld_field_type(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u6__last .
H124:  true .
H125:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u7__first .
H126:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u7__last .
H127:  fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u16__first .
H128:  fld_reserved(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u16__last .
H129:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u32__first .
H130:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u32__last .
H131:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) >= 
           spark__unsigned__u64__first .
H132:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__1))) <= 
           spark__unsigned__u64__last .
H133:  for_all(i___1: integer, ((i___1 >= 
           skein_512_block_bytes_index__first) and (i___1 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__1), [i___1]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__1), [i___1]) <= 
           spark__unsigned__byte__last))) .
H134:  fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
H135:  fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
H136:  fld_byte_count(fld_h(local_ctx__1)) >= natural__first .
H137:  fld_byte_count(fld_h(local_ctx__1)) <= natural__last .
H138:  1 >= positive_block_512_count_t__first .
H139:  1 <= positive_block_512_count_t__last .
H140:  0 >= natural__first .
H141:  0 <= natural__last .
H142:  fld_hash_bit_len(fld_h(local_ctx__1)) >= 
           initialized_hash_bit_length__first .
H143:  fld_hash_bit_len(fld_h(local_ctx__1)) <= 
           initialized_hash_bit_length__last .
H144:  fld_byte_count(fld_h(local_ctx__1)) >= 
           skein_512_block_bytes_count__first .
H145:  fld_byte_count(fld_h(local_ctx__1)) <= 
           skein_512_block_bytes_count__last .
H146:  skein_512_block_bytes_index__first = 0 .
H147:  0 + (1 - 1) * skein_512_block_bytes_c + 63 <= 
           skein_512_block_bytes_index__last .
H148:  0 + 63 <= skein_512_block_bytes_index__last .
H149:  skein_512_block_bytes_index__last <= natural__last .
H150:  0 <= natural__last - 63 .
H151:  fld_hash_bit_len(fld_h(local_ctx__2)) >= 
           initialized_hash_bit_length__first .
H152:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 
           initialized_hash_bit_length__last .
H153:  fld_hash_bit_len(fld_h(local_ctx__2)) = fld_hash_bit_len(fld_h(
           local_ctx__1)) .
H154:  fld_byte_count(fld_h(local_ctx__2)) >= 
           skein_512_block_bytes_count__first .
H155:  fld_byte_count(fld_h(local_ctx__2)) <= 
           skein_512_block_bytes_count__last .
H156:  fld_byte_count(fld_h(local_ctx__2)) = fld_byte_count(fld_h(
           local_ctx__1)) .
H157:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__2), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__2), [i___2]) <= 
           spark__unsigned__byte__last))) .
H158:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__2), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__2), [i___1]) <= 
           spark__unsigned__u64__last))) .
H159:  fld_byte_count(fld_h(local_ctx__2)) >= natural__first .
H160:  fld_byte_count(fld_h(local_ctx__2)) <= natural__last .
H161:  fld_hash_bit_len(fld_h(local_ctx__2)) >= 
           hash_bit_length__first .
H162:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 
           hash_bit_length__last .
H163:  true .
H164:  true .
H165:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u6__first .
H166:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u6__last .
H167:  true .
H168:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u7__first .
H169:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u7__last .
H170:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u16__first .
H171:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u16__last .
H172:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u32__first .
H173:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u32__last .
H174:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u64__first .
H175:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u64__last .
H176:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__2), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__2), [i___2]) <= 
           spark__unsigned__byte__last))) .
H177:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__2), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__2), [i___1]) <= 
           spark__unsigned__u64__last))) .
H178:  fld_byte_count(fld_h(local_ctx__2)) >= natural__first .
H179:  fld_byte_count(fld_h(local_ctx__2)) <= natural__last .
H180:  fld_hash_bit_len(fld_h(local_ctx__2)) >= 
           hash_bit_length__first .
H181:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 
           hash_bit_length__last .
H182:  true .
H183:  true .
H184:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u6__first .
H185:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u6__last .
H186:  true .
H187:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u7__first .
H188:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u7__last .
H189:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u16__first .
H190:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u16__last .
H191:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u32__first .
H192:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u32__last .
H193:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u64__first .
H194:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u64__last .
H195:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 >= 
           output_byte_count_t__first .
H196:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 <= 
           output_byte_count_t__last .
H197:  8 <> 0 .
H198:  fld_hash_bit_len(fld_h(local_ctx__2)) + 7 >= integer__base__first .
H199:  fld_hash_bit_len(fld_h(local_ctx__2)) + 7 <= integer__base__last .
H200:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 <= 
           result__index__subtype__1__last + 1 .
H201:  0 >= spark__unsigned__byte__first .
H202:  0 <= spark__unsigned__byte__last .
H203:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_b(
           local_ctx__2, mk__spark__crypto__byte_seq(0))), [
           i___2]) >= spark__unsigned__byte__first) and (element(fld_b(
           upf_b(local_ctx__2, mk__spark__crypto__byte_seq(0))), [
           i___2]) <= spark__unsigned__byte__last))) .
H204:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(upf_b(
           local_ctx__2, mk__spark__crypto__byte_seq(0))), [
           i___1]) >= spark__unsigned__u64__first) and (element(fld_x(
           upf_b(local_ctx__2, mk__spark__crypto__byte_seq(0))), [
           i___1]) <= spark__unsigned__u64__last))) .
H205:  fld_byte_count(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0)))) >= natural__first .
H206:  fld_byte_count(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0)))) <= natural__last .
H207:  fld_hash_bit_len(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0)))) >= 
           hash_bit_length__first .
H208:  fld_hash_bit_len(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0)))) <= 
           hash_bit_length__last .
H209:  true .
H210:  true .
H211:  fld_field_type(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) >= 
           spark__unsigned__u6__first .
H212:  fld_field_type(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) <= 
           spark__unsigned__u6__last .
H213:  true .
H214:  fld_tree_level(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) >= 
           spark__unsigned__u7__first .
H215:  fld_tree_level(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) <= 
           spark__unsigned__u7__last .
H216:  fld_reserved(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) >= 
           spark__unsigned__u16__first .
H217:  fld_reserved(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) <= 
           spark__unsigned__u16__last .
H218:  fld_byte_count_msb(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) >= 
           spark__unsigned__u32__first .
H219:  fld_byte_count_msb(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) <= 
           spark__unsigned__u32__last .
H220:  fld_byte_count_lsb(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) >= 
           spark__unsigned__u64__first .
H221:  fld_byte_count_lsb(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) <= 
           spark__unsigned__u64__last .
H222:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 >= 
           output_byte_count_t__first .
H223:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 <= 
           output_byte_count_t__last .
H224:  ((fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 + 63) div 64 >= 
           positive_output_block_count_t__first .
H225:  ((fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 + 63) div 64 <= 
           positive_output_block_count_t__last .
H226:  64 <> 0 .
H227:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 + 63 >= 
           integer__base__first .
H228:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 + 63 <= 
           integer__base__last .
H229:  0 >= output_block_count_t__first .
H230:  0 <= output_block_count_t__last .
        ->
C1:    fld_hash_bit_len(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0)))) > 0 .
C2:    (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 <= 
           result__index__subtype__1__last + 1 .
C3:    0 * skein_512_block_bytes_c < (fld_hash_bit_len(fld_h(
           local_ctx__2)) + 7) div 8 .
C4:    0 * skein_512_block_bytes_c < 
           result__index__subtype__1__last + 1 .
C5:    0 < ((fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 + 63) div 
           64 .
C6:    ((fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 + 63) div 64 = ((
           fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 + 63) div 
           64 .
C7:    for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(ctx), [i___2]) <= spark__unsigned__byte__last))) .
C8:    for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(ctx), [i___1]) <= spark__unsigned__u64__last))) .
C9:    fld_byte_count(fld_h(ctx)) >= natural__first .
C10:   fld_byte_count(fld_h(ctx)) <= natural__last .
C11:   fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first .
C12:   fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last .
C13:   true .
C14:   true .
C15:   fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u6__first .
C16:   fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u6__last .
C17:   true .
C18:   fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u7__first .
C19:   fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u7__last .
C20:   fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u16__first .
C21:   fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u16__last .
C22:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u32__first .
C23:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u32__last .
C24:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u64__first .
C25:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u64__last .
C26:   fld_hash_bit_len(fld_h(ctx)) >= 
           initialized_hash_bit_length__first .
C27:   fld_hash_bit_len(fld_h(ctx)) <= 
           initialized_hash_bit_length__last .
C28:   fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_count__first .
C29:   fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_count__last .
C30:   result__index__subtype__1__first = 0 .
C31:   (fld_hash_bit_len(fld_h(ctx)) + 7) div 8 <= 
           result__index__subtype__1__last + 1 .
 

procedure_skein_512_final_19.
H1:    fld_hash_bit_len(fld_h(ctx)) >= 
           initialized_hash_bit_length__first .
H2:    fld_hash_bit_len(fld_h(ctx)) <= 
           initialized_hash_bit_length__last .
H3:    fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_count__first .
H4:    fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_count__last .
H5:    result__index__subtype__1__first = 0 .
H6:    (fld_hash_bit_len(fld_h(ctx)) + 7) div 8 <= 
           result__index__subtype__1__last + 1 .
H7:    for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(ctx), [i___2]) <= spark__unsigned__byte__last))) .
H8:    for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(ctx), [i___1]) <= spark__unsigned__u64__last))) .
H9:    fld_byte_count(fld_h(ctx)) >= natural__first .
H10:   fld_byte_count(fld_h(ctx)) <= natural__last .
H11:   fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first .
H12:   fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last .
H13:   true .
H14:   true .
H15:   fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u6__first .
H16:   fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u6__last .
H17:   true .
H18:   fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u7__first .
H19:   fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u7__last .
H20:   fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u16__first .
H21:   fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u16__last .
H22:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u32__first .
H23:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u32__last .
H24:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u64__first .
H25:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u64__last .
H26:   fld_hash_bit_len(fld_h(ctx)) > 0 .
H27:   0 >= spark__unsigned__byte__first .
H28:   0 <= spark__unsigned__byte__last .
H29:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) >= 
           spark__unsigned__byte__first) and (element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) <= 
           spark__unsigned__byte__last))) .
H30:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) >= 
           spark__unsigned__u64__first) and (element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) <= 
           spark__unsigned__u64__last))) .
H31:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H32:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H33:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= hash_bit_length__first .
H34:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= hash_bit_length__last .
H35:   true .
H36:   true .
H37:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u6__first .
H38:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u6__last .
H39:   true .
H40:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u7__first .
H41:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u7__last .
H42:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u16__first .
H43:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u16__last .
H44:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u32__first .
H45:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u32__last .
H46:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u64__first .
H47:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u64__last .
H48:   not (fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) < skein_512_block_bytes_c) .
H49:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) >= 
           spark__unsigned__byte__first) and (element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) <= 
           spark__unsigned__byte__last))) .
H50:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) >= 
           spark__unsigned__u64__first) and (element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) <= 
           spark__unsigned__u64__last))) .
H51:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H52:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H53:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= hash_bit_length__first .
H54:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= hash_bit_length__last .
H55:   true .
H56:   true .
H57:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u6__first .
H58:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u6__last .
H59:   true .
H60:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u7__first .
H61:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u7__last .
H62:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u16__first .
H63:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u16__last .
H64:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u32__first .
H65:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u32__last .
H66:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u64__first .
H67:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u64__last .
H68:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) >= 
           spark__unsigned__byte__first) and (element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) <= 
           spark__unsigned__byte__last))) .
H69:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) >= 
           spark__unsigned__u64__first) and (element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) <= 
           spark__unsigned__u64__last))) .
H70:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H71:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H72:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= hash_bit_length__first .
H73:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= hash_bit_length__last .
H74:   true .
H75:   true .
H76:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u6__first .
H77:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u6__last .
H78:   true .
H79:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u7__first .
H80:   fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u7__last .
H81:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u16__first .
H82:   fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u16__last .
H83:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u32__first .
H84:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u32__last .
H85:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u64__first .
H86:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u64__last .
H87:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H88:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H89:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) >= 
           spark__unsigned__byte__first) and (element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___2]) <= 
           spark__unsigned__byte__last))) .
H90:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) >= 
           spark__unsigned__u64__first) and (element(fld_x(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) <= 
           spark__unsigned__u64__last))) .
H91:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H92:   fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H93:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= hash_bit_length__first .
H94:   fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= hash_bit_length__last .
H95:   true .
H96:   true .
H97:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u6__first .
H98:   fld_field_type(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u6__last .
H99:   true .
H100:  fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u7__first .
H101:  fld_tree_level(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u7__last .
H102:  fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) >= spark__unsigned__u16__first .
H103:  fld_reserved(fld_tweak_words(fld_h(upf_h(ctx, upf_tweak_words(
           fld_h(ctx), upf_final_block(fld_tweak_words(fld_h(
           ctx)), true)))))) <= spark__unsigned__u16__last .
H104:  fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u32__first .
H105:  fld_byte_count_msb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u32__last .
H106:  fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) >= spark__unsigned__u64__first .
H107:  fld_byte_count_lsb(fld_tweak_words(fld_h(upf_h(ctx, 
           upf_tweak_words(fld_h(ctx), upf_final_block(fld_tweak_words(
           fld_h(ctx)), true)))))) <= spark__unsigned__u64__last .
H108:  for_all(i___1: integer, ((i___1 >= 
           skein_512_block_bytes_index__first) and (i___1 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) >= 
           spark__unsigned__byte__first) and (element(fld_b(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true)))), [i___1]) <= 
           spark__unsigned__byte__last))) .
H109:  fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H110:  fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H111:  fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= natural__first .
H112:  fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= natural__last .
H113:  1 >= positive_block_512_count_t__first .
H114:  1 <= positive_block_512_count_t__last .
H115:  0 >= natural__first .
H116:  0 <= natural__last .
H117:  fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= initialized_hash_bit_length__first .
H118:  fld_hash_bit_len(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= initialized_hash_bit_length__last .
H119:  fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) >= skein_512_block_bytes_count__first .
H120:  fld_byte_count(fld_h(upf_h(ctx, upf_tweak_words(fld_h(
           ctx), upf_final_block(fld_tweak_words(fld_h(ctx)), 
           true))))) <= skein_512_block_bytes_count__last .
H121:  skein_512_block_bytes_index__first = 0 .
H122:  0 + (1 - 1) * skein_512_block_bytes_c + 63 <= 
           skein_512_block_bytes_index__last .
H123:  0 + 63 <= skein_512_block_bytes_index__last .
H124:  skein_512_block_bytes_index__last <= natural__last .
H125:  0 <= natural__last - 63 .
H126:  fld_hash_bit_len(fld_h(local_ctx__2)) >= 
           initialized_hash_bit_length__first .
H127:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 
           initialized_hash_bit_length__last .
H128:  fld_hash_bit_len(fld_h(local_ctx__2)) = fld_hash_bit_len(fld_h(
           upf_h(ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true))))) .
H129:  fld_byte_count(fld_h(local_ctx__2)) >= 
           skein_512_block_bytes_count__first .
H130:  fld_byte_count(fld_h(local_ctx__2)) <= 
           skein_512_block_bytes_count__last .
H131:  fld_byte_count(fld_h(local_ctx__2)) = fld_byte_count(fld_h(upf_h(
           ctx, upf_tweak_words(fld_h(ctx), upf_final_block(
           fld_tweak_words(fld_h(ctx)), true))))) .
H132:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__2), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__2), [i___2]) <= 
           spark__unsigned__byte__last))) .
H133:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__2), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__2), [i___1]) <= 
           spark__unsigned__u64__last))) .
H134:  fld_byte_count(fld_h(local_ctx__2)) >= natural__first .
H135:  fld_byte_count(fld_h(local_ctx__2)) <= natural__last .
H136:  fld_hash_bit_len(fld_h(local_ctx__2)) >= 
           hash_bit_length__first .
H137:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 
           hash_bit_length__last .
H138:  true .
H139:  true .
H140:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u6__first .
H141:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u6__last .
H142:  true .
H143:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u7__first .
H144:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u7__last .
H145:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u16__first .
H146:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u16__last .
H147:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u32__first .
H148:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u32__last .
H149:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u64__first .
H150:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u64__last .
H151:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__2), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__2), [i___2]) <= 
           spark__unsigned__byte__last))) .
H152:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__2), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__2), [i___1]) <= 
           spark__unsigned__u64__last))) .
H153:  fld_byte_count(fld_h(local_ctx__2)) >= natural__first .
H154:  fld_byte_count(fld_h(local_ctx__2)) <= natural__last .
H155:  fld_hash_bit_len(fld_h(local_ctx__2)) >= 
           hash_bit_length__first .
H156:  fld_hash_bit_len(fld_h(local_ctx__2)) <= 
           hash_bit_length__last .
H157:  true .
H158:  true .
H159:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u6__first .
H160:  fld_field_type(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u6__last .
H161:  true .
H162:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u7__first .
H163:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u7__last .
H164:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u16__first .
H165:  fld_reserved(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u16__last .
H166:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u32__first .
H167:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u32__last .
H168:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) >= 
           spark__unsigned__u64__first .
H169:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__2))) <= 
           spark__unsigned__u64__last .
H170:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 >= 
           output_byte_count_t__first .
H171:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 <= 
           output_byte_count_t__last .
H172:  8 <> 0 .
H173:  fld_hash_bit_len(fld_h(local_ctx__2)) + 7 >= integer__base__first .
H174:  fld_hash_bit_len(fld_h(local_ctx__2)) + 7 <= integer__base__last .
H175:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 <= 
           result__index__subtype__1__last + 1 .
H176:  0 >= spark__unsigned__byte__first .
H177:  0 <= spark__unsigned__byte__last .
H178:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_b(
           local_ctx__2, mk__spark__crypto__byte_seq(0))), [
           i___2]) >= spark__unsigned__byte__first) and (element(fld_b(
           upf_b(local_ctx__2, mk__spark__crypto__byte_seq(0))), [
           i___2]) <= spark__unsigned__byte__last))) .
H179:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(upf_b(
           local_ctx__2, mk__spark__crypto__byte_seq(0))), [
           i___1]) >= spark__unsigned__u64__first) and (element(fld_x(
           upf_b(local_ctx__2, mk__spark__crypto__byte_seq(0))), [
           i___1]) <= spark__unsigned__u64__last))) .
H180:  fld_byte_count(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0)))) >= natural__first .
H181:  fld_byte_count(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0)))) <= natural__last .
H182:  fld_hash_bit_len(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0)))) >= 
           hash_bit_length__first .
H183:  fld_hash_bit_len(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0)))) <= 
           hash_bit_length__last .
H184:  true .
H185:  true .
H186:  fld_field_type(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) >= 
           spark__unsigned__u6__first .
H187:  fld_field_type(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) <= 
           spark__unsigned__u6__last .
H188:  true .
H189:  fld_tree_level(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) >= 
           spark__unsigned__u7__first .
H190:  fld_tree_level(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) <= 
           spark__unsigned__u7__last .
H191:  fld_reserved(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) >= 
           spark__unsigned__u16__first .
H192:  fld_reserved(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) <= 
           spark__unsigned__u16__last .
H193:  fld_byte_count_msb(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) >= 
           spark__unsigned__u32__first .
H194:  fld_byte_count_msb(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) <= 
           spark__unsigned__u32__last .
H195:  fld_byte_count_lsb(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) >= 
           spark__unsigned__u64__first .
H196:  fld_byte_count_lsb(fld_tweak_words(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0))))) <= 
           spark__unsigned__u64__last .
H197:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 >= 
           output_byte_count_t__first .
H198:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 <= 
           output_byte_count_t__last .
H199:  ((fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 + 63) div 64 >= 
           positive_output_block_count_t__first .
H200:  ((fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 + 63) div 64 <= 
           positive_output_block_count_t__last .
H201:  64 <> 0 .
H202:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 + 63 >= 
           integer__base__first .
H203:  (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 + 63 <= 
           integer__base__last .
H204:  0 >= output_block_count_t__first .
H205:  0 <= output_block_count_t__last .
        ->
C1:    fld_hash_bit_len(fld_h(upf_b(local_ctx__2, 
           mk__spark__crypto__byte_seq(0)))) > 0 .
C2:    (fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 <= 
           result__index__subtype__1__last + 1 .
C3:    0 * skein_512_block_bytes_c < (fld_hash_bit_len(fld_h(
           local_ctx__2)) + 7) div 8 .
C4:    0 * skein_512_block_bytes_c < 
           result__index__subtype__1__last + 1 .
C5:    0 < ((fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 + 63) div 
           64 .
C6:    ((fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 + 63) div 64 = ((
           fld_hash_bit_len(fld_h(local_ctx__2)) + 7) div 8 + 63) div 
           64 .
C7:    for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(ctx), [i___2]) <= spark__unsigned__byte__last))) .
C8:    for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(ctx), [i___1]) <= spark__unsigned__u64__last))) .
C9:    fld_byte_count(fld_h(ctx)) >= natural__first .
C10:   fld_byte_count(fld_h(ctx)) <= natural__last .
C11:   fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first .
C12:   fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last .
C13:   true .
C14:   true .
C15:   fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u6__first .
C16:   fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u6__last .
C17:   true .
C18:   fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u7__first .
C19:   fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u7__last .
C20:   fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u16__first .
C21:   fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u16__last .
C22:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u32__first .
C23:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u32__last .
C24:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u64__first .
C25:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u64__last .
C26:   fld_hash_bit_len(fld_h(ctx)) >= 
           initialized_hash_bit_length__first .
C27:   fld_hash_bit_len(fld_h(ctx)) <= 
           initialized_hash_bit_length__last .
C28:   fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_count__first .
C29:   fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_count__last .
C30:   result__index__subtype__1__first = 0 .
C31:   (fld_hash_bit_len(fld_h(ctx)) + 7) div 8 <= 
           result__index__subtype__1__last + 1 .
 

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:    blocks_done * skein_512_block_bytes_c < byte_count .
H4:    blocks_done * skein_512_block_bytes_c < 
           result__index__subtype__1__last + 1 .
H5:    blocks_done < blocks_required .
H6:    blocks_required = (byte_count + 63) div 64 .
H7:    for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(ctx), [i___2]) <= spark__unsigned__byte__last))) .
H8:    for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(ctx), [i___1]) <= spark__unsigned__u64__last))) .
H9:    fld_byte_count(fld_h(ctx)) >= natural__first .
H10:   fld_byte_count(fld_h(ctx)) <= natural__last .
H11:   fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first .
H12:   fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last .
H13:   true .
H14:   true .
H15:   fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u6__first .
H16:   fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u6__last .
H17:   true .
H18:   fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u7__first .
H19:   fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u7__last .
H20:   fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u16__first .
H21:   fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u16__last .
H22:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u32__first .
H23:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u32__last .
H24:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u64__first .
H25:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u64__last .
H26:   fld_hash_bit_len(fld_h(ctx)) >= 
           initialized_hash_bit_length__first .
H27:   fld_hash_bit_len(fld_h(ctx)) <= 
           initialized_hash_bit_length__last .
H28:   fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_count__first .
H29:   fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_count__last .
H30:   result__index__subtype__1__first = 0 .
H31:   (fld_hash_bit_len(fld_h(ctx)) + 7) div 8 <= 
           result__index__subtype__1__last + 1 .
H32:   blocks_done >= output_block_count_t__first .
H33:   blocks_done <= output_block_count_t__last .
H34:   blocks_done >= spark__unsigned__u64__first .
H35:   blocks_done <= spark__unsigned__u64__last .
H36:   fld_hash_bit_len(fld_h(local_ctx)) > 0 .
H37:   blocks_done >= spark__unsigned__u64__first .
H38:   blocks_done <= spark__unsigned__u64__last .
H39:   fld_hash_bit_len(fld_h(local_ctx__3)) > 0 .
H40:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__3), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__3), [i___2]) <= 
           spark__unsigned__byte__last))) .
H41:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__3), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__3), [i___1]) <= 
           spark__unsigned__u64__last))) .
H42:   fld_byte_count(fld_h(local_ctx__3)) >= natural__first .
H43:   fld_byte_count(fld_h(local_ctx__3)) <= natural__last .
H44:   fld_hash_bit_len(fld_h(local_ctx__3)) >= 
           hash_bit_length__first .
H45:   fld_hash_bit_len(fld_h(local_ctx__3)) <= 
           hash_bit_length__last .
H46:   true .
H47:   true .
H48:   fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u6__first .
H49:   fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u6__last .
H50:   true .
H51:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u7__first .
H52:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u7__last .
H53:   fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u16__first .
H54:   fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u16__last .
H55:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u32__first .
H56:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u32__last .
H57:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u64__first .
H58:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u64__last .
H59:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__3), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__3), [i___2]) <= 
           spark__unsigned__byte__last))) .
H60:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__3), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__3), [i___1]) <= 
           spark__unsigned__u64__last))) .
H61:   fld_byte_count(fld_h(local_ctx__3)) >= natural__first .
H62:   fld_byte_count(fld_h(local_ctx__3)) <= natural__last .
H63:   fld_hash_bit_len(fld_h(local_ctx__3)) >= 
           hash_bit_length__first .
H64:   fld_hash_bit_len(fld_h(local_ctx__3)) <= 
           hash_bit_length__last .
H65:   true .
H66:   true .
H67:   fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u6__first .
H68:   fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u6__last .
H69:   true .
H70:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u7__first .
H71:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u7__last .
H72:   fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u16__first .
H73:   fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u16__last .
H74:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u32__first .
H75:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u32__last .
H76:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u64__first .
H77:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u64__last .
H78:   skein_block_type_out >= spark__unsigned__u6__first .
H79:   skein_block_type_out <= spark__unsigned__u6__last .
H80:   fld_h(local_ctx__4) = upf_byte_count(upf_tweak_words(fld_h(
           local_ctx__3), 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)), 0) .
H81:   fld_hash_bit_len(fld_h(local_ctx__4)) = fld_hash_bit_len(fld_h(
           local_ctx__3)) .
H82:   fld_byte_count(fld_h(local_ctx__4)) = 0 .
H83:   fld_byte_count(fld_h(local_ctx__4)) >= natural__first .
H84:   fld_byte_count(fld_h(local_ctx__4)) <= natural__last .
H85:   fld_hash_bit_len(fld_h(local_ctx__4)) >= 
           hash_bit_length__first .
H86:   fld_hash_bit_len(fld_h(local_ctx__4)) <= 
           hash_bit_length__last .
H87:   true .
H88:   true .
H89:   fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u6__first .
H90:   fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u6__last .
H91:   true .
H92:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u7__first .
H93:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u7__last .
H94:   fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u16__first .
H95:   fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u16__last .
H96:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u32__first .
H97:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u32__last .
H98:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u64__first .
H99:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u64__last .
H100:  fld_x(local_ctx__4) = fld_x(local_ctx__3) .
H101:  fld_b(local_ctx__4) = fld_b(local_ctx__3) .
H102:  local_ctx__4 = upf_h(local_ctx__3, fld_h(local_ctx__4)) .
H103:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__4), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__4), [i___2]) <= 
           spark__unsigned__byte__last))) .
H104:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__4), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__4), [i___1]) <= 
           spark__unsigned__u64__last))) .
H105:  fld_byte_count(fld_h(local_ctx__4)) >= natural__first .
H106:  fld_byte_count(fld_h(local_ctx__4)) <= natural__last .
H107:  fld_hash_bit_len(fld_h(local_ctx__4)) >= 
           hash_bit_length__first .
H108:  fld_hash_bit_len(fld_h(local_ctx__4)) <= 
           hash_bit_length__last .
H109:  true .
H110:  true .
H111:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u6__first .
H112:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u6__last .
H113:  true .
H114:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u7__first .
H115:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u7__last .
H116:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u16__first .
H117:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u16__last .
H118:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u32__first .
H119:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u32__last .
H120:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u64__first .
H121:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u64__last .
H122:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__4), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__4), [i___2]) <= 
           spark__unsigned__byte__last))) .
H123:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__4), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__4), [i___1]) <= 
           spark__unsigned__u64__last))) .
H124:  fld_byte_count(fld_h(local_ctx__4)) >= natural__first .
H125:  fld_byte_count(fld_h(local_ctx__4)) <= natural__last .
H126:  fld_hash_bit_len(fld_h(local_ctx__4)) >= 
           hash_bit_length__first .
H127:  fld_hash_bit_len(fld_h(local_ctx__4)) <= 
           hash_bit_length__last .
H128:  true .
H129:  true .
H130:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u6__first .
H131:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u6__last .
H132:  true .
H133:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u7__first .
H134:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u7__last .
H135:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u16__first .
H136:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u16__last .
H137:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u32__first .
H138:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u32__last .
H139:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u64__first .
H140:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u64__last .
H141:  for_all(i___1: integer, ((i___1 >= 
           skein_512_block_bytes_index__first) and (i___1 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__4), [i___1]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__4), [i___1]) <= 
           spark__unsigned__byte__last))) .
H142:  8 >= natural__first .
H143:  8 <= natural__last .
H144:  1 >= positive_block_512_count_t__first .
H145:  1 <= positive_block_512_count_t__last .
H146:  0 >= natural__first .
H147:  0 <= natural__last .
H148:  fld_hash_bit_len(fld_h(local_ctx__4)) >= 
           initialized_hash_bit_length__first .
H149:  fld_hash_bit_len(fld_h(local_ctx__4)) <= 
           initialized_hash_bit_length__last .
H150:  fld_byte_count(fld_h(local_ctx__4)) >= 
           skein_512_block_bytes_count__first .
H151:  fld_byte_count(fld_h(local_ctx__4)) <= 
           skein_512_block_bytes_count__last .
H152:  skein_512_block_bytes_index__first = 0 .
H153:  0 + (1 - 1) * skein_512_block_bytes_c + 63 <= 
           skein_512_block_bytes_index__last .
H154:  0 + 63 <= skein_512_block_bytes_index__last .
H155:  skein_512_block_bytes_index__last <= natural__last .
H156:  0 <= natural__last - 63 .
H157:  fld_hash_bit_len(fld_h(local_ctx__5)) >= 
           initialized_hash_bit_length__first .
H158:  fld_hash_bit_len(fld_h(local_ctx__5)) <= 
           initialized_hash_bit_length__last .
H159:  fld_hash_bit_len(fld_h(local_ctx__5)) = fld_hash_bit_len(fld_h(
           local_ctx__4)) .
H160:  fld_byte_count(fld_h(local_ctx__5)) >= 
           skein_512_block_bytes_count__first .
H161:  fld_byte_count(fld_h(local_ctx__5)) <= 
           skein_512_block_bytes_count__last .
H162:  fld_byte_count(fld_h(local_ctx__5)) = fld_byte_count(fld_h(
           local_ctx__4)) .
H163:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__5), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__5), [i___2]) <= 
           spark__unsigned__byte__last))) .
H164:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__5), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__5), [i___1]) <= 
           spark__unsigned__u64__last))) .
H165:  fld_byte_count(fld_h(local_ctx__5)) >= natural__first .
H166:  fld_byte_count(fld_h(local_ctx__5)) <= natural__last .
H167:  fld_hash_bit_len(fld_h(local_ctx__5)) >= 
           hash_bit_length__first .
H168:  fld_hash_bit_len(fld_h(local_ctx__5)) <= 
           hash_bit_length__last .
H169:  true .
H170:  true .
H171:  fld_field_type(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u6__first .
H172:  fld_field_type(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u6__last .
H173:  true .
H174:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u7__first .
H175:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u7__last .
H176:  fld_reserved(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u16__first .
H177:  fld_reserved(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u16__last .
H178:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u32__first .
H179:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u32__last .
H180:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u64__first .
H181:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u64__last .
H182:  blocks_done >= output_block_count_t__first .
H183:  blocks_done <= output_block_count_t__last .
H184:  byte_count >= output_byte_count_t__first .
H185:  byte_count <= output_byte_count_t__last .
H186:  byte_count - blocks_done * skein_512_block_bytes_c >= 
           natural__first .
H187:  byte_count - blocks_done * skein_512_block_bytes_c <= 
           natural__last .
H188:  blocks_done * skein_512_block_bytes_c >= integer__base__first .
H189:  blocks_done * skein_512_block_bytes_c <= integer__base__last .
H190:  byte_count - blocks_done * skein_512_block_bytes_c >= 
           natural__first .
H191:  byte_count - blocks_done * skein_512_block_bytes_c <= 
           natural__last .
H192:  byte_count - blocks_done * skein_512_block_bytes_c >= 
           skein_512_block_bytes_c .
H193:  skein_512_block_bytes_c >= natural__first .
H194:  skein_512_block_bytes_c <= natural__last .
H195:  for_all(i___1: integer, ((i___1 >= 
           result__index__subtype__1__first) and (i___1 <= 
           result__index__subtype__1__last)) -> ((element(
           result, [i___1]) >= spark__unsigned__byte__first) and (element(
           result, [i___1]) <= spark__unsigned__byte__last))) .
H196:  blocks_done >= output_block_count_t__first .
H197:  blocks_done <= output_block_count_t__last .
H198:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__5), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__5), [i___2]) <= 
           spark__unsigned__byte__last))) .
H199:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__5), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__5), [i___1]) <= 
           spark__unsigned__u64__last))) .
H200:  fld_byte_count(fld_h(local_ctx__5)) >= natural__first .
H201:  fld_byte_count(fld_h(local_ctx__5)) <= natural__last .
H202:  fld_hash_bit_len(fld_h(local_ctx__5)) >= 
           hash_bit_length__first .
H203:  fld_hash_bit_len(fld_h(local_ctx__5)) <= 
           hash_bit_length__last .
H204:  true .
H205:  true .
H206:  fld_field_type(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u6__first .
H207:  fld_field_type(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u6__last .
H208:  true .
H209:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u7__first .
H210:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u7__last .
H211:  fld_reserved(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u16__first .
H212:  fld_reserved(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u16__last .
H213:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u32__first .
H214:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u32__last .
H215:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u64__first .
H216:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u64__last .
H217:  skein_512_block_bytes_c >= natural__first .
H218:  skein_512_block_bytes_c <= natural__last .
H219:  skein_512_block_bytes_c >= natural__first .
H220:  skein_512_block_bytes_c <= natural__last .
H221:  blocks_done * skein_512_block_bytes_c >= natural__first .
H222:  blocks_done * skein_512_block_bytes_c <= natural__last .
H223:  result__index__subtype__1__first = 0 .
H224:  skein_512_state_words_index__first = 0 .
H225:  result__index__subtype__1__last >= blocks_done * 
           skein_512_block_bytes_c + (
           skein_512_block_bytes_c - 1) .
H226:  skein_512_block_bytes_c <= (
           skein_512_state_words_index__last + 1) * 8 .
H227:  blocks_done * skein_512_block_bytes_c >= integer__base__first .
H228:  blocks_done * skein_512_block_bytes_c <= integer__base__last .
H229:  for_all(i___1: integer, ((i___1 >= 
           result__index__subtype__1__first) and (i___1 <= 
           result__index__subtype__1__last)) -> ((element(result__6, [
           i___1]) >= spark__unsigned__byte__first) and (element(
           result__6, [i___1]) <= spark__unsigned__byte__last))) .
H230:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(
           x, [i___1]) >= spark__unsigned__u64__first) and (element(
           x, [i___1]) <= spark__unsigned__u64__last))) .
H231:  blocks_done >= output_block_count_t__first .
H232:  blocks_done <= output_block_count_t__last .
H233:  blocks_done + 1 >= output_block_count_t__first .
H234:  blocks_done + 1 <= output_block_count_t__last .
H235:  blocks_done + 1 >= output_block_count_t__first .
H236:  blocks_done + 1 <= output_block_count_t__last .
H237:  blocks_required >= positive_output_block_count_t__first .
H238:  blocks_required <= positive_output_block_count_t__last .
H239:  not (blocks_done + 1 >= blocks_required) .
        ->
C1:    fld_hash_bit_len(fld_h(upf_x(local_ctx__5, x))) > 0 .
C2:    byte_count <= result__index__subtype__1__last + 1 .
C3:    (blocks_done + 1) * skein_512_block_bytes_c < 
           byte_count .
C4:    (blocks_done + 1) * skein_512_block_bytes_c < 
           result__index__subtype__1__last + 1 .
C5:    blocks_done + 1 < blocks_required .
C6:    blocks_required = (byte_count + 63) div 64 .
C7:    for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(ctx), [i___2]) <= spark__unsigned__byte__last))) .
C8:    for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(ctx), [i___1]) <= spark__unsigned__u64__last))) .
C9:    fld_byte_count(fld_h(ctx)) >= natural__first .
C10:   fld_byte_count(fld_h(ctx)) <= natural__last .
C11:   fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first .
C12:   fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last .
C13:   true .
C14:   true .
C15:   fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u6__first .
C16:   fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u6__last .
C17:   true .
C18:   fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u7__first .
C19:   fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u7__last .
C20:   fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u16__first .
C21:   fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u16__last .
C22:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u32__first .
C23:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u32__last .
C24:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u64__first .
C25:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u64__last .
C26:   fld_hash_bit_len(fld_h(ctx)) >= 
           initialized_hash_bit_length__first .
C27:   fld_hash_bit_len(fld_h(ctx)) <= 
           initialized_hash_bit_length__last .
C28:   fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_count__first .
C29:   fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_count__last .
C30:   result__index__subtype__1__first = 0 .
C31:   (fld_hash_bit_len(fld_h(ctx)) + 7) div 8 <= 
           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 * skein_512_block_bytes_c < byte_count .
H4:    blocks_done * skein_512_block_bytes_c < 
           result__index__subtype__1__last + 1 .
H5:    blocks_done < blocks_required .
H6:    blocks_required = (byte_count + 63) div 64 .
H7:    for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(ctx), [i___2]) <= spark__unsigned__byte__last))) .
H8:    for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(ctx), [i___1]) <= spark__unsigned__u64__last))) .
H9:    fld_byte_count(fld_h(ctx)) >= natural__first .
H10:   fld_byte_count(fld_h(ctx)) <= natural__last .
H11:   fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first .
H12:   fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last .
H13:   true .
H14:   true .
H15:   fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u6__first .
H16:   fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u6__last .
H17:   true .
H18:   fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u7__first .
H19:   fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u7__last .
H20:   fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u16__first .
H21:   fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u16__last .
H22:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u32__first .
H23:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u32__last .
H24:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u64__first .
H25:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u64__last .
H26:   fld_hash_bit_len(fld_h(ctx)) >= 
           initialized_hash_bit_length__first .
H27:   fld_hash_bit_len(fld_h(ctx)) <= 
           initialized_hash_bit_length__last .
H28:   fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_count__first .
H29:   fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_count__last .
H30:   result__index__subtype__1__first = 0 .
H31:   (fld_hash_bit_len(fld_h(ctx)) + 7) div 8 <= 
           result__index__subtype__1__last + 1 .
H32:   blocks_done >= output_block_count_t__first .
H33:   blocks_done <= output_block_count_t__last .
H34:   blocks_done >= spark__unsigned__u64__first .
H35:   blocks_done <= spark__unsigned__u64__last .
H36:   fld_hash_bit_len(fld_h(local_ctx)) > 0 .
H37:   blocks_done >= spark__unsigned__u64__first .
H38:   blocks_done <= spark__unsigned__u64__last .
H39:   fld_hash_bit_len(fld_h(local_ctx__3)) > 0 .
H40:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__3), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__3), [i___2]) <= 
           spark__unsigned__byte__last))) .
H41:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__3), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__3), [i___1]) <= 
           spark__unsigned__u64__last))) .
H42:   fld_byte_count(fld_h(local_ctx__3)) >= natural__first .
H43:   fld_byte_count(fld_h(local_ctx__3)) <= natural__last .
H44:   fld_hash_bit_len(fld_h(local_ctx__3)) >= 
           hash_bit_length__first .
H45:   fld_hash_bit_len(fld_h(local_ctx__3)) <= 
           hash_bit_length__last .
H46:   true .
H47:   true .
H48:   fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u6__first .
H49:   fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u6__last .
H50:   true .
H51:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u7__first .
H52:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u7__last .
H53:   fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u16__first .
H54:   fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u16__last .
H55:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u32__first .
H56:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u32__last .
H57:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u64__first .
H58:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u64__last .
H59:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__3), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__3), [i___2]) <= 
           spark__unsigned__byte__last))) .
H60:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__3), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__3), [i___1]) <= 
           spark__unsigned__u64__last))) .
H61:   fld_byte_count(fld_h(local_ctx__3)) >= natural__first .
H62:   fld_byte_count(fld_h(local_ctx__3)) <= natural__last .
H63:   fld_hash_bit_len(fld_h(local_ctx__3)) >= 
           hash_bit_length__first .
H64:   fld_hash_bit_len(fld_h(local_ctx__3)) <= 
           hash_bit_length__last .
H65:   true .
H66:   true .
H67:   fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u6__first .
H68:   fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u6__last .
H69:   true .
H70:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u7__first .
H71:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u7__last .
H72:   fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u16__first .
H73:   fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u16__last .
H74:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u32__first .
H75:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u32__last .
H76:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u64__first .
H77:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u64__last .
H78:   skein_block_type_out >= spark__unsigned__u6__first .
H79:   skein_block_type_out <= spark__unsigned__u6__last .
H80:   fld_h(local_ctx__4) = upf_byte_count(upf_tweak_words(fld_h(
           local_ctx__3), 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)), 0) .
H81:   fld_hash_bit_len(fld_h(local_ctx__4)) = fld_hash_bit_len(fld_h(
           local_ctx__3)) .
H82:   fld_byte_count(fld_h(local_ctx__4)) = 0 .
H83:   fld_byte_count(fld_h(local_ctx__4)) >= natural__first .
H84:   fld_byte_count(fld_h(local_ctx__4)) <= natural__last .
H85:   fld_hash_bit_len(fld_h(local_ctx__4)) >= 
           hash_bit_length__first .
H86:   fld_hash_bit_len(fld_h(local_ctx__4)) <= 
           hash_bit_length__last .
H87:   true .
H88:   true .
H89:   fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u6__first .
H90:   fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u6__last .
H91:   true .
H92:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u7__first .
H93:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u7__last .
H94:   fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u16__first .
H95:   fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u16__last .
H96:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u32__first .
H97:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u32__last .
H98:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u64__first .
H99:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u64__last .
H100:  fld_x(local_ctx__4) = fld_x(local_ctx__3) .
H101:  fld_b(local_ctx__4) = fld_b(local_ctx__3) .
H102:  local_ctx__4 = upf_h(local_ctx__3, fld_h(local_ctx__4)) .
H103:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__4), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__4), [i___2]) <= 
           spark__unsigned__byte__last))) .
H104:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__4), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__4), [i___1]) <= 
           spark__unsigned__u64__last))) .
H105:  fld_byte_count(fld_h(local_ctx__4)) >= natural__first .
H106:  fld_byte_count(fld_h(local_ctx__4)) <= natural__last .
H107:  fld_hash_bit_len(fld_h(local_ctx__4)) >= 
           hash_bit_length__first .
H108:  fld_hash_bit_len(fld_h(local_ctx__4)) <= 
           hash_bit_length__last .
H109:  true .
H110:  true .
H111:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u6__first .
H112:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u6__last .
H113:  true .
H114:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u7__first .
H115:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u7__last .
H116:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u16__first .
H117:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u16__last .
H118:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u32__first .
H119:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u32__last .
H120:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u64__first .
H121:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u64__last .
H122:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__4), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__4), [i___2]) <= 
           spark__unsigned__byte__last))) .
H123:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__4), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__4), [i___1]) <= 
           spark__unsigned__u64__last))) .
H124:  fld_byte_count(fld_h(local_ctx__4)) >= natural__first .
H125:  fld_byte_count(fld_h(local_ctx__4)) <= natural__last .
H126:  fld_hash_bit_len(fld_h(local_ctx__4)) >= 
           hash_bit_length__first .
H127:  fld_hash_bit_len(fld_h(local_ctx__4)) <= 
           hash_bit_length__last .
H128:  true .
H129:  true .
H130:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u6__first .
H131:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u6__last .
H132:  true .
H133:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u7__first .
H134:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u7__last .
H135:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u16__first .
H136:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u16__last .
H137:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u32__first .
H138:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u32__last .
H139:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u64__first .
H140:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u64__last .
H141:  for_all(i___1: integer, ((i___1 >= 
           skein_512_block_bytes_index__first) and (i___1 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__4), [i___1]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__4), [i___1]) <= 
           spark__unsigned__byte__last))) .
H142:  8 >= natural__first .
H143:  8 <= natural__last .
H144:  1 >= positive_block_512_count_t__first .
H145:  1 <= positive_block_512_count_t__last .
H146:  0 >= natural__first .
H147:  0 <= natural__last .
H148:  fld_hash_bit_len(fld_h(local_ctx__4)) >= 
           initialized_hash_bit_length__first .
H149:  fld_hash_bit_len(fld_h(local_ctx__4)) <= 
           initialized_hash_bit_length__last .
H150:  fld_byte_count(fld_h(local_ctx__4)) >= 
           skein_512_block_bytes_count__first .
H151:  fld_byte_count(fld_h(local_ctx__4)) <= 
           skein_512_block_bytes_count__last .
H152:  skein_512_block_bytes_index__first = 0 .
H153:  0 + (1 - 1) * skein_512_block_bytes_c + 63 <= 
           skein_512_block_bytes_index__last .
H154:  0 + 63 <= skein_512_block_bytes_index__last .
H155:  skein_512_block_bytes_index__last <= natural__last .
H156:  0 <= natural__last - 63 .
H157:  fld_hash_bit_len(fld_h(local_ctx__5)) >= 
           initialized_hash_bit_length__first .
H158:  fld_hash_bit_len(fld_h(local_ctx__5)) <= 
           initialized_hash_bit_length__last .
H159:  fld_hash_bit_len(fld_h(local_ctx__5)) = fld_hash_bit_len(fld_h(
           local_ctx__4)) .
H160:  fld_byte_count(fld_h(local_ctx__5)) >= 
           skein_512_block_bytes_count__first .
H161:  fld_byte_count(fld_h(local_ctx__5)) <= 
           skein_512_block_bytes_count__last .
H162:  fld_byte_count(fld_h(local_ctx__5)) = fld_byte_count(fld_h(
           local_ctx__4)) .
H163:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__5), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__5), [i___2]) <= 
           spark__unsigned__byte__last))) .
H164:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__5), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__5), [i___1]) <= 
           spark__unsigned__u64__last))) .
H165:  fld_byte_count(fld_h(local_ctx__5)) >= natural__first .
H166:  fld_byte_count(fld_h(local_ctx__5)) <= natural__last .
H167:  fld_hash_bit_len(fld_h(local_ctx__5)) >= 
           hash_bit_length__first .
H168:  fld_hash_bit_len(fld_h(local_ctx__5)) <= 
           hash_bit_length__last .
H169:  true .
H170:  true .
H171:  fld_field_type(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u6__first .
H172:  fld_field_type(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u6__last .
H173:  true .
H174:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u7__first .
H175:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u7__last .
H176:  fld_reserved(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u16__first .
H177:  fld_reserved(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u16__last .
H178:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u32__first .
H179:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u32__last .
H180:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u64__first .
H181:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u64__last .
H182:  blocks_done >= output_block_count_t__first .
H183:  blocks_done <= output_block_count_t__last .
H184:  byte_count >= output_byte_count_t__first .
H185:  byte_count <= output_byte_count_t__last .
H186:  byte_count - blocks_done * skein_512_block_bytes_c >= 
           natural__first .
H187:  byte_count - blocks_done * skein_512_block_bytes_c <= 
           natural__last .
H188:  blocks_done * skein_512_block_bytes_c >= integer__base__first .
H189:  blocks_done * skein_512_block_bytes_c <= integer__base__last .
H190:  byte_count - blocks_done * skein_512_block_bytes_c >= 
           natural__first .
H191:  byte_count - blocks_done * skein_512_block_bytes_c <= 
           natural__last .
H192:  not (byte_count - blocks_done * 
           skein_512_block_bytes_c >= 
           skein_512_block_bytes_c) .
H193:  for_all(i___1: integer, ((i___1 >= 
           result__index__subtype__1__first) and (i___1 <= 
           result__index__subtype__1__last)) -> ((element(
           result, [i___1]) >= spark__unsigned__byte__first) and (element(
           result, [i___1]) <= spark__unsigned__byte__last))) .
H194:  blocks_done >= output_block_count_t__first .
H195:  blocks_done <= output_block_count_t__last .
H196:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__5), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__5), [i___2]) <= 
           spark__unsigned__byte__last))) .
H197:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__5), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__5), [i___1]) <= 
           spark__unsigned__u64__last))) .
H198:  fld_byte_count(fld_h(local_ctx__5)) >= natural__first .
H199:  fld_byte_count(fld_h(local_ctx__5)) <= natural__last .
H200:  fld_hash_bit_len(fld_h(local_ctx__5)) >= 
           hash_bit_length__first .
H201:  fld_hash_bit_len(fld_h(local_ctx__5)) <= 
           hash_bit_length__last .
H202:  true .
H203:  true .
H204:  fld_field_type(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u6__first .
H205:  fld_field_type(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u6__last .
H206:  true .
H207:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u7__first .
H208:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u7__last .
H209:  fld_reserved(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u16__first .
H210:  fld_reserved(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u16__last .
H211:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u32__first .
H212:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u32__last .
H213:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u64__first .
H214:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u64__last .
H215:  byte_count - blocks_done * skein_512_block_bytes_c >= 
           natural__first .
H216:  byte_count - blocks_done * skein_512_block_bytes_c <= 
           natural__last .
H217:  byte_count - blocks_done * skein_512_block_bytes_c >= 
           natural__first .
H218:  byte_count - blocks_done * skein_512_block_bytes_c <= 
           natural__last .
H219:  blocks_done * skein_512_block_bytes_c >= natural__first .
H220:  blocks_done * skein_512_block_bytes_c <= natural__last .
H221:  result__index__subtype__1__first = 0 .
H222:  skein_512_state_words_index__first = 0 .
H223:  result__index__subtype__1__last >= blocks_done * 
           skein_512_block_bytes_c + (byte_count - 
           blocks_done * skein_512_block_bytes_c - 1) .
H224:  byte_count - blocks_done * skein_512_block_bytes_c <= (
           skein_512_state_words_index__last + 1) * 8 .
H225:  blocks_done * skein_512_block_bytes_c >= integer__base__first .
H226:  blocks_done * skein_512_block_bytes_c <= integer__base__last .
H227:  for_all(i___1: integer, ((i___1 >= 
           result__index__subtype__1__first) and (i___1 <= 
           result__index__subtype__1__last)) -> ((element(result__6, [
           i___1]) >= spark__unsigned__byte__first) and (element(
           result__6, [i___1]) <= spark__unsigned__byte__last))) .
H228:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(
           x, [i___1]) >= spark__unsigned__u64__first) and (element(
           x, [i___1]) <= spark__unsigned__u64__last))) .
H229:  blocks_done >= output_block_count_t__first .
H230:  blocks_done <= output_block_count_t__last .
H231:  blocks_done + 1 >= output_block_count_t__first .
H232:  blocks_done + 1 <= output_block_count_t__last .
H233:  blocks_done + 1 >= output_block_count_t__first .
H234:  blocks_done + 1 <= output_block_count_t__last .
H235:  blocks_required >= positive_output_block_count_t__first .
H236:  blocks_required <= positive_output_block_count_t__last .
H237:  not (blocks_done + 1 >= blocks_required) .
        ->
C1:    fld_hash_bit_len(fld_h(upf_x(local_ctx__5, x))) > 0 .
C2:    byte_count <= result__index__subtype__1__last + 1 .
C3:    (blocks_done + 1) * skein_512_block_bytes_c < 
           byte_count .
C4:    (blocks_done + 1) * skein_512_block_bytes_c < 
           result__index__subtype__1__last + 1 .
C5:    blocks_done + 1 < blocks_required .
C6:    blocks_required = (byte_count + 63) div 64 .
C7:    for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(ctx), [i___2]) <= spark__unsigned__byte__last))) .
C8:    for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(ctx), [i___1]) <= spark__unsigned__u64__last))) .
C9:    fld_byte_count(fld_h(ctx)) >= natural__first .
C10:   fld_byte_count(fld_h(ctx)) <= natural__last .
C11:   fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first .
C12:   fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last .
C13:   true .
C14:   true .
C15:   fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u6__first .
C16:   fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u6__last .
C17:   true .
C18:   fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u7__first .
C19:   fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u7__last .
C20:   fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u16__first .
C21:   fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u16__last .
C22:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u32__first .
C23:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u32__last .
C24:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u64__first .
C25:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u64__last .
C26:   fld_hash_bit_len(fld_h(ctx)) >= 
           initialized_hash_bit_length__first .
C27:   fld_hash_bit_len(fld_h(ctx)) <= 
           initialized_hash_bit_length__last .
C28:   fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_count__first .
C29:   fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_count__last .
C30:   result__index__subtype__1__first = 0 .
C31:   (fld_hash_bit_len(fld_h(ctx)) + 7) div 8 <= 
           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.
H1:    fld_hash_bit_len(fld_h(local_ctx)) > 0 .
H2:    byte_count <= result__index__subtype__1__last + 1 .
H3:    blocks_done * skein_512_block_bytes_c < byte_count .
H4:    blocks_done * skein_512_block_bytes_c < 
           result__index__subtype__1__last + 1 .
H5:    blocks_done < blocks_required .
H6:    blocks_required = (byte_count + 63) div 64 .
H7:    for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(ctx), [i___2]) <= spark__unsigned__byte__last))) .
H8:    for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(ctx), [i___1]) <= spark__unsigned__u64__last))) .
H9:    fld_byte_count(fld_h(ctx)) >= natural__first .
H10:   fld_byte_count(fld_h(ctx)) <= natural__last .
H11:   fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first .
H12:   fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last .
H13:   true .
H14:   true .
H15:   fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u6__first .
H16:   fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u6__last .
H17:   true .
H18:   fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u7__first .
H19:   fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u7__last .
H20:   fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u16__first .
H21:   fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u16__last .
H22:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u32__first .
H23:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u32__last .
H24:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u64__first .
H25:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u64__last .
H26:   fld_hash_bit_len(fld_h(ctx)) >= 
           initialized_hash_bit_length__first .
H27:   fld_hash_bit_len(fld_h(ctx)) <= 
           initialized_hash_bit_length__last .
H28:   fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_count__first .
H29:   fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_count__last .
H30:   result__index__subtype__1__first = 0 .
H31:   (fld_hash_bit_len(fld_h(ctx)) + 7) div 8 <= 
           result__index__subtype__1__last + 1 .
H32:   blocks_done >= output_block_count_t__first .
H33:   blocks_done <= output_block_count_t__last .
        ->
C1:    blocks_done >= spark__unsigned__u64__first .
C2:    blocks_done <= spark__unsigned__u64__last .
C3:    fld_hash_bit_len(fld_h(local_ctx)) > 0 .
C4:    blocks_done >= spark__unsigned__u64__first .
C5:    blocks_done <= spark__unsigned__u64__last .
 

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

procedure_skein_512_final_23.
H1:    fld_hash_bit_len(fld_h(local_ctx)) > 0 .
H2:    byte_count <= result__index__subtype__1__last + 1 .
H3:    blocks_done * skein_512_block_bytes_c < byte_count .
H4:    blocks_done * skein_512_block_bytes_c < 
           result__index__subtype__1__last + 1 .
H5:    blocks_done < blocks_required .
H6:    blocks_required = (byte_count + 63) div 64 .
H7:    for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(ctx), [i___2]) <= spark__unsigned__byte__last))) .
H8:    for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(ctx), [i___1]) <= spark__unsigned__u64__last))) .
H9:    fld_byte_count(fld_h(ctx)) >= natural__first .
H10:   fld_byte_count(fld_h(ctx)) <= natural__last .
H11:   fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first .
H12:   fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last .
H13:   true .
H14:   true .
H15:   fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u6__first .
H16:   fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u6__last .
H17:   true .
H18:   fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u7__first .
H19:   fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u7__last .
H20:   fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u16__first .
H21:   fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u16__last .
H22:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u32__first .
H23:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u32__last .
H24:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u64__first .
H25:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u64__last .
H26:   fld_hash_bit_len(fld_h(ctx)) >= 
           initialized_hash_bit_length__first .
H27:   fld_hash_bit_len(fld_h(ctx)) <= 
           initialized_hash_bit_length__last .
H28:   fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_count__first .
H29:   fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_count__last .
H30:   result__index__subtype__1__first = 0 .
H31:   (fld_hash_bit_len(fld_h(ctx)) + 7) div 8 <= 
           result__index__subtype__1__last + 1 .
H32:   blocks_done >= output_block_count_t__first .
H33:   blocks_done <= output_block_count_t__last .
H34:   blocks_done >= spark__unsigned__u64__first .
H35:   blocks_done <= spark__unsigned__u64__last .
H36:   fld_hash_bit_len(fld_h(local_ctx)) > 0 .
H37:   blocks_done >= spark__unsigned__u64__first .
H38:   blocks_done <= spark__unsigned__u64__last .
H39:   fld_hash_bit_len(fld_h(local_ctx__3)) > 0 .
H40:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__3), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__3), [i___2]) <= 
           spark__unsigned__byte__last))) .
H41:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__3), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__3), [i___1]) <= 
           spark__unsigned__u64__last))) .
H42:   fld_byte_count(fld_h(local_ctx__3)) >= natural__first .
H43:   fld_byte_count(fld_h(local_ctx__3)) <= natural__last .
H44:   fld_hash_bit_len(fld_h(local_ctx__3)) >= 
           hash_bit_length__first .
H45:   fld_hash_bit_len(fld_h(local_ctx__3)) <= 
           hash_bit_length__last .
H46:   true .
H47:   true .
H48:   fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u6__first .
H49:   fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u6__last .
H50:   true .
H51:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u7__first .
H52:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u7__last .
H53:   fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u16__first .
H54:   fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u16__last .
H55:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u32__first .
H56:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u32__last .
H57:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u64__first .
H58:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u64__last .
H59:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__3), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__3), [i___2]) <= 
           spark__unsigned__byte__last))) .
H60:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__3), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__3), [i___1]) <= 
           spark__unsigned__u64__last))) .
H61:   fld_byte_count(fld_h(local_ctx__3)) >= natural__first .
H62:   fld_byte_count(fld_h(local_ctx__3)) <= natural__last .
H63:   fld_hash_bit_len(fld_h(local_ctx__3)) >= 
           hash_bit_length__first .
H64:   fld_hash_bit_len(fld_h(local_ctx__3)) <= 
           hash_bit_length__last .
H65:   true .
H66:   true .
H67:   fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u6__first .
H68:   fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u6__last .
H69:   true .
H70:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u7__first .
H71:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u7__last .
H72:   fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u16__first .
H73:   fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u16__last .
H74:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u32__first .
H75:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u32__last .
H76:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u64__first .
H77:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u64__last .
        ->
C1:    skein_block_type_out >= spark__unsigned__u6__first .
C2:    skein_block_type_out <= spark__unsigned__u6__last .
 

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

procedure_skein_512_final_24.
H1:    fld_hash_bit_len(fld_h(local_ctx)) > 0 .
H2:    byte_count <= result__index__subtype__1__last + 1 .
H3:    blocks_done * skein_512_block_bytes_c < byte_count .
H4:    blocks_done * skein_512_block_bytes_c < 
           result__index__subtype__1__last + 1 .
H5:    blocks_done < blocks_required .
H6:    blocks_required = (byte_count + 63) div 64 .
H7:    for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(ctx), [i___2]) <= spark__unsigned__byte__last))) .
H8:    for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(ctx), [i___1]) <= spark__unsigned__u64__last))) .
H9:    fld_byte_count(fld_h(ctx)) >= natural__first .
H10:   fld_byte_count(fld_h(ctx)) <= natural__last .
H11:   fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first .
H12:   fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last .
H13:   true .
H14:   true .
H15:   fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u6__first .
H16:   fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u6__last .
H17:   true .
H18:   fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u7__first .
H19:   fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u7__last .
H20:   fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u16__first .
H21:   fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u16__last .
H22:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u32__first .
H23:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u32__last .
H24:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u64__first .
H25:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u64__last .
H26:   fld_hash_bit_len(fld_h(ctx)) >= 
           initialized_hash_bit_length__first .
H27:   fld_hash_bit_len(fld_h(ctx)) <= 
           initialized_hash_bit_length__last .
H28:   fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_count__first .
H29:   fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_count__last .
H30:   result__index__subtype__1__first = 0 .
H31:   (fld_hash_bit_len(fld_h(ctx)) + 7) div 8 <= 
           result__index__subtype__1__last + 1 .
H32:   blocks_done >= output_block_count_t__first .
H33:   blocks_done <= output_block_count_t__last .
H34:   blocks_done >= spark__unsigned__u64__first .
H35:   blocks_done <= spark__unsigned__u64__last .
H36:   fld_hash_bit_len(fld_h(local_ctx)) > 0 .
H37:   blocks_done >= spark__unsigned__u64__first .
H38:   blocks_done <= spark__unsigned__u64__last .
H39:   fld_hash_bit_len(fld_h(local_ctx__3)) > 0 .
H40:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__3), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__3), [i___2]) <= 
           spark__unsigned__byte__last))) .
H41:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__3), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__3), [i___1]) <= 
           spark__unsigned__u64__last))) .
H42:   fld_byte_count(fld_h(local_ctx__3)) >= natural__first .
H43:   fld_byte_count(fld_h(local_ctx__3)) <= natural__last .
H44:   fld_hash_bit_len(fld_h(local_ctx__3)) >= 
           hash_bit_length__first .
H45:   fld_hash_bit_len(fld_h(local_ctx__3)) <= 
           hash_bit_length__last .
H46:   true .
H47:   true .
H48:   fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u6__first .
H49:   fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u6__last .
H50:   true .
H51:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u7__first .
H52:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u7__last .
H53:   fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u16__first .
H54:   fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u16__last .
H55:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u32__first .
H56:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u32__last .
H57:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u64__first .
H58:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u64__last .
H59:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__3), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__3), [i___2]) <= 
           spark__unsigned__byte__last))) .
H60:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__3), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__3), [i___1]) <= 
           spark__unsigned__u64__last))) .
H61:   fld_byte_count(fld_h(local_ctx__3)) >= natural__first .
H62:   fld_byte_count(fld_h(local_ctx__3)) <= natural__last .
H63:   fld_hash_bit_len(fld_h(local_ctx__3)) >= 
           hash_bit_length__first .
H64:   fld_hash_bit_len(fld_h(local_ctx__3)) <= 
           hash_bit_length__last .
H65:   true .
H66:   true .
H67:   fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u6__first .
H68:   fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u6__last .
H69:   true .
H70:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u7__first .
H71:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u7__last .
H72:   fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u16__first .
H73:   fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u16__last .
H74:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u32__first .
H75:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u32__last .
H76:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u64__first .
H77:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u64__last .
H78:   skein_block_type_out >= spark__unsigned__u6__first .
H79:   skein_block_type_out <= spark__unsigned__u6__last .
H80:   fld_h(local_ctx__4) = upf_byte_count(upf_tweak_words(fld_h(
           local_ctx__3), 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)), 0) .
H81:   fld_hash_bit_len(fld_h(local_ctx__4)) = fld_hash_bit_len(fld_h(
           local_ctx__3)) .
H82:   fld_byte_count(fld_h(local_ctx__4)) = 0 .
H83:   fld_byte_count(fld_h(local_ctx__4)) >= natural__first .
H84:   fld_byte_count(fld_h(local_ctx__4)) <= natural__last .
H85:   fld_hash_bit_len(fld_h(local_ctx__4)) >= 
           hash_bit_length__first .
H86:   fld_hash_bit_len(fld_h(local_ctx__4)) <= 
           hash_bit_length__last .
H87:   true .
H88:   true .
H89:   fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u6__first .
H90:   fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u6__last .
H91:   true .
H92:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u7__first .
H93:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u7__last .
H94:   fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u16__first .
H95:   fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u16__last .
H96:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u32__first .
H97:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u32__last .
H98:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u64__first .
H99:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u64__last .
H100:  fld_x(local_ctx__4) = fld_x(local_ctx__3) .
H101:  fld_b(local_ctx__4) = fld_b(local_ctx__3) .
H102:  local_ctx__4 = upf_h(local_ctx__3, fld_h(local_ctx__4)) .
H103:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__4), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__4), [i___2]) <= 
           spark__unsigned__byte__last))) .
H104:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__4), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__4), [i___1]) <= 
           spark__unsigned__u64__last))) .
H105:  fld_byte_count(fld_h(local_ctx__4)) >= natural__first .
H106:  fld_byte_count(fld_h(local_ctx__4)) <= natural__last .
H107:  fld_hash_bit_len(fld_h(local_ctx__4)) >= 
           hash_bit_length__first .
H108:  fld_hash_bit_len(fld_h(local_ctx__4)) <= 
           hash_bit_length__last .
H109:  true .
H110:  true .
H111:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u6__first .
H112:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u6__last .
H113:  true .
H114:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u7__first .
H115:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u7__last .
H116:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u16__first .
H117:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u16__last .
H118:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u32__first .
H119:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u32__last .
H120:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u64__first .
H121:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u64__last .
H122:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__4), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__4), [i___2]) <= 
           spark__unsigned__byte__last))) .
H123:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__4), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__4), [i___1]) <= 
           spark__unsigned__u64__last))) .
H124:  fld_byte_count(fld_h(local_ctx__4)) >= natural__first .
H125:  fld_byte_count(fld_h(local_ctx__4)) <= natural__last .
H126:  fld_hash_bit_len(fld_h(local_ctx__4)) >= 
           hash_bit_length__first .
H127:  fld_hash_bit_len(fld_h(local_ctx__4)) <= 
           hash_bit_length__last .
H128:  true .
H129:  true .
H130:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u6__first .
H131:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u6__last .
H132:  true .
H133:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u7__first .
H134:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u7__last .
H135:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u16__first .
H136:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u16__last .
H137:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u32__first .
H138:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u32__last .
H139:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u64__first .
H140:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u64__last .
H141:  for_all(i___1: integer, ((i___1 >= 
           skein_512_block_bytes_index__first) and (i___1 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__4), [i___1]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__4), [i___1]) <= 
           spark__unsigned__byte__last))) .
        ->
C1:    8 >= natural__first .
C2:    8 <= natural__last .
C3:    1 >= positive_block_512_count_t__first .
C4:    1 <= positive_block_512_count_t__last .
C5:    0 >= natural__first .
C6:    0 <= natural__last .
C7:    fld_hash_bit_len(fld_h(local_ctx__4)) >= 
           initialized_hash_bit_length__first .
C8:    fld_hash_bit_len(fld_h(local_ctx__4)) <= 
           initialized_hash_bit_length__last .
C9:    fld_byte_count(fld_h(local_ctx__4)) >= 
           skein_512_block_bytes_count__first .
C10:   fld_byte_count(fld_h(local_ctx__4)) <= 
           skein_512_block_bytes_count__last .
C11:   skein_512_block_bytes_index__first = 0 .
C12:   0 + (1 - 1) * skein_512_block_bytes_c + 63 <= 
           skein_512_block_bytes_index__last .
C13:   0 + 63 <= skein_512_block_bytes_index__last .
C14:   skein_512_block_bytes_index__last <= natural__last .
C15:   0 <= natural__last - 63 .
 

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

procedure_skein_512_final_25.
H1:    fld_hash_bit_len(fld_h(local_ctx)) > 0 .
H2:    byte_count <= result__index__subtype__1__last + 1 .
H3:    blocks_done * skein_512_block_bytes_c < byte_count .
H4:    blocks_done * skein_512_block_bytes_c < 
           result__index__subtype__1__last + 1 .
H5:    blocks_done < blocks_required .
H6:    blocks_required = (byte_count + 63) div 64 .
H7:    for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(ctx), [i___2]) <= spark__unsigned__byte__last))) .
H8:    for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(ctx), [i___1]) <= spark__unsigned__u64__last))) .
H9:    fld_byte_count(fld_h(ctx)) >= natural__first .
H10:   fld_byte_count(fld_h(ctx)) <= natural__last .
H11:   fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first .
H12:   fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last .
H13:   true .
H14:   true .
H15:   fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u6__first .
H16:   fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u6__last .
H17:   true .
H18:   fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u7__first .
H19:   fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u7__last .
H20:   fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u16__first .
H21:   fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u16__last .
H22:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u32__first .
H23:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u32__last .
H24:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u64__first .
H25:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u64__last .
H26:   fld_hash_bit_len(fld_h(ctx)) >= 
           initialized_hash_bit_length__first .
H27:   fld_hash_bit_len(fld_h(ctx)) <= 
           initialized_hash_bit_length__last .
H28:   fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_count__first .
H29:   fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_count__last .
H30:   result__index__subtype__1__first = 0 .
H31:   (fld_hash_bit_len(fld_h(ctx)) + 7) div 8 <= 
           result__index__subtype__1__last + 1 .
H32:   blocks_done >= output_block_count_t__first .
H33:   blocks_done <= output_block_count_t__last .
H34:   blocks_done >= spark__unsigned__u64__first .
H35:   blocks_done <= spark__unsigned__u64__last .
H36:   fld_hash_bit_len(fld_h(local_ctx)) > 0 .
H37:   blocks_done >= spark__unsigned__u64__first .
H38:   blocks_done <= spark__unsigned__u64__last .
H39:   fld_hash_bit_len(fld_h(local_ctx__3)) > 0 .
H40:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__3), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__3), [i___2]) <= 
           spark__unsigned__byte__last))) .
H41:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__3), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__3), [i___1]) <= 
           spark__unsigned__u64__last))) .
H42:   fld_byte_count(fld_h(local_ctx__3)) >= natural__first .
H43:   fld_byte_count(fld_h(local_ctx__3)) <= natural__last .
H44:   fld_hash_bit_len(fld_h(local_ctx__3)) >= 
           hash_bit_length__first .
H45:   fld_hash_bit_len(fld_h(local_ctx__3)) <= 
           hash_bit_length__last .
H46:   true .
H47:   true .
H48:   fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u6__first .
H49:   fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u6__last .
H50:   true .
H51:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u7__first .
H52:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u7__last .
H53:   fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u16__first .
H54:   fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u16__last .
H55:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u32__first .
H56:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u32__last .
H57:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u64__first .
H58:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u64__last .
H59:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__3), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__3), [i___2]) <= 
           spark__unsigned__byte__last))) .
H60:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__3), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__3), [i___1]) <= 
           spark__unsigned__u64__last))) .
H61:   fld_byte_count(fld_h(local_ctx__3)) >= natural__first .
H62:   fld_byte_count(fld_h(local_ctx__3)) <= natural__last .
H63:   fld_hash_bit_len(fld_h(local_ctx__3)) >= 
           hash_bit_length__first .
H64:   fld_hash_bit_len(fld_h(local_ctx__3)) <= 
           hash_bit_length__last .
H65:   true .
H66:   true .
H67:   fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u6__first .
H68:   fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u6__last .
H69:   true .
H70:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u7__first .
H71:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u7__last .
H72:   fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u16__first .
H73:   fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u16__last .
H74:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u32__first .
H75:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u32__last .
H76:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u64__first .
H77:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u64__last .
H78:   skein_block_type_out >= spark__unsigned__u6__first .
H79:   skein_block_type_out <= spark__unsigned__u6__last .
H80:   fld_h(local_ctx__4) = upf_byte_count(upf_tweak_words(fld_h(
           local_ctx__3), 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)), 0) .
H81:   fld_hash_bit_len(fld_h(local_ctx__4)) = fld_hash_bit_len(fld_h(
           local_ctx__3)) .
H82:   fld_byte_count(fld_h(local_ctx__4)) = 0 .
H83:   fld_byte_count(fld_h(local_ctx__4)) >= natural__first .
H84:   fld_byte_count(fld_h(local_ctx__4)) <= natural__last .
H85:   fld_hash_bit_len(fld_h(local_ctx__4)) >= 
           hash_bit_length__first .
H86:   fld_hash_bit_len(fld_h(local_ctx__4)) <= 
           hash_bit_length__last .
H87:   true .
H88:   true .
H89:   fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u6__first .
H90:   fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u6__last .
H91:   true .
H92:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u7__first .
H93:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u7__last .
H94:   fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u16__first .
H95:   fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u16__last .
H96:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u32__first .
H97:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u32__last .
H98:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u64__first .
H99:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u64__last .
H100:  fld_x(local_ctx__4) = fld_x(local_ctx__3) .
H101:  fld_b(local_ctx__4) = fld_b(local_ctx__3) .
H102:  local_ctx__4 = upf_h(local_ctx__3, fld_h(local_ctx__4)) .
H103:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__4), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__4), [i___2]) <= 
           spark__unsigned__byte__last))) .
H104:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__4), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__4), [i___1]) <= 
           spark__unsigned__u64__last))) .
H105:  fld_byte_count(fld_h(local_ctx__4)) >= natural__first .
H106:  fld_byte_count(fld_h(local_ctx__4)) <= natural__last .
H107:  fld_hash_bit_len(fld_h(local_ctx__4)) >= 
           hash_bit_length__first .
H108:  fld_hash_bit_len(fld_h(local_ctx__4)) <= 
           hash_bit_length__last .
H109:  true .
H110:  true .
H111:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u6__first .
H112:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u6__last .
H113:  true .
H114:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u7__first .
H115:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u7__last .
H116:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u16__first .
H117:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u16__last .
H118:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u32__first .
H119:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u32__last .
H120:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u64__first .
H121:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u64__last .
H122:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__4), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__4), [i___2]) <= 
           spark__unsigned__byte__last))) .
H123:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__4), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__4), [i___1]) <= 
           spark__unsigned__u64__last))) .
H124:  fld_byte_count(fld_h(local_ctx__4)) >= natural__first .
H125:  fld_byte_count(fld_h(local_ctx__4)) <= natural__last .
H126:  fld_hash_bit_len(fld_h(local_ctx__4)) >= 
           hash_bit_length__first .
H127:  fld_hash_bit_len(fld_h(local_ctx__4)) <= 
           hash_bit_length__last .
H128:  true .
H129:  true .
H130:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u6__first .
H131:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u6__last .
H132:  true .
H133:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u7__first .
H134:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u7__last .
H135:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u16__first .
H136:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u16__last .
H137:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u32__first .
H138:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u32__last .
H139:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u64__first .
H140:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u64__last .
H141:  for_all(i___1: integer, ((i___1 >= 
           skein_512_block_bytes_index__first) and (i___1 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__4), [i___1]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__4), [i___1]) <= 
           spark__unsigned__byte__last))) .
H142:  8 >= natural__first .
H143:  8 <= natural__last .
H144:  1 >= positive_block_512_count_t__first .
H145:  1 <= positive_block_512_count_t__last .
H146:  0 >= natural__first .
H147:  0 <= natural__last .
H148:  fld_hash_bit_len(fld_h(local_ctx__4)) >= 
           initialized_hash_bit_length__first .
H149:  fld_hash_bit_len(fld_h(local_ctx__4)) <= 
           initialized_hash_bit_length__last .
H150:  fld_byte_count(fld_h(local_ctx__4)) >= 
           skein_512_block_bytes_count__first .
H151:  fld_byte_count(fld_h(local_ctx__4)) <= 
           skein_512_block_bytes_count__last .
H152:  skein_512_block_bytes_index__first = 0 .
H153:  0 + (1 - 1) * skein_512_block_bytes_c + 63 <= 
           skein_512_block_bytes_index__last .
H154:  0 + 63 <= skein_512_block_bytes_index__last .
H155:  skein_512_block_bytes_index__last <= natural__last .
H156:  0 <= natural__last - 63 .
H157:  fld_hash_bit_len(fld_h(local_ctx__5)) >= 
           initialized_hash_bit_length__first .
H158:  fld_hash_bit_len(fld_h(local_ctx__5)) <= 
           initialized_hash_bit_length__last .
H159:  fld_hash_bit_len(fld_h(local_ctx__5)) = fld_hash_bit_len(fld_h(
           local_ctx__4)) .
H160:  fld_byte_count(fld_h(local_ctx__5)) >= 
           skein_512_block_bytes_count__first .
H161:  fld_byte_count(fld_h(local_ctx__5)) <= 
           skein_512_block_bytes_count__last .
H162:  fld_byte_count(fld_h(local_ctx__5)) = fld_byte_count(fld_h(
           local_ctx__4)) .
H163:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__5), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__5), [i___2]) <= 
           spark__unsigned__byte__last))) .
H164:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__5), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__5), [i___1]) <= 
           spark__unsigned__u64__last))) .
H165:  fld_byte_count(fld_h(local_ctx__5)) >= natural__first .
H166:  fld_byte_count(fld_h(local_ctx__5)) <= natural__last .
H167:  fld_hash_bit_len(fld_h(local_ctx__5)) >= 
           hash_bit_length__first .
H168:  fld_hash_bit_len(fld_h(local_ctx__5)) <= 
           hash_bit_length__last .
H169:  true .
H170:  true .
H171:  fld_field_type(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u6__first .
H172:  fld_field_type(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u6__last .
H173:  true .
H174:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u7__first .
H175:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u7__last .
H176:  fld_reserved(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u16__first .
H177:  fld_reserved(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u16__last .
H178:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u32__first .
H179:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u32__last .
H180:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u64__first .
H181:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u64__last .
H182:  blocks_done >= output_block_count_t__first .
H183:  blocks_done <= output_block_count_t__last .
H184:  byte_count >= output_byte_count_t__first .
H185:  byte_count <= output_byte_count_t__last .
        ->
C1:    byte_count - blocks_done * skein_512_block_bytes_c >= 
           natural__first .
C2:    byte_count - blocks_done * skein_512_block_bytes_c <= 
           natural__last .
C3:    blocks_done * skein_512_block_bytes_c >= integer__base__first .
C4:    blocks_done * skein_512_block_bytes_c <= integer__base__last .
 

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

procedure_skein_512_final_26.
H1:    fld_hash_bit_len(fld_h(local_ctx)) > 0 .
H2:    byte_count <= result__index__subtype__1__last + 1 .
H3:    blocks_done * skein_512_block_bytes_c < byte_count .
H4:    blocks_done * skein_512_block_bytes_c < 
           result__index__subtype__1__last + 1 .
H5:    blocks_done < blocks_required .
H6:    blocks_required = (byte_count + 63) div 64 .
H7:    for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(ctx), [i___2]) <= spark__unsigned__byte__last))) .
H8:    for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(ctx), [i___1]) <= spark__unsigned__u64__last))) .
H9:    fld_byte_count(fld_h(ctx)) >= natural__first .
H10:   fld_byte_count(fld_h(ctx)) <= natural__last .
H11:   fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first .
H12:   fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last .
H13:   true .
H14:   true .
H15:   fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u6__first .
H16:   fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u6__last .
H17:   true .
H18:   fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u7__first .
H19:   fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u7__last .
H20:   fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u16__first .
H21:   fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u16__last .
H22:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u32__first .
H23:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u32__last .
H24:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u64__first .
H25:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u64__last .
H26:   fld_hash_bit_len(fld_h(ctx)) >= 
           initialized_hash_bit_length__first .
H27:   fld_hash_bit_len(fld_h(ctx)) <= 
           initialized_hash_bit_length__last .
H28:   fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_count__first .
H29:   fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_count__last .
H30:   result__index__subtype__1__first = 0 .
H31:   (fld_hash_bit_len(fld_h(ctx)) + 7) div 8 <= 
           result__index__subtype__1__last + 1 .
H32:   blocks_done >= output_block_count_t__first .
H33:   blocks_done <= output_block_count_t__last .
H34:   blocks_done >= spark__unsigned__u64__first .
H35:   blocks_done <= spark__unsigned__u64__last .
H36:   fld_hash_bit_len(fld_h(local_ctx)) > 0 .
H37:   blocks_done >= spark__unsigned__u64__first .
H38:   blocks_done <= spark__unsigned__u64__last .
H39:   fld_hash_bit_len(fld_h(local_ctx__3)) > 0 .
H40:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__3), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__3), [i___2]) <= 
           spark__unsigned__byte__last))) .
H41:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__3), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__3), [i___1]) <= 
           spark__unsigned__u64__last))) .
H42:   fld_byte_count(fld_h(local_ctx__3)) >= natural__first .
H43:   fld_byte_count(fld_h(local_ctx__3)) <= natural__last .
H44:   fld_hash_bit_len(fld_h(local_ctx__3)) >= 
           hash_bit_length__first .
H45:   fld_hash_bit_len(fld_h(local_ctx__3)) <= 
           hash_bit_length__last .
H46:   true .
H47:   true .
H48:   fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u6__first .
H49:   fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u6__last .
H50:   true .
H51:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u7__first .
H52:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u7__last .
H53:   fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u16__first .
H54:   fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u16__last .
H55:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u32__first .
H56:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u32__last .
H57:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u64__first .
H58:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u64__last .
H59:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__3), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__3), [i___2]) <= 
           spark__unsigned__byte__last))) .
H60:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__3), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__3), [i___1]) <= 
           spark__unsigned__u64__last))) .
H61:   fld_byte_count(fld_h(local_ctx__3)) >= natural__first .
H62:   fld_byte_count(fld_h(local_ctx__3)) <= natural__last .
H63:   fld_hash_bit_len(fld_h(local_ctx__3)) >= 
           hash_bit_length__first .
H64:   fld_hash_bit_len(fld_h(local_ctx__3)) <= 
           hash_bit_length__last .
H65:   true .
H66:   true .
H67:   fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u6__first .
H68:   fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u6__last .
H69:   true .
H70:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u7__first .
H71:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u7__last .
H72:   fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u16__first .
H73:   fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u16__last .
H74:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u32__first .
H75:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u32__last .
H76:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u64__first .
H77:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u64__last .
H78:   skein_block_type_out >= spark__unsigned__u6__first .
H79:   skein_block_type_out <= spark__unsigned__u6__last .
H80:   fld_h(local_ctx__4) = upf_byte_count(upf_tweak_words(fld_h(
           local_ctx__3), 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)), 0) .
H81:   fld_hash_bit_len(fld_h(local_ctx__4)) = fld_hash_bit_len(fld_h(
           local_ctx__3)) .
H82:   fld_byte_count(fld_h(local_ctx__4)) = 0 .
H83:   fld_byte_count(fld_h(local_ctx__4)) >= natural__first .
H84:   fld_byte_count(fld_h(local_ctx__4)) <= natural__last .
H85:   fld_hash_bit_len(fld_h(local_ctx__4)) >= 
           hash_bit_length__first .
H86:   fld_hash_bit_len(fld_h(local_ctx__4)) <= 
           hash_bit_length__last .
H87:   true .
H88:   true .
H89:   fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u6__first .
H90:   fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u6__last .
H91:   true .
H92:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u7__first .
H93:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u7__last .
H94:   fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u16__first .
H95:   fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u16__last .
H96:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u32__first .
H97:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u32__last .
H98:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u64__first .
H99:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u64__last .
H100:  fld_x(local_ctx__4) = fld_x(local_ctx__3) .
H101:  fld_b(local_ctx__4) = fld_b(local_ctx__3) .
H102:  local_ctx__4 = upf_h(local_ctx__3, fld_h(local_ctx__4)) .
H103:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__4), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__4), [i___2]) <= 
           spark__unsigned__byte__last))) .
H104:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__4), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__4), [i___1]) <= 
           spark__unsigned__u64__last))) .
H105:  fld_byte_count(fld_h(local_ctx__4)) >= natural__first .
H106:  fld_byte_count(fld_h(local_ctx__4)) <= natural__last .
H107:  fld_hash_bit_len(fld_h(local_ctx__4)) >= 
           hash_bit_length__first .
H108:  fld_hash_bit_len(fld_h(local_ctx__4)) <= 
           hash_bit_length__last .
H109:  true .
H110:  true .
H111:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u6__first .
H112:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u6__last .
H113:  true .
H114:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u7__first .
H115:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u7__last .
H116:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u16__first .
H117:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u16__last .
H118:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u32__first .
H119:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u32__last .
H120:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u64__first .
H121:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u64__last .
H122:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__4), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__4), [i___2]) <= 
           spark__unsigned__byte__last))) .
H123:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__4), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__4), [i___1]) <= 
           spark__unsigned__u64__last))) .
H124:  fld_byte_count(fld_h(local_ctx__4)) >= natural__first .
H125:  fld_byte_count(fld_h(local_ctx__4)) <= natural__last .
H126:  fld_hash_bit_len(fld_h(local_ctx__4)) >= 
           hash_bit_length__first .
H127:  fld_hash_bit_len(fld_h(local_ctx__4)) <= 
           hash_bit_length__last .
H128:  true .
H129:  true .
H130:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u6__first .
H131:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u6__last .
H132:  true .
H133:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u7__first .
H134:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u7__last .
H135:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u16__first .
H136:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u16__last .
H137:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u32__first .
H138:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u32__last .
H139:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u64__first .
H140:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u64__last .
H141:  for_all(i___1: integer, ((i___1 >= 
           skein_512_block_bytes_index__first) and (i___1 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__4), [i___1]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__4), [i___1]) <= 
           spark__unsigned__byte__last))) .
H142:  8 >= natural__first .
H143:  8 <= natural__last .
H144:  1 >= positive_block_512_count_t__first .
H145:  1 <= positive_block_512_count_t__last .
H146:  0 >= natural__first .
H147:  0 <= natural__last .
H148:  fld_hash_bit_len(fld_h(local_ctx__4)) >= 
           initialized_hash_bit_length__first .
H149:  fld_hash_bit_len(fld_h(local_ctx__4)) <= 
           initialized_hash_bit_length__last .
H150:  fld_byte_count(fld_h(local_ctx__4)) >= 
           skein_512_block_bytes_count__first .
H151:  fld_byte_count(fld_h(local_ctx__4)) <= 
           skein_512_block_bytes_count__last .
H152:  skein_512_block_bytes_index__first = 0 .
H153:  0 + (1 - 1) * skein_512_block_bytes_c + 63 <= 
           skein_512_block_bytes_index__last .
H154:  0 + 63 <= skein_512_block_bytes_index__last .
H155:  skein_512_block_bytes_index__last <= natural__last .
H156:  0 <= natural__last - 63 .
H157:  fld_hash_bit_len(fld_h(local_ctx__5)) >= 
           initialized_hash_bit_length__first .
H158:  fld_hash_bit_len(fld_h(local_ctx__5)) <= 
           initialized_hash_bit_length__last .
H159:  fld_hash_bit_len(fld_h(local_ctx__5)) = fld_hash_bit_len(fld_h(
           local_ctx__4)) .
H160:  fld_byte_count(fld_h(local_ctx__5)) >= 
           skein_512_block_bytes_count__first .
H161:  fld_byte_count(fld_h(local_ctx__5)) <= 
           skein_512_block_bytes_count__last .
H162:  fld_byte_count(fld_h(local_ctx__5)) = fld_byte_count(fld_h(
           local_ctx__4)) .
H163:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__5), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__5), [i___2]) <= 
           spark__unsigned__byte__last))) .
H164:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__5), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__5), [i___1]) <= 
           spark__unsigned__u64__last))) .
H165:  fld_byte_count(fld_h(local_ctx__5)) >= natural__first .
H166:  fld_byte_count(fld_h(local_ctx__5)) <= natural__last .
H167:  fld_hash_bit_len(fld_h(local_ctx__5)) >= 
           hash_bit_length__first .
H168:  fld_hash_bit_len(fld_h(local_ctx__5)) <= 
           hash_bit_length__last .
H169:  true .
H170:  true .
H171:  fld_field_type(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u6__first .
H172:  fld_field_type(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u6__last .
H173:  true .
H174:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u7__first .
H175:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u7__last .
H176:  fld_reserved(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u16__first .
H177:  fld_reserved(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u16__last .
H178:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u32__first .
H179:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u32__last .
H180:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u64__first .
H181:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u64__last .
H182:  blocks_done >= output_block_count_t__first .
H183:  blocks_done <= output_block_count_t__last .
H184:  byte_count >= output_byte_count_t__first .
H185:  byte_count <= output_byte_count_t__last .
H186:  byte_count - blocks_done * skein_512_block_bytes_c >= 
           natural__first .
H187:  byte_count - blocks_done * skein_512_block_bytes_c <= 
           natural__last .
H188:  blocks_done * skein_512_block_bytes_c >= integer__base__first .
H189:  blocks_done * skein_512_block_bytes_c <= integer__base__last .
H190:  byte_count - blocks_done * skein_512_block_bytes_c >= 
           natural__first .
H191:  byte_count - blocks_done * skein_512_block_bytes_c <= 
           natural__last .
H192:  byte_count - blocks_done * skein_512_block_bytes_c >= 
           skein_512_block_bytes_c .
        ->
C1:    skein_512_block_bytes_c >= natural__first .
C2:    skein_512_block_bytes_c <= natural__last .
 

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

procedure_skein_512_final_27.
H1:    fld_hash_bit_len(fld_h(local_ctx)) > 0 .
H2:    byte_count <= result__index__subtype__1__last + 1 .
H3:    blocks_done * skein_512_block_bytes_c < byte_count .
H4:    blocks_done * skein_512_block_bytes_c < 
           result__index__subtype__1__last + 1 .
H5:    blocks_done < blocks_required .
H6:    blocks_required = (byte_count + 63) div 64 .
H7:    for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(ctx), [i___2]) <= spark__unsigned__byte__last))) .
H8:    for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(ctx), [i___1]) <= spark__unsigned__u64__last))) .
H9:    fld_byte_count(fld_h(ctx)) >= natural__first .
H10:   fld_byte_count(fld_h(ctx)) <= natural__last .
H11:   fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first .
H12:   fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last .
H13:   true .
H14:   true .
H15:   fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u6__first .
H16:   fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u6__last .
H17:   true .
H18:   fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u7__first .
H19:   fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u7__last .
H20:   fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u16__first .
H21:   fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u16__last .
H22:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u32__first .
H23:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u32__last .
H24:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u64__first .
H25:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u64__last .
H26:   fld_hash_bit_len(fld_h(ctx)) >= 
           initialized_hash_bit_length__first .
H27:   fld_hash_bit_len(fld_h(ctx)) <= 
           initialized_hash_bit_length__last .
H28:   fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_count__first .
H29:   fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_count__last .
H30:   result__index__subtype__1__first = 0 .
H31:   (fld_hash_bit_len(fld_h(ctx)) + 7) div 8 <= 
           result__index__subtype__1__last + 1 .
H32:   blocks_done >= output_block_count_t__first .
H33:   blocks_done <= output_block_count_t__last .
H34:   blocks_done >= spark__unsigned__u64__first .
H35:   blocks_done <= spark__unsigned__u64__last .
H36:   fld_hash_bit_len(fld_h(local_ctx)) > 0 .
H37:   blocks_done >= spark__unsigned__u64__first .
H38:   blocks_done <= spark__unsigned__u64__last .
H39:   fld_hash_bit_len(fld_h(local_ctx__3)) > 0 .
H40:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__3), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__3), [i___2]) <= 
           spark__unsigned__byte__last))) .
H41:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__3), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__3), [i___1]) <= 
           spark__unsigned__u64__last))) .
H42:   fld_byte_count(fld_h(local_ctx__3)) >= natural__first .
H43:   fld_byte_count(fld_h(local_ctx__3)) <= natural__last .
H44:   fld_hash_bit_len(fld_h(local_ctx__3)) >= 
           hash_bit_length__first .
H45:   fld_hash_bit_len(fld_h(local_ctx__3)) <= 
           hash_bit_length__last .
H46:   true .
H47:   true .
H48:   fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u6__first .
H49:   fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u6__last .
H50:   true .
H51:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u7__first .
H52:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u7__last .
H53:   fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u16__first .
H54:   fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u16__last .
H55:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u32__first .
H56:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u32__last .
H57:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u64__first .
H58:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u64__last .
H59:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__3), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__3), [i___2]) <= 
           spark__unsigned__byte__last))) .
H60:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__3), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__3), [i___1]) <= 
           spark__unsigned__u64__last))) .
H61:   fld_byte_count(fld_h(local_ctx__3)) >= natural__first .
H62:   fld_byte_count(fld_h(local_ctx__3)) <= natural__last .
H63:   fld_hash_bit_len(fld_h(local_ctx__3)) >= 
           hash_bit_length__first .
H64:   fld_hash_bit_len(fld_h(local_ctx__3)) <= 
           hash_bit_length__last .
H65:   true .
H66:   true .
H67:   fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u6__first .
H68:   fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u6__last .
H69:   true .
H70:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u7__first .
H71:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u7__last .
H72:   fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u16__first .
H73:   fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u16__last .
H74:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u32__first .
H75:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u32__last .
H76:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u64__first .
H77:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u64__last .
H78:   skein_block_type_out >= spark__unsigned__u6__first .
H79:   skein_block_type_out <= spark__unsigned__u6__last .
H80:   fld_h(local_ctx__4) = upf_byte_count(upf_tweak_words(fld_h(
           local_ctx__3), 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)), 0) .
H81:   fld_hash_bit_len(fld_h(local_ctx__4)) = fld_hash_bit_len(fld_h(
           local_ctx__3)) .
H82:   fld_byte_count(fld_h(local_ctx__4)) = 0 .
H83:   fld_byte_count(fld_h(local_ctx__4)) >= natural__first .
H84:   fld_byte_count(fld_h(local_ctx__4)) <= natural__last .
H85:   fld_hash_bit_len(fld_h(local_ctx__4)) >= 
           hash_bit_length__first .
H86:   fld_hash_bit_len(fld_h(local_ctx__4)) <= 
           hash_bit_length__last .
H87:   true .
H88:   true .
H89:   fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u6__first .
H90:   fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u6__last .
H91:   true .
H92:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u7__first .
H93:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u7__last .
H94:   fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u16__first .
H95:   fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u16__last .
H96:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u32__first .
H97:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u32__last .
H98:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u64__first .
H99:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u64__last .
H100:  fld_x(local_ctx__4) = fld_x(local_ctx__3) .
H101:  fld_b(local_ctx__4) = fld_b(local_ctx__3) .
H102:  local_ctx__4 = upf_h(local_ctx__3, fld_h(local_ctx__4)) .
H103:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__4), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__4), [i___2]) <= 
           spark__unsigned__byte__last))) .
H104:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__4), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__4), [i___1]) <= 
           spark__unsigned__u64__last))) .
H105:  fld_byte_count(fld_h(local_ctx__4)) >= natural__first .
H106:  fld_byte_count(fld_h(local_ctx__4)) <= natural__last .
H107:  fld_hash_bit_len(fld_h(local_ctx__4)) >= 
           hash_bit_length__first .
H108:  fld_hash_bit_len(fld_h(local_ctx__4)) <= 
           hash_bit_length__last .
H109:  true .
H110:  true .
H111:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u6__first .
H112:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u6__last .
H113:  true .
H114:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u7__first .
H115:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u7__last .
H116:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u16__first .
H117:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u16__last .
H118:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u32__first .
H119:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u32__last .
H120:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u64__first .
H121:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u64__last .
H122:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__4), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__4), [i___2]) <= 
           spark__unsigned__byte__last))) .
H123:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__4), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__4), [i___1]) <= 
           spark__unsigned__u64__last))) .
H124:  fld_byte_count(fld_h(local_ctx__4)) >= natural__first .
H125:  fld_byte_count(fld_h(local_ctx__4)) <= natural__last .
H126:  fld_hash_bit_len(fld_h(local_ctx__4)) >= 
           hash_bit_length__first .
H127:  fld_hash_bit_len(fld_h(local_ctx__4)) <= 
           hash_bit_length__last .
H128:  true .
H129:  true .
H130:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u6__first .
H131:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u6__last .
H132:  true .
H133:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u7__first .
H134:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u7__last .
H135:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u16__first .
H136:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u16__last .
H137:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u32__first .
H138:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u32__last .
H139:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u64__first .
H140:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u64__last .
H141:  for_all(i___1: integer, ((i___1 >= 
           skein_512_block_bytes_index__first) and (i___1 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__4), [i___1]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__4), [i___1]) <= 
           spark__unsigned__byte__last))) .
H142:  8 >= natural__first .
H143:  8 <= natural__last .
H144:  1 >= positive_block_512_count_t__first .
H145:  1 <= positive_block_512_count_t__last .
H146:  0 >= natural__first .
H147:  0 <= natural__last .
H148:  fld_hash_bit_len(fld_h(local_ctx__4)) >= 
           initialized_hash_bit_length__first .
H149:  fld_hash_bit_len(fld_h(local_ctx__4)) <= 
           initialized_hash_bit_length__last .
H150:  fld_byte_count(fld_h(local_ctx__4)) >= 
           skein_512_block_bytes_count__first .
H151:  fld_byte_count(fld_h(local_ctx__4)) <= 
           skein_512_block_bytes_count__last .
H152:  skein_512_block_bytes_index__first = 0 .
H153:  0 + (1 - 1) * skein_512_block_bytes_c + 63 <= 
           skein_512_block_bytes_index__last .
H154:  0 + 63 <= skein_512_block_bytes_index__last .
H155:  skein_512_block_bytes_index__last <= natural__last .
H156:  0 <= natural__last - 63 .
H157:  fld_hash_bit_len(fld_h(local_ctx__5)) >= 
           initialized_hash_bit_length__first .
H158:  fld_hash_bit_len(fld_h(local_ctx__5)) <= 
           initialized_hash_bit_length__last .
H159:  fld_hash_bit_len(fld_h(local_ctx__5)) = fld_hash_bit_len(fld_h(
           local_ctx__4)) .
H160:  fld_byte_count(fld_h(local_ctx__5)) >= 
           skein_512_block_bytes_count__first .
H161:  fld_byte_count(fld_h(local_ctx__5)) <= 
           skein_512_block_bytes_count__last .
H162:  fld_byte_count(fld_h(local_ctx__5)) = fld_byte_count(fld_h(
           local_ctx__4)) .
H163:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__5), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__5), [i___2]) <= 
           spark__unsigned__byte__last))) .
H164:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__5), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__5), [i___1]) <= 
           spark__unsigned__u64__last))) .
H165:  fld_byte_count(fld_h(local_ctx__5)) >= natural__first .
H166:  fld_byte_count(fld_h(local_ctx__5)) <= natural__last .
H167:  fld_hash_bit_len(fld_h(local_ctx__5)) >= 
           hash_bit_length__first .
H168:  fld_hash_bit_len(fld_h(local_ctx__5)) <= 
           hash_bit_length__last .
H169:  true .
H170:  true .
H171:  fld_field_type(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u6__first .
H172:  fld_field_type(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u6__last .
H173:  true .
H174:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u7__first .
H175:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u7__last .
H176:  fld_reserved(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u16__first .
H177:  fld_reserved(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u16__last .
H178:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u32__first .
H179:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u32__last .
H180:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u64__first .
H181:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u64__last .
H182:  blocks_done >= output_block_count_t__first .
H183:  blocks_done <= output_block_count_t__last .
H184:  byte_count >= output_byte_count_t__first .
H185:  byte_count <= output_byte_count_t__last .
H186:  byte_count - blocks_done * skein_512_block_bytes_c >= 
           natural__first .
H187:  byte_count - blocks_done * skein_512_block_bytes_c <= 
           natural__last .
H188:  blocks_done * skein_512_block_bytes_c >= integer__base__first .
H189:  blocks_done * skein_512_block_bytes_c <= integer__base__last .
H190:  byte_count - blocks_done * skein_512_block_bytes_c >= 
           natural__first .
H191:  byte_count - blocks_done * skein_512_block_bytes_c <= 
           natural__last .
H192:  byte_count - blocks_done * skein_512_block_bytes_c >= 
           skein_512_block_bytes_c .
H193:  skein_512_block_bytes_c >= natural__first .
H194:  skein_512_block_bytes_c <= natural__last .
H195:  for_all(i___1: integer, ((i___1 >= 
           result__index__subtype__1__first) and (i___1 <= 
           result__index__subtype__1__last)) -> ((element(
           result, [i___1]) >= spark__unsigned__byte__first) and (element(
           result, [i___1]) <= spark__unsigned__byte__last))) .
H196:  blocks_done >= output_block_count_t__first .
H197:  blocks_done <= output_block_count_t__last .
H198:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__5), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__5), [i___2]) <= 
           spark__unsigned__byte__last))) .
H199:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__5), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__5), [i___1]) <= 
           spark__unsigned__u64__last))) .
H200:  fld_byte_count(fld_h(local_ctx__5)) >= natural__first .
H201:  fld_byte_count(fld_h(local_ctx__5)) <= natural__last .
H202:  fld_hash_bit_len(fld_h(local_ctx__5)) >= 
           hash_bit_length__first .
H203:  fld_hash_bit_len(fld_h(local_ctx__5)) <= 
           hash_bit_length__last .
H204:  true .
H205:  true .
H206:  fld_field_type(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u6__first .
H207:  fld_field_type(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u6__last .
H208:  true .
H209:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u7__first .
H210:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u7__last .
H211:  fld_reserved(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u16__first .
H212:  fld_reserved(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u16__last .
H213:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u32__first .
H214:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u32__last .
H215:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u64__first .
H216:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u64__last .
H217:  skein_512_block_bytes_c >= natural__first .
H218:  skein_512_block_bytes_c <= natural__last .
        ->
C1:    skein_512_block_bytes_c >= natural__first .
C2:    skein_512_block_bytes_c <= natural__last .
C3:    blocks_done * skein_512_block_bytes_c >= natural__first .
C4:    blocks_done * skein_512_block_bytes_c <= natural__last .
C5:    result__index__subtype__1__first = 0 .
C6:    skein_512_state_words_index__first = 0 .
C7:    result__index__subtype__1__last >= blocks_done * 
           skein_512_block_bytes_c + (
           skein_512_block_bytes_c - 1) .
C8:    skein_512_block_bytes_c <= (
           skein_512_state_words_index__last + 1) * 8 .
C9:    blocks_done * skein_512_block_bytes_c >= integer__base__first .
C10:   blocks_done * skein_512_block_bytes_c <= integer__base__last .
 

procedure_skein_512_final_28.
H1:    fld_hash_bit_len(fld_h(local_ctx)) > 0 .
H2:    byte_count <= result__index__subtype__1__last + 1 .
H3:    blocks_done * skein_512_block_bytes_c < byte_count .
H4:    blocks_done * skein_512_block_bytes_c < 
           result__index__subtype__1__last + 1 .
H5:    blocks_done < blocks_required .
H6:    blocks_required = (byte_count + 63) div 64 .
H7:    for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(ctx), [i___2]) <= spark__unsigned__byte__last))) .
H8:    for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(ctx), [i___1]) <= spark__unsigned__u64__last))) .
H9:    fld_byte_count(fld_h(ctx)) >= natural__first .
H10:   fld_byte_count(fld_h(ctx)) <= natural__last .
H11:   fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first .
H12:   fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last .
H13:   true .
H14:   true .
H15:   fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u6__first .
H16:   fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u6__last .
H17:   true .
H18:   fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u7__first .
H19:   fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u7__last .
H20:   fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u16__first .
H21:   fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u16__last .
H22:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u32__first .
H23:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u32__last .
H24:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u64__first .
H25:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u64__last .
H26:   fld_hash_bit_len(fld_h(ctx)) >= 
           initialized_hash_bit_length__first .
H27:   fld_hash_bit_len(fld_h(ctx)) <= 
           initialized_hash_bit_length__last .
H28:   fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_count__first .
H29:   fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_count__last .
H30:   result__index__subtype__1__first = 0 .
H31:   (fld_hash_bit_len(fld_h(ctx)) + 7) div 8 <= 
           result__index__subtype__1__last + 1 .
H32:   blocks_done >= output_block_count_t__first .
H33:   blocks_done <= output_block_count_t__last .
H34:   blocks_done >= spark__unsigned__u64__first .
H35:   blocks_done <= spark__unsigned__u64__last .
H36:   fld_hash_bit_len(fld_h(local_ctx)) > 0 .
H37:   blocks_done >= spark__unsigned__u64__first .
H38:   blocks_done <= spark__unsigned__u64__last .
H39:   fld_hash_bit_len(fld_h(local_ctx__3)) > 0 .
H40:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__3), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__3), [i___2]) <= 
           spark__unsigned__byte__last))) .
H41:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__3), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__3), [i___1]) <= 
           spark__unsigned__u64__last))) .
H42:   fld_byte_count(fld_h(local_ctx__3)) >= natural__first .
H43:   fld_byte_count(fld_h(local_ctx__3)) <= natural__last .
H44:   fld_hash_bit_len(fld_h(local_ctx__3)) >= 
           hash_bit_length__first .
H45:   fld_hash_bit_len(fld_h(local_ctx__3)) <= 
           hash_bit_length__last .
H46:   true .
H47:   true .
H48:   fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u6__first .
H49:   fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u6__last .
H50:   true .
H51:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u7__first .
H52:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u7__last .
H53:   fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u16__first .
H54:   fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u16__last .
H55:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u32__first .
H56:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u32__last .
H57:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u64__first .
H58:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u64__last .
H59:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__3), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__3), [i___2]) <= 
           spark__unsigned__byte__last))) .
H60:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__3), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__3), [i___1]) <= 
           spark__unsigned__u64__last))) .
H61:   fld_byte_count(fld_h(local_ctx__3)) >= natural__first .
H62:   fld_byte_count(fld_h(local_ctx__3)) <= natural__last .
H63:   fld_hash_bit_len(fld_h(local_ctx__3)) >= 
           hash_bit_length__first .
H64:   fld_hash_bit_len(fld_h(local_ctx__3)) <= 
           hash_bit_length__last .
H65:   true .
H66:   true .
H67:   fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u6__first .
H68:   fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u6__last .
H69:   true .
H70:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u7__first .
H71:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u7__last .
H72:   fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u16__first .
H73:   fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u16__last .
H74:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u32__first .
H75:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u32__last .
H76:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u64__first .
H77:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u64__last .
H78:   skein_block_type_out >= spark__unsigned__u6__first .
H79:   skein_block_type_out <= spark__unsigned__u6__last .
H80:   fld_h(local_ctx__4) = upf_byte_count(upf_tweak_words(fld_h(
           local_ctx__3), 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)), 0) .
H81:   fld_hash_bit_len(fld_h(local_ctx__4)) = fld_hash_bit_len(fld_h(
           local_ctx__3)) .
H82:   fld_byte_count(fld_h(local_ctx__4)) = 0 .
H83:   fld_byte_count(fld_h(local_ctx__4)) >= natural__first .
H84:   fld_byte_count(fld_h(local_ctx__4)) <= natural__last .
H85:   fld_hash_bit_len(fld_h(local_ctx__4)) >= 
           hash_bit_length__first .
H86:   fld_hash_bit_len(fld_h(local_ctx__4)) <= 
           hash_bit_length__last .
H87:   true .
H88:   true .
H89:   fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u6__first .
H90:   fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u6__last .
H91:   true .
H92:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u7__first .
H93:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u7__last .
H94:   fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u16__first .
H95:   fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u16__last .
H96:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u32__first .
H97:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u32__last .
H98:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u64__first .
H99:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u64__last .
H100:  fld_x(local_ctx__4) = fld_x(local_ctx__3) .
H101:  fld_b(local_ctx__4) = fld_b(local_ctx__3) .
H102:  local_ctx__4 = upf_h(local_ctx__3, fld_h(local_ctx__4)) .
H103:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__4), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__4), [i___2]) <= 
           spark__unsigned__byte__last))) .
H104:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__4), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__4), [i___1]) <= 
           spark__unsigned__u64__last))) .
H105:  fld_byte_count(fld_h(local_ctx__4)) >= natural__first .
H106:  fld_byte_count(fld_h(local_ctx__4)) <= natural__last .
H107:  fld_hash_bit_len(fld_h(local_ctx__4)) >= 
           hash_bit_length__first .
H108:  fld_hash_bit_len(fld_h(local_ctx__4)) <= 
           hash_bit_length__last .
H109:  true .
H110:  true .
H111:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u6__first .
H112:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u6__last .
H113:  true .
H114:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u7__first .
H115:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u7__last .
H116:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u16__first .
H117:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u16__last .
H118:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u32__first .
H119:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u32__last .
H120:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u64__first .
H121:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u64__last .
H122:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__4), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__4), [i___2]) <= 
           spark__unsigned__byte__last))) .
H123:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__4), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__4), [i___1]) <= 
           spark__unsigned__u64__last))) .
H124:  fld_byte_count(fld_h(local_ctx__4)) >= natural__first .
H125:  fld_byte_count(fld_h(local_ctx__4)) <= natural__last .
H126:  fld_hash_bit_len(fld_h(local_ctx__4)) >= 
           hash_bit_length__first .
H127:  fld_hash_bit_len(fld_h(local_ctx__4)) <= 
           hash_bit_length__last .
H128:  true .
H129:  true .
H130:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u6__first .
H131:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u6__last .
H132:  true .
H133:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u7__first .
H134:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u7__last .
H135:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u16__first .
H136:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u16__last .
H137:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u32__first .
H138:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u32__last .
H139:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u64__first .
H140:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u64__last .
H141:  for_all(i___1: integer, ((i___1 >= 
           skein_512_block_bytes_index__first) and (i___1 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__4), [i___1]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__4), [i___1]) <= 
           spark__unsigned__byte__last))) .
H142:  8 >= natural__first .
H143:  8 <= natural__last .
H144:  1 >= positive_block_512_count_t__first .
H145:  1 <= positive_block_512_count_t__last .
H146:  0 >= natural__first .
H147:  0 <= natural__last .
H148:  fld_hash_bit_len(fld_h(local_ctx__4)) >= 
           initialized_hash_bit_length__first .
H149:  fld_hash_bit_len(fld_h(local_ctx__4)) <= 
           initialized_hash_bit_length__last .
H150:  fld_byte_count(fld_h(local_ctx__4)) >= 
           skein_512_block_bytes_count__first .
H151:  fld_byte_count(fld_h(local_ctx__4)) <= 
           skein_512_block_bytes_count__last .
H152:  skein_512_block_bytes_index__first = 0 .
H153:  0 + (1 - 1) * skein_512_block_bytes_c + 63 <= 
           skein_512_block_bytes_index__last .
H154:  0 + 63 <= skein_512_block_bytes_index__last .
H155:  skein_512_block_bytes_index__last <= natural__last .
H156:  0 <= natural__last - 63 .
H157:  fld_hash_bit_len(fld_h(local_ctx__5)) >= 
           initialized_hash_bit_length__first .
H158:  fld_hash_bit_len(fld_h(local_ctx__5)) <= 
           initialized_hash_bit_length__last .
H159:  fld_hash_bit_len(fld_h(local_ctx__5)) = fld_hash_bit_len(fld_h(
           local_ctx__4)) .
H160:  fld_byte_count(fld_h(local_ctx__5)) >= 
           skein_512_block_bytes_count__first .
H161:  fld_byte_count(fld_h(local_ctx__5)) <= 
           skein_512_block_bytes_count__last .
H162:  fld_byte_count(fld_h(local_ctx__5)) = fld_byte_count(fld_h(
           local_ctx__4)) .
H163:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__5), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__5), [i___2]) <= 
           spark__unsigned__byte__last))) .
H164:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__5), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__5), [i___1]) <= 
           spark__unsigned__u64__last))) .
H165:  fld_byte_count(fld_h(local_ctx__5)) >= natural__first .
H166:  fld_byte_count(fld_h(local_ctx__5)) <= natural__last .
H167:  fld_hash_bit_len(fld_h(local_ctx__5)) >= 
           hash_bit_length__first .
H168:  fld_hash_bit_len(fld_h(local_ctx__5)) <= 
           hash_bit_length__last .
H169:  true .
H170:  true .
H171:  fld_field_type(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u6__first .
H172:  fld_field_type(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u6__last .
H173:  true .
H174:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u7__first .
H175:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u7__last .
H176:  fld_reserved(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u16__first .
H177:  fld_reserved(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u16__last .
H178:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u32__first .
H179:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u32__last .
H180:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u64__first .
H181:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u64__last .
H182:  blocks_done >= output_block_count_t__first .
H183:  blocks_done <= output_block_count_t__last .
H184:  byte_count >= output_byte_count_t__first .
H185:  byte_count <= output_byte_count_t__last .
H186:  byte_count - blocks_done * skein_512_block_bytes_c >= 
           natural__first .
H187:  byte_count - blocks_done * skein_512_block_bytes_c <= 
           natural__last .
H188:  blocks_done * skein_512_block_bytes_c >= integer__base__first .
H189:  blocks_done * skein_512_block_bytes_c <= integer__base__last .
H190:  byte_count - blocks_done * skein_512_block_bytes_c >= 
           natural__first .
H191:  byte_count - blocks_done * skein_512_block_bytes_c <= 
           natural__last .
H192:  not (byte_count - blocks_done * 
           skein_512_block_bytes_c >= 
           skein_512_block_bytes_c) .
H193:  for_all(i___1: integer, ((i___1 >= 
           result__index__subtype__1__first) and (i___1 <= 
           result__index__subtype__1__last)) -> ((element(
           result, [i___1]) >= spark__unsigned__byte__first) and (element(
           result, [i___1]) <= spark__unsigned__byte__last))) .
H194:  blocks_done >= output_block_count_t__first .
H195:  blocks_done <= output_block_count_t__last .
H196:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__5), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__5), [i___2]) <= 
           spark__unsigned__byte__last))) .
H197:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__5), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__5), [i___1]) <= 
           spark__unsigned__u64__last))) .
H198:  fld_byte_count(fld_h(local_ctx__5)) >= natural__first .
H199:  fld_byte_count(fld_h(local_ctx__5)) <= natural__last .
H200:  fld_hash_bit_len(fld_h(local_ctx__5)) >= 
           hash_bit_length__first .
H201:  fld_hash_bit_len(fld_h(local_ctx__5)) <= 
           hash_bit_length__last .
H202:  true .
H203:  true .
H204:  fld_field_type(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u6__first .
H205:  fld_field_type(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u6__last .
H206:  true .
H207:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u7__first .
H208:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u7__last .
H209:  fld_reserved(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u16__first .
H210:  fld_reserved(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u16__last .
H211:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u32__first .
H212:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u32__last .
H213:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u64__first .
H214:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u64__last .
H215:  byte_count - blocks_done * skein_512_block_bytes_c >= 
           natural__first .
H216:  byte_count - blocks_done * skein_512_block_bytes_c <= 
           natural__last .
        ->
C1:    byte_count - blocks_done * skein_512_block_bytes_c >= 
           natural__first .
C2:    byte_count - blocks_done * skein_512_block_bytes_c <= 
           natural__last .
C3:    blocks_done * skein_512_block_bytes_c >= natural__first .
C4:    blocks_done * skein_512_block_bytes_c <= natural__last .
C5:    result__index__subtype__1__first = 0 .
C6:    skein_512_state_words_index__first = 0 .
C7:    result__index__subtype__1__last >= blocks_done * 
           skein_512_block_bytes_c + (byte_count - 
           blocks_done * skein_512_block_bytes_c - 1) .
C8:    byte_count - blocks_done * skein_512_block_bytes_c <= (
           skein_512_state_words_index__last + 1) * 8 .
C9:    blocks_done * skein_512_block_bytes_c >= integer__base__first .
C10:   blocks_done * skein_512_block_bytes_c <= integer__base__last .
 

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

procedure_skein_512_final_29.
H1:    fld_hash_bit_len(fld_h(local_ctx)) > 0 .
H2:    byte_count <= result__index__subtype__1__last + 1 .
H3:    blocks_done * skein_512_block_bytes_c < byte_count .
H4:    blocks_done * skein_512_block_bytes_c < 
           result__index__subtype__1__last + 1 .
H5:    blocks_done < blocks_required .
H6:    blocks_required = (byte_count + 63) div 64 .
H7:    for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(ctx), [i___2]) <= spark__unsigned__byte__last))) .
H8:    for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(ctx), [i___1]) <= spark__unsigned__u64__last))) .
H9:    fld_byte_count(fld_h(ctx)) >= natural__first .
H10:   fld_byte_count(fld_h(ctx)) <= natural__last .
H11:   fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first .
H12:   fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last .
H13:   true .
H14:   true .
H15:   fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u6__first .
H16:   fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u6__last .
H17:   true .
H18:   fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u7__first .
H19:   fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u7__last .
H20:   fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u16__first .
H21:   fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u16__last .
H22:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u32__first .
H23:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u32__last .
H24:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u64__first .
H25:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u64__last .
H26:   fld_hash_bit_len(fld_h(ctx)) >= 
           initialized_hash_bit_length__first .
H27:   fld_hash_bit_len(fld_h(ctx)) <= 
           initialized_hash_bit_length__last .
H28:   fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_count__first .
H29:   fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_count__last .
H30:   result__index__subtype__1__first = 0 .
H31:   (fld_hash_bit_len(fld_h(ctx)) + 7) div 8 <= 
           result__index__subtype__1__last + 1 .
H32:   blocks_done >= output_block_count_t__first .
H33:   blocks_done <= output_block_count_t__last .
H34:   blocks_done >= spark__unsigned__u64__first .
H35:   blocks_done <= spark__unsigned__u64__last .
H36:   fld_hash_bit_len(fld_h(local_ctx)) > 0 .
H37:   blocks_done >= spark__unsigned__u64__first .
H38:   blocks_done <= spark__unsigned__u64__last .
H39:   fld_hash_bit_len(fld_h(local_ctx__3)) > 0 .
H40:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__3), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__3), [i___2]) <= 
           spark__unsigned__byte__last))) .
H41:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__3), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__3), [i___1]) <= 
           spark__unsigned__u64__last))) .
H42:   fld_byte_count(fld_h(local_ctx__3)) >= natural__first .
H43:   fld_byte_count(fld_h(local_ctx__3)) <= natural__last .
H44:   fld_hash_bit_len(fld_h(local_ctx__3)) >= 
           hash_bit_length__first .
H45:   fld_hash_bit_len(fld_h(local_ctx__3)) <= 
           hash_bit_length__last .
H46:   true .
H47:   true .
H48:   fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u6__first .
H49:   fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u6__last .
H50:   true .
H51:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u7__first .
H52:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u7__last .
H53:   fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u16__first .
H54:   fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u16__last .
H55:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u32__first .
H56:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u32__last .
H57:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u64__first .
H58:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u64__last .
H59:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__3), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__3), [i___2]) <= 
           spark__unsigned__byte__last))) .
H60:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__3), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__3), [i___1]) <= 
           spark__unsigned__u64__last))) .
H61:   fld_byte_count(fld_h(local_ctx__3)) >= natural__first .
H62:   fld_byte_count(fld_h(local_ctx__3)) <= natural__last .
H63:   fld_hash_bit_len(fld_h(local_ctx__3)) >= 
           hash_bit_length__first .
H64:   fld_hash_bit_len(fld_h(local_ctx__3)) <= 
           hash_bit_length__last .
H65:   true .
H66:   true .
H67:   fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u6__first .
H68:   fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u6__last .
H69:   true .
H70:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u7__first .
H71:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u7__last .
H72:   fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u16__first .
H73:   fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u16__last .
H74:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u32__first .
H75:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u32__last .
H76:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u64__first .
H77:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u64__last .
H78:   skein_block_type_out >= spark__unsigned__u6__first .
H79:   skein_block_type_out <= spark__unsigned__u6__last .
H80:   fld_h(local_ctx__4) = upf_byte_count(upf_tweak_words(fld_h(
           local_ctx__3), 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)), 0) .
H81:   fld_hash_bit_len(fld_h(local_ctx__4)) = fld_hash_bit_len(fld_h(
           local_ctx__3)) .
H82:   fld_byte_count(fld_h(local_ctx__4)) = 0 .
H83:   fld_byte_count(fld_h(local_ctx__4)) >= natural__first .
H84:   fld_byte_count(fld_h(local_ctx__4)) <= natural__last .
H85:   fld_hash_bit_len(fld_h(local_ctx__4)) >= 
           hash_bit_length__first .
H86:   fld_hash_bit_len(fld_h(local_ctx__4)) <= 
           hash_bit_length__last .
H87:   true .
H88:   true .
H89:   fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u6__first .
H90:   fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u6__last .
H91:   true .
H92:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u7__first .
H93:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u7__last .
H94:   fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u16__first .
H95:   fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u16__last .
H96:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u32__first .
H97:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u32__last .
H98:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u64__first .
H99:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u64__last .
H100:  fld_x(local_ctx__4) = fld_x(local_ctx__3) .
H101:  fld_b(local_ctx__4) = fld_b(local_ctx__3) .
H102:  local_ctx__4 = upf_h(local_ctx__3, fld_h(local_ctx__4)) .
H103:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__4), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__4), [i___2]) <= 
           spark__unsigned__byte__last))) .
H104:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__4), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__4), [i___1]) <= 
           spark__unsigned__u64__last))) .
H105:  fld_byte_count(fld_h(local_ctx__4)) >= natural__first .
H106:  fld_byte_count(fld_h(local_ctx__4)) <= natural__last .
H107:  fld_hash_bit_len(fld_h(local_ctx__4)) >= 
           hash_bit_length__first .
H108:  fld_hash_bit_len(fld_h(local_ctx__4)) <= 
           hash_bit_length__last .
H109:  true .
H110:  true .
H111:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u6__first .
H112:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u6__last .
H113:  true .
H114:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u7__first .
H115:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u7__last .
H116:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u16__first .
H117:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u16__last .
H118:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u32__first .
H119:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u32__last .
H120:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u64__first .
H121:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u64__last .
H122:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__4), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__4), [i___2]) <= 
           spark__unsigned__byte__last))) .
H123:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__4), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__4), [i___1]) <= 
           spark__unsigned__u64__last))) .
H124:  fld_byte_count(fld_h(local_ctx__4)) >= natural__first .
H125:  fld_byte_count(fld_h(local_ctx__4)) <= natural__last .
H126:  fld_hash_bit_len(fld_h(local_ctx__4)) >= 
           hash_bit_length__first .
H127:  fld_hash_bit_len(fld_h(local_ctx__4)) <= 
           hash_bit_length__last .
H128:  true .
H129:  true .
H130:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u6__first .
H131:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u6__last .
H132:  true .
H133:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u7__first .
H134:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u7__last .
H135:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u16__first .
H136:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u16__last .
H137:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u32__first .
H138:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u32__last .
H139:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u64__first .
H140:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u64__last .
H141:  for_all(i___1: integer, ((i___1 >= 
           skein_512_block_bytes_index__first) and (i___1 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__4), [i___1]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__4), [i___1]) <= 
           spark__unsigned__byte__last))) .
H142:  8 >= natural__first .
H143:  8 <= natural__last .
H144:  1 >= positive_block_512_count_t__first .
H145:  1 <= positive_block_512_count_t__last .
H146:  0 >= natural__first .
H147:  0 <= natural__last .
H148:  fld_hash_bit_len(fld_h(local_ctx__4)) >= 
           initialized_hash_bit_length__first .
H149:  fld_hash_bit_len(fld_h(local_ctx__4)) <= 
           initialized_hash_bit_length__last .
H150:  fld_byte_count(fld_h(local_ctx__4)) >= 
           skein_512_block_bytes_count__first .
H151:  fld_byte_count(fld_h(local_ctx__4)) <= 
           skein_512_block_bytes_count__last .
H152:  skein_512_block_bytes_index__first = 0 .
H153:  0 + (1 - 1) * skein_512_block_bytes_c + 63 <= 
           skein_512_block_bytes_index__last .
H154:  0 + 63 <= skein_512_block_bytes_index__last .
H155:  skein_512_block_bytes_index__last <= natural__last .
H156:  0 <= natural__last - 63 .
H157:  fld_hash_bit_len(fld_h(local_ctx__5)) >= 
           initialized_hash_bit_length__first .
H158:  fld_hash_bit_len(fld_h(local_ctx__5)) <= 
           initialized_hash_bit_length__last .
H159:  fld_hash_bit_len(fld_h(local_ctx__5)) = fld_hash_bit_len(fld_h(
           local_ctx__4)) .
H160:  fld_byte_count(fld_h(local_ctx__5)) >= 
           skein_512_block_bytes_count__first .
H161:  fld_byte_count(fld_h(local_ctx__5)) <= 
           skein_512_block_bytes_count__last .
H162:  fld_byte_count(fld_h(local_ctx__5)) = fld_byte_count(fld_h(
           local_ctx__4)) .
H163:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__5), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__5), [i___2]) <= 
           spark__unsigned__byte__last))) .
H164:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__5), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__5), [i___1]) <= 
           spark__unsigned__u64__last))) .
H165:  fld_byte_count(fld_h(local_ctx__5)) >= natural__first .
H166:  fld_byte_count(fld_h(local_ctx__5)) <= natural__last .
H167:  fld_hash_bit_len(fld_h(local_ctx__5)) >= 
           hash_bit_length__first .
H168:  fld_hash_bit_len(fld_h(local_ctx__5)) <= 
           hash_bit_length__last .
H169:  true .
H170:  true .
H171:  fld_field_type(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u6__first .
H172:  fld_field_type(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u6__last .
H173:  true .
H174:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u7__first .
H175:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u7__last .
H176:  fld_reserved(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u16__first .
H177:  fld_reserved(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u16__last .
H178:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u32__first .
H179:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u32__last .
H180:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u64__first .
H181:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u64__last .
H182:  blocks_done >= output_block_count_t__first .
H183:  blocks_done <= output_block_count_t__last .
H184:  byte_count >= output_byte_count_t__first .
H185:  byte_count <= output_byte_count_t__last .
H186:  byte_count - blocks_done * skein_512_block_bytes_c >= 
           natural__first .
H187:  byte_count - blocks_done * skein_512_block_bytes_c <= 
           natural__last .
H188:  blocks_done * skein_512_block_bytes_c >= integer__base__first .
H189:  blocks_done * skein_512_block_bytes_c <= integer__base__last .
H190:  byte_count - blocks_done * skein_512_block_bytes_c >= 
           natural__first .
H191:  byte_count - blocks_done * skein_512_block_bytes_c <= 
           natural__last .
H192:  byte_count - blocks_done * skein_512_block_bytes_c >= 
           skein_512_block_bytes_c .
H193:  skein_512_block_bytes_c >= natural__first .
H194:  skein_512_block_bytes_c <= natural__last .
H195:  for_all(i___1: integer, ((i___1 >= 
           result__index__subtype__1__first) and (i___1 <= 
           result__index__subtype__1__last)) -> ((element(
           result, [i___1]) >= spark__unsigned__byte__first) and (element(
           result, [i___1]) <= spark__unsigned__byte__last))) .
H196:  blocks_done >= output_block_count_t__first .
H197:  blocks_done <= output_block_count_t__last .
H198:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__5), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__5), [i___2]) <= 
           spark__unsigned__byte__last))) .
H199:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__5), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__5), [i___1]) <= 
           spark__unsigned__u64__last))) .
H200:  fld_byte_count(fld_h(local_ctx__5)) >= natural__first .
H201:  fld_byte_count(fld_h(local_ctx__5)) <= natural__last .
H202:  fld_hash_bit_len(fld_h(local_ctx__5)) >= 
           hash_bit_length__first .
H203:  fld_hash_bit_len(fld_h(local_ctx__5)) <= 
           hash_bit_length__last .
H204:  true .
H205:  true .
H206:  fld_field_type(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u6__first .
H207:  fld_field_type(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u6__last .
H208:  true .
H209:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u7__first .
H210:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u7__last .
H211:  fld_reserved(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u16__first .
H212:  fld_reserved(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u16__last .
H213:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u32__first .
H214:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u32__last .
H215:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u64__first .
H216:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u64__last .
H217:  skein_512_block_bytes_c >= natural__first .
H218:  skein_512_block_bytes_c <= natural__last .
H219:  skein_512_block_bytes_c >= natural__first .
H220:  skein_512_block_bytes_c <= natural__last .
H221:  blocks_done * skein_512_block_bytes_c >= natural__first .
H222:  blocks_done * skein_512_block_bytes_c <= natural__last .
H223:  result__index__subtype__1__first = 0 .
H224:  skein_512_state_words_index__first = 0 .
H225:  result__index__subtype__1__last >= blocks_done * 
           skein_512_block_bytes_c + (
           skein_512_block_bytes_c - 1) .
H226:  skein_512_block_bytes_c <= (
           skein_512_state_words_index__last + 1) * 8 .
H227:  blocks_done * skein_512_block_bytes_c >= integer__base__first .
H228:  blocks_done * skein_512_block_bytes_c <= integer__base__last .
H229:  for_all(i___1: integer, ((i___1 >= 
           result__index__subtype__1__first) and (i___1 <= 
           result__index__subtype__1__last)) -> ((element(result__6, [
           i___1]) >= spark__unsigned__byte__first) and (element(
           result__6, [i___1]) <= spark__unsigned__byte__last))) .
H230:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(
           x, [i___1]) >= spark__unsigned__u64__first) and (element(
           x, [i___1]) <= spark__unsigned__u64__last))) .
H231:  blocks_done >= output_block_count_t__first .
H232:  blocks_done <= output_block_count_t__last .
        ->
C1:    blocks_done + 1 >= output_block_count_t__first .
C2:    blocks_done + 1 <= output_block_count_t__last .
 

procedure_skein_512_final_30.
H1:    fld_hash_bit_len(fld_h(local_ctx)) > 0 .
H2:    byte_count <= result__index__subtype__1__last + 1 .
H3:    blocks_done * skein_512_block_bytes_c < byte_count .
H4:    blocks_done * skein_512_block_bytes_c < 
           result__index__subtype__1__last + 1 .
H5:    blocks_done < blocks_required .
H6:    blocks_required = (byte_count + 63) div 64 .
H7:    for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(ctx), [i___2]) <= spark__unsigned__byte__last))) .
H8:    for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(ctx), [i___1]) <= spark__unsigned__u64__last))) .
H9:    fld_byte_count(fld_h(ctx)) >= natural__first .
H10:   fld_byte_count(fld_h(ctx)) <= natural__last .
H11:   fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first .
H12:   fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last .
H13:   true .
H14:   true .
H15:   fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u6__first .
H16:   fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u6__last .
H17:   true .
H18:   fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u7__first .
H19:   fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u7__last .
H20:   fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u16__first .
H21:   fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u16__last .
H22:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u32__first .
H23:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u32__last .
H24:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u64__first .
H25:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u64__last .
H26:   fld_hash_bit_len(fld_h(ctx)) >= 
           initialized_hash_bit_length__first .
H27:   fld_hash_bit_len(fld_h(ctx)) <= 
           initialized_hash_bit_length__last .
H28:   fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_count__first .
H29:   fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_count__last .
H30:   result__index__subtype__1__first = 0 .
H31:   (fld_hash_bit_len(fld_h(ctx)) + 7) div 8 <= 
           result__index__subtype__1__last + 1 .
H32:   blocks_done >= output_block_count_t__first .
H33:   blocks_done <= output_block_count_t__last .
H34:   blocks_done >= spark__unsigned__u64__first .
H35:   blocks_done <= spark__unsigned__u64__last .
H36:   fld_hash_bit_len(fld_h(local_ctx)) > 0 .
H37:   blocks_done >= spark__unsigned__u64__first .
H38:   blocks_done <= spark__unsigned__u64__last .
H39:   fld_hash_bit_len(fld_h(local_ctx__3)) > 0 .
H40:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__3), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__3), [i___2]) <= 
           spark__unsigned__byte__last))) .
H41:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__3), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__3), [i___1]) <= 
           spark__unsigned__u64__last))) .
H42:   fld_byte_count(fld_h(local_ctx__3)) >= natural__first .
H43:   fld_byte_count(fld_h(local_ctx__3)) <= natural__last .
H44:   fld_hash_bit_len(fld_h(local_ctx__3)) >= 
           hash_bit_length__first .
H45:   fld_hash_bit_len(fld_h(local_ctx__3)) <= 
           hash_bit_length__last .
H46:   true .
H47:   true .
H48:   fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u6__first .
H49:   fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u6__last .
H50:   true .
H51:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u7__first .
H52:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u7__last .
H53:   fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u16__first .
H54:   fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u16__last .
H55:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u32__first .
H56:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u32__last .
H57:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u64__first .
H58:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u64__last .
H59:   for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__3), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__3), [i___2]) <= 
           spark__unsigned__byte__last))) .
H60:   for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__3), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__3), [i___1]) <= 
           spark__unsigned__u64__last))) .
H61:   fld_byte_count(fld_h(local_ctx__3)) >= natural__first .
H62:   fld_byte_count(fld_h(local_ctx__3)) <= natural__last .
H63:   fld_hash_bit_len(fld_h(local_ctx__3)) >= 
           hash_bit_length__first .
H64:   fld_hash_bit_len(fld_h(local_ctx__3)) <= 
           hash_bit_length__last .
H65:   true .
H66:   true .
H67:   fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u6__first .
H68:   fld_field_type(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u6__last .
H69:   true .
H70:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u7__first .
H71:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u7__last .
H72:   fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u16__first .
H73:   fld_reserved(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u16__last .
H74:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u32__first .
H75:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u32__last .
H76:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) >= 
           spark__unsigned__u64__first .
H77:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__3))) <= 
           spark__unsigned__u64__last .
H78:   skein_block_type_out >= spark__unsigned__u6__first .
H79:   skein_block_type_out <= spark__unsigned__u6__last .
H80:   fld_h(local_ctx__4) = upf_byte_count(upf_tweak_words(fld_h(
           local_ctx__3), 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)), 0) .
H81:   fld_hash_bit_len(fld_h(local_ctx__4)) = fld_hash_bit_len(fld_h(
           local_ctx__3)) .
H82:   fld_byte_count(fld_h(local_ctx__4)) = 0 .
H83:   fld_byte_count(fld_h(local_ctx__4)) >= natural__first .
H84:   fld_byte_count(fld_h(local_ctx__4)) <= natural__last .
H85:   fld_hash_bit_len(fld_h(local_ctx__4)) >= 
           hash_bit_length__first .
H86:   fld_hash_bit_len(fld_h(local_ctx__4)) <= 
           hash_bit_length__last .
H87:   true .
H88:   true .
H89:   fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u6__first .
H90:   fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u6__last .
H91:   true .
H92:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u7__first .
H93:   fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u7__last .
H94:   fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u16__first .
H95:   fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u16__last .
H96:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u32__first .
H97:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u32__last .
H98:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u64__first .
H99:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u64__last .
H100:  fld_x(local_ctx__4) = fld_x(local_ctx__3) .
H101:  fld_b(local_ctx__4) = fld_b(local_ctx__3) .
H102:  local_ctx__4 = upf_h(local_ctx__3, fld_h(local_ctx__4)) .
H103:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__4), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__4), [i___2]) <= 
           spark__unsigned__byte__last))) .
H104:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__4), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__4), [i___1]) <= 
           spark__unsigned__u64__last))) .
H105:  fld_byte_count(fld_h(local_ctx__4)) >= natural__first .
H106:  fld_byte_count(fld_h(local_ctx__4)) <= natural__last .
H107:  fld_hash_bit_len(fld_h(local_ctx__4)) >= 
           hash_bit_length__first .
H108:  fld_hash_bit_len(fld_h(local_ctx__4)) <= 
           hash_bit_length__last .
H109:  true .
H110:  true .
H111:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u6__first .
H112:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u6__last .
H113:  true .
H114:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u7__first .
H115:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u7__last .
H116:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u16__first .
H117:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u16__last .
H118:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u32__first .
H119:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u32__last .
H120:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u64__first .
H121:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u64__last .
H122:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__4), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__4), [i___2]) <= 
           spark__unsigned__byte__last))) .
H123:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__4), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__4), [i___1]) <= 
           spark__unsigned__u64__last))) .
H124:  fld_byte_count(fld_h(local_ctx__4)) >= natural__first .
H125:  fld_byte_count(fld_h(local_ctx__4)) <= natural__last .
H126:  fld_hash_bit_len(fld_h(local_ctx__4)) >= 
           hash_bit_length__first .
H127:  fld_hash_bit_len(fld_h(local_ctx__4)) <= 
           hash_bit_length__last .
H128:  true .
H129:  true .
H130:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u6__first .
H131:  fld_field_type(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u6__last .
H132:  true .
H133:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u7__first .
H134:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u7__last .
H135:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u16__first .
H136:  fld_reserved(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u16__last .
H137:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u32__first .
H138:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u32__last .
H139:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) >= 
           spark__unsigned__u64__first .
H140:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__4))) <= 
           spark__unsigned__u64__last .
H141:  for_all(i___1: integer, ((i___1 >= 
           skein_512_block_bytes_index__first) and (i___1 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__4), [i___1]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__4), [i___1]) <= 
           spark__unsigned__byte__last))) .
H142:  8 >= natural__first .
H143:  8 <= natural__last .
H144:  1 >= positive_block_512_count_t__first .
H145:  1 <= positive_block_512_count_t__last .
H146:  0 >= natural__first .
H147:  0 <= natural__last .
H148:  fld_hash_bit_len(fld_h(local_ctx__4)) >= 
           initialized_hash_bit_length__first .
H149:  fld_hash_bit_len(fld_h(local_ctx__4)) <= 
           initialized_hash_bit_length__last .
H150:  fld_byte_count(fld_h(local_ctx__4)) >= 
           skein_512_block_bytes_count__first .
H151:  fld_byte_count(fld_h(local_ctx__4)) <= 
           skein_512_block_bytes_count__last .
H152:  skein_512_block_bytes_index__first = 0 .
H153:  0 + (1 - 1) * skein_512_block_bytes_c + 63 <= 
           skein_512_block_bytes_index__last .
H154:  0 + 63 <= skein_512_block_bytes_index__last .
H155:  skein_512_block_bytes_index__last <= natural__last .
H156:  0 <= natural__last - 63 .
H157:  fld_hash_bit_len(fld_h(local_ctx__5)) >= 
           initialized_hash_bit_length__first .
H158:  fld_hash_bit_len(fld_h(local_ctx__5)) <= 
           initialized_hash_bit_length__last .
H159:  fld_hash_bit_len(fld_h(local_ctx__5)) = fld_hash_bit_len(fld_h(
           local_ctx__4)) .
H160:  fld_byte_count(fld_h(local_ctx__5)) >= 
           skein_512_block_bytes_count__first .
H161:  fld_byte_count(fld_h(local_ctx__5)) <= 
           skein_512_block_bytes_count__last .
H162:  fld_byte_count(fld_h(local_ctx__5)) = fld_byte_count(fld_h(
           local_ctx__4)) .
H163:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__5), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__5), [i___2]) <= 
           spark__unsigned__byte__last))) .
H164:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__5), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__5), [i___1]) <= 
           spark__unsigned__u64__last))) .
H165:  fld_byte_count(fld_h(local_ctx__5)) >= natural__first .
H166:  fld_byte_count(fld_h(local_ctx__5)) <= natural__last .
H167:  fld_hash_bit_len(fld_h(local_ctx__5)) >= 
           hash_bit_length__first .
H168:  fld_hash_bit_len(fld_h(local_ctx__5)) <= 
           hash_bit_length__last .
H169:  true .
H170:  true .
H171:  fld_field_type(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u6__first .
H172:  fld_field_type(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u6__last .
H173:  true .
H174:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u7__first .
H175:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u7__last .
H176:  fld_reserved(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u16__first .
H177:  fld_reserved(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u16__last .
H178:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u32__first .
H179:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u32__last .
H180:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u64__first .
H181:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u64__last .
H182:  blocks_done >= output_block_count_t__first .
H183:  blocks_done <= output_block_count_t__last .
H184:  byte_count >= output_byte_count_t__first .
H185:  byte_count <= output_byte_count_t__last .
H186:  byte_count - blocks_done * skein_512_block_bytes_c >= 
           natural__first .
H187:  byte_count - blocks_done * skein_512_block_bytes_c <= 
           natural__last .
H188:  blocks_done * skein_512_block_bytes_c >= integer__base__first .
H189:  blocks_done * skein_512_block_bytes_c <= integer__base__last .
H190:  byte_count - blocks_done * skein_512_block_bytes_c >= 
           natural__first .
H191:  byte_count - blocks_done * skein_512_block_bytes_c <= 
           natural__last .
H192:  not (byte_count - blocks_done * 
           skein_512_block_bytes_c >= 
           skein_512_block_bytes_c) .
H193:  for_all(i___1: integer, ((i___1 >= 
           result__index__subtype__1__first) and (i___1 <= 
           result__index__subtype__1__last)) -> ((element(
           result, [i___1]) >= spark__unsigned__byte__first) and (element(
           result, [i___1]) <= spark__unsigned__byte__last))) .
H194:  blocks_done >= output_block_count_t__first .
H195:  blocks_done <= output_block_count_t__last .
H196:  for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx__5), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx__5), [i___2]) <= 
           spark__unsigned__byte__last))) .
H197:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx__5), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx__5), [i___1]) <= 
           spark__unsigned__u64__last))) .
H198:  fld_byte_count(fld_h(local_ctx__5)) >= natural__first .
H199:  fld_byte_count(fld_h(local_ctx__5)) <= natural__last .
H200:  fld_hash_bit_len(fld_h(local_ctx__5)) >= 
           hash_bit_length__first .
H201:  fld_hash_bit_len(fld_h(local_ctx__5)) <= 
           hash_bit_length__last .
H202:  true .
H203:  true .
H204:  fld_field_type(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u6__first .
H205:  fld_field_type(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u6__last .
H206:  true .
H207:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u7__first .
H208:  fld_tree_level(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u7__last .
H209:  fld_reserved(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u16__first .
H210:  fld_reserved(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u16__last .
H211:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u32__first .
H212:  fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u32__last .
H213:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__5))) >= 
           spark__unsigned__u64__first .
H214:  fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx__5))) <= 
           spark__unsigned__u64__last .
H215:  byte_count - blocks_done * skein_512_block_bytes_c >= 
           natural__first .
H216:  byte_count - blocks_done * skein_512_block_bytes_c <= 
           natural__last .
H217:  byte_count - blocks_done * skein_512_block_bytes_c >= 
           natural__first .
H218:  byte_count - blocks_done * skein_512_block_bytes_c <= 
           natural__last .
H219:  blocks_done * skein_512_block_bytes_c >= natural__first .
H220:  blocks_done * skein_512_block_bytes_c <= natural__last .
H221:  result__index__subtype__1__first = 0 .
H222:  skein_512_state_words_index__first = 0 .
H223:  result__index__subtype__1__last >= blocks_done * 
           skein_512_block_bytes_c + (byte_count - 
           blocks_done * skein_512_block_bytes_c - 1) .
H224:  byte_count - blocks_done * skein_512_block_bytes_c <= (
           skein_512_state_words_index__last + 1) * 8 .
H225:  blocks_done * skein_512_block_bytes_c >= integer__base__first .
H226:  blocks_done * skein_512_block_bytes_c <= integer__base__last .
H227:  for_all(i___1: integer, ((i___1 >= 
           result__index__subtype__1__first) and (i___1 <= 
           result__index__subtype__1__last)) -> ((element(result__6, [
           i___1]) >= spark__unsigned__byte__first) and (element(
           result__6, [i___1]) <= spark__unsigned__byte__last))) .
H228:  for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(
           x, [i___1]) >= spark__unsigned__u64__first) and (element(
           x, [i___1]) <= spark__unsigned__u64__last))) .
H229:  blocks_done >= output_block_count_t__first .
H230:  blocks_done <= output_block_count_t__last .
        ->
C1:    blocks_done + 1 >= output_block_count_t__first .
C2:    blocks_done + 1 <= output_block_count_t__last .
 

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

procedure_skein_512_final_31.
*** true .          /* trivially true VC removed by Examiner */


procedure_skein_512_final_32.
*** true .          /* trivially true VC removed by Examiner */


For checks of refinement integrity: 

procedure_skein_512_final_33.
H1:    hash_bit_len_of(ctx) >= initialized_hash_bit_length__first .
H2:    hash_bit_len_of(ctx) <= initialized_hash_bit_length__last .
H3:    byte_count_of(ctx) >= skein_512_block_bytes_count__first .
H4:    byte_count_of(ctx) <= skein_512_block_bytes_count__last .
H5:    result__index__subtype__1__first = 0 .
H6:    (hash_bit_len_of(ctx) + 7) div 8 <= 
           result__index__subtype__1__last + 1 .
H7:    for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(ctx), [i___2]) <= spark__unsigned__byte__last))) .
H8:    for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(ctx), [i___1]) <= spark__unsigned__u64__last))) .
H9:    fld_byte_count(fld_h(ctx)) >= natural__first .
H10:   fld_byte_count(fld_h(ctx)) <= natural__last .
H11:   fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first .
H12:   fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last .
H13:   true .
H14:   true .
H15:   fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u6__first .
H16:   fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u6__last .
H17:   true .
H18:   fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u7__first .
H19:   fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u7__last .
H20:   fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u16__first .
H21:   fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u16__last .
H22:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u32__first .
H23:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u32__last .
H24:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u64__first .
H25:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u64__last .
        ->
C1:    fld_hash_bit_len(fld_h(ctx)) >= 
           initialized_hash_bit_length__first .
C2:    fld_hash_bit_len(fld_h(ctx)) <= 
           initialized_hash_bit_length__last .
C3:    fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_count__first .
C4:    fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_count__last .
C5:    result__index__subtype__1__first = 0 .
C6:    (fld_hash_bit_len(fld_h(ctx)) + 7) div 8 <= 
           result__index__subtype__1__last + 1 .
 

procedure_skein_512_final_34.
*** true .          /* trivially true VC removed by Examiner */


