           /*********************************************************/
                           /*Proof Rule Declarations*/
                             /*Examiner Pro Edition*/

           /*********************************************************/


      /*procedure Skein.Skein_512_Process_Block.Initialize_Key_Schedule*/


rule_family initialize_k_rules:
     X      requires [X:any] &
     X <= Y requires [X:ire, Y:ire] &
     X >= Y requires [X:ire, Y:ire].

initialize_k_rules(1): skein_ks_parity may_be_replaced_by 2004413935125273122.
initialize_k_rules(2): wcnt may_be_replaced_by 8.
initialize_k_rules(3): integer__size >= 0 may_be_deduced.
initialize_k_rules(4): integer__first may_be_replaced_by -2147483648.
initialize_k_rules(5): integer__last may_be_replaced_by 2147483647.
initialize_k_rules(6): integer__base__first may_be_replaced_by -2147483648.
initialize_k_rules(7): integer__base__last may_be_replaced_by 2147483647.
initialize_k_rules(8): natural__size >= 0 may_be_deduced.
initialize_k_rules(9): natural__first may_be_replaced_by 0.
initialize_k_rules(10): natural__last may_be_replaced_by 2147483647.
initialize_k_rules(11): natural__base__first may_be_replaced_by -2147483648.
initialize_k_rules(12): natural__base__last may_be_replaced_by 2147483647.
initialize_k_rules(13): interfaces__unsigned_8__size >= 0 may_be_deduced.
initialize_k_rules(14): interfaces__unsigned_8__size may_be_replaced_by 8.
initialize_k_rules(15): interfaces__unsigned_8__first may_be_replaced_by 0.
initialize_k_rules(16): interfaces__unsigned_8__last may_be_replaced_by 255.
initialize_k_rules(17): interfaces__unsigned_8__base__first may_be_replaced_by 0.
initialize_k_rules(18): interfaces__unsigned_8__base__last may_be_replaced_by 255.
initialize_k_rules(19): interfaces__unsigned_8__modulus may_be_replaced_by 256.
initialize_k_rules(20): interfaces__unsigned_16__size >= 0 may_be_deduced.
initialize_k_rules(21): interfaces__unsigned_16__size may_be_replaced_by 16.
initialize_k_rules(22): interfaces__unsigned_16__first may_be_replaced_by 0.
initialize_k_rules(23): interfaces__unsigned_16__last may_be_replaced_by 65535.
initialize_k_rules(24): interfaces__unsigned_16__base__first may_be_replaced_by 0.
initialize_k_rules(25): interfaces__unsigned_16__base__last may_be_replaced_by 65535.
initialize_k_rules(26): interfaces__unsigned_16__modulus may_be_replaced_by 65536.
initialize_k_rules(27): interfaces__unsigned_32__size >= 0 may_be_deduced.
initialize_k_rules(28): interfaces__unsigned_32__size may_be_replaced_by 32.
initialize_k_rules(29): interfaces__unsigned_32__first may_be_replaced_by 0.
initialize_k_rules(30): interfaces__unsigned_32__last may_be_replaced_by 4294967295.
initialize_k_rules(31): interfaces__unsigned_32__base__first may_be_replaced_by 0.
initialize_k_rules(32): interfaces__unsigned_32__base__last may_be_replaced_by 4294967295.
initialize_k_rules(33): interfaces__unsigned_32__modulus may_be_replaced_by 4294967296.
initialize_k_rules(34): interfaces__unsigned_64__size >= 0 may_be_deduced.
initialize_k_rules(35): interfaces__unsigned_64__size may_be_replaced_by 64.
initialize_k_rules(36): interfaces__unsigned_64__first may_be_replaced_by 0.
initialize_k_rules(37): interfaces__unsigned_64__last may_be_replaced_by 18446744073709551615.
initialize_k_rules(38): interfaces__unsigned_64__base__first may_be_replaced_by 0.
initialize_k_rules(39): interfaces__unsigned_64__base__last may_be_replaced_by 18446744073709551615.
initialize_k_rules(40): interfaces__unsigned_64__modulus may_be_replaced_by 18446744073709551616.
initialize_k_rules(41): spark__unsigned__u6__size >= 0 may_be_deduced.
initialize_k_rules(42): spark__unsigned__u6__first may_be_replaced_by 0.
initialize_k_rules(43): spark__unsigned__u6__last may_be_replaced_by 63.
initialize_k_rules(44): spark__unsigned__u6__base__first may_be_replaced_by 0.
initialize_k_rules(45): spark__unsigned__u6__base__last may_be_replaced_by 63.
initialize_k_rules(46): spark__unsigned__u6__modulus may_be_replaced_by 64.
initialize_k_rules(47): spark__unsigned__u7__size >= 0 may_be_deduced.
initialize_k_rules(48): spark__unsigned__u7__first may_be_replaced_by 0.
initialize_k_rules(49): spark__unsigned__u7__last may_be_replaced_by 127.
initialize_k_rules(50): spark__unsigned__u7__base__first may_be_replaced_by 0.
initialize_k_rules(51): spark__unsigned__u7__base__last may_be_replaced_by 127.
initialize_k_rules(52): spark__unsigned__u7__modulus may_be_replaced_by 128.
initialize_k_rules(53): spark__unsigned__byte__size >= 0 may_be_deduced.
initialize_k_rules(54): spark__unsigned__byte__first may_be_replaced_by 0.
initialize_k_rules(55): spark__unsigned__byte__last may_be_replaced_by 255.
initialize_k_rules(56): spark__unsigned__byte__base__first may_be_replaced_by 0.
initialize_k_rules(57): spark__unsigned__byte__base__last may_be_replaced_by 255.
initialize_k_rules(58): spark__unsigned__byte__modulus may_be_replaced_by 256.
initialize_k_rules(59): spark__unsigned__u16__size >= 0 may_be_deduced.
initialize_k_rules(60): spark__unsigned__u16__first may_be_replaced_by 0.
initialize_k_rules(61): spark__unsigned__u16__last may_be_replaced_by 65535.
initialize_k_rules(62): spark__unsigned__u16__base__first may_be_replaced_by 0.
initialize_k_rules(63): spark__unsigned__u16__base__last may_be_replaced_by 65535.
initialize_k_rules(64): spark__unsigned__u16__modulus may_be_replaced_by 65536.
initialize_k_rules(65): spark__unsigned__u32__size >= 0 may_be_deduced.
initialize_k_rules(66): spark__unsigned__u32__first may_be_replaced_by 0.
initialize_k_rules(67): spark__unsigned__u32__last may_be_replaced_by 4294967295.
initialize_k_rules(68): spark__unsigned__u32__base__first may_be_replaced_by 0.
initialize_k_rules(69): spark__unsigned__u32__base__last may_be_replaced_by 4294967295.
initialize_k_rules(70): spark__unsigned__u32__modulus may_be_replaced_by 4294967296.
initialize_k_rules(71): spark__unsigned__u64__size >= 0 may_be_deduced.
initialize_k_rules(72): spark__unsigned__u64__first may_be_replaced_by 0.
initialize_k_rules(73): spark__unsigned__u64__last may_be_replaced_by 18446744073709551615.
initialize_k_rules(74): spark__unsigned__u64__base__first may_be_replaced_by 0.
initialize_k_rules(75): spark__unsigned__u64__base__last may_be_replaced_by 18446744073709551615.
initialize_k_rules(76): spark__unsigned__u64__modulus may_be_replaced_by 18446744073709551616.
initialize_k_rules(77): spark__crypto__i8__size >= 0 may_be_deduced.
initialize_k_rules(78): spark__crypto__i8__first may_be_replaced_by 0.
initialize_k_rules(79): spark__crypto__i8__last may_be_replaced_by 7.
initialize_k_rules(80): spark__crypto__i8__base__first may_be_replaced_by -2147483648.
initialize_k_rules(81): spark__crypto__i8__base__last may_be_replaced_by 2147483647.
initialize_k_rules(82): spark__crypto__i9__size >= 0 may_be_deduced.
initialize_k_rules(83): spark__crypto__i9__first may_be_replaced_by 0.
initialize_k_rules(84): spark__crypto__i9__last may_be_replaced_by 8.
initialize_k_rules(85): spark__crypto__i9__base__first may_be_replaced_by -2147483648.
initialize_k_rules(86): spark__crypto__i9__base__last may_be_replaced_by 2147483647.
initialize_k_rules(87): spark__crypto__word_count_t__size >= 0 may_be_deduced.
initialize_k_rules(88): spark__crypto__word_count_t__first may_be_replaced_by 0.
initialize_k_rules(89): spark__crypto__word_count_t__last may_be_replaced_by 268435455.
initialize_k_rules(90): spark__crypto__word_count_t__base__first may_be_replaced_by -2147483648.
initialize_k_rules(91): spark__crypto__word_count_t__base__last may_be_replaced_by 2147483647.
initialize_k_rules(92): hash_bit_length__size >= 0 may_be_deduced.
initialize_k_rules(93): hash_bit_length__first may_be_replaced_by 0.
initialize_k_rules(94): hash_bit_length__last may_be_replaced_by 2147483640.
initialize_k_rules(95): hash_bit_length__base__first may_be_replaced_by -2147483648.
initialize_k_rules(96): hash_bit_length__base__last may_be_replaced_by 2147483647.
initialize_k_rules(97): skein_512_state_words_index__size >= 0 may_be_deduced.
initialize_k_rules(98): skein_512_state_words_index__first may_be_replaced_by 0.
initialize_k_rules(99): skein_512_state_words_index__last may_be_replaced_by 7.
initialize_k_rules(100): skein_512_state_words_index__base__first may_be_replaced_by -2147483648.
initialize_k_rules(101): skein_512_state_words_index__base__last may_be_replaced_by 2147483647.
initialize_k_rules(102): skein_512_block_bytes_index__size >= 0 may_be_deduced.
initialize_k_rules(103): skein_512_block_bytes_index__first may_be_replaced_by 0.
initialize_k_rules(104): skein_512_block_bytes_index__last may_be_replaced_by 63.
initialize_k_rules(105): skein_512_block_bytes_index__base__first may_be_replaced_by -2147483648.
initialize_k_rules(106): skein_512_block_bytes_index__base__last may_be_replaced_by 2147483647.
initialize_k_rules(107): skein_512_context__size >= 0 may_be_deduced.
initialize_k_rules(108): A = B may_be_deduced_from
     [goal(checktype(A,skein_512_context)),
      goal(checktype(B,skein_512_context)),
      fld_h(A) = fld_h(B),
      fld_x(A) = fld_x(B),
      fld_b(A) = fld_b(B)].
initialize_k_rules(109): tweak_value__size >= 0 may_be_deduced.
initialize_k_rules(110): tweak_value__size may_be_replaced_by 128.
initialize_k_rules(111): A = B may_be_deduced_from
     [goal(checktype(A,tweak_value)),
      goal(checktype(B,tweak_value)),
      fld_byte_count_lsb(A) = fld_byte_count_lsb(B),
      fld_byte_count_msb(A) = fld_byte_count_msb(B),
      fld_reserved(A) = fld_reserved(B),
      fld_tree_level(A) = fld_tree_level(B),
      fld_bit_pad(A) = fld_bit_pad(B),
      fld_field_type(A) = fld_field_type(B),
      fld_first_block(A) = fld_first_block(B),
      fld_final_block(A) = fld_final_block(B)].
initialize_k_rules(112): context_header__size >= 0 may_be_deduced.
initialize_k_rules(113): A = B may_be_deduced_from
     [goal(checktype(A,context_header)),
      goal(checktype(B,context_header)),
      fld_tweak_words(A) = fld_tweak_words(B),
      fld_hash_bit_len(A) = fld_hash_bit_len(B),
      fld_byte_count(A) = fld_byte_count(B)].
