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

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



SPARK Simplifier GPL 2012
Copyright (C) 2012 Altran Praxis Limited, Bath, U.K.

procedure Process_Dns_Request.Create_Response_EDNS






@@@@@@@@@@  VC: procedure_create_response_edns_1.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H6 on reading formula in, to give:
     %%%  H6:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H16 on reading formula in, to give:
     %%%  H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H25 on reading formula in, to give:
     %%%  H25:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of dns_types__udp_max_size 
          by:
          512.
<S>  New C1:  512 >= dns_types__packet_length_range__first
<S>  New C2:  512 <= dns_types__packet_length_range__last
-S-  Applied substitution rule create_respo_rules(26).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H17:  input_bytes >= 0
<S>  New C1:  true
-S-  Applied substitution rule create_respo_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H18:  input_bytes <= 8192
<S>  New C2:  true
***  Proved C1:  true
***  Proved C2:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_edns_2.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H6 on reading formula in, to give:
     %%%  H6:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H16 on reading formula in, to give:
     %%%  H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H25 on reading formula in, to give:
     %%%  H25:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified C11 on reading formula in, to give:
     %%%  C11:  true
***  Proved C11:  true
-S-  Applied substitution rule create_respo_rules(26).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H17:  input_bytes >= 0
<S>  New H40:  dns_types__udp_max_size >= 0
<S>  New C1:  start_byte + dns_types__header_bits div 8 >= 0
<S>  New C3:  start_byte + dns_types__header_bits div 8 >= 0
-S-  Applied substitution rule create_respo_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H18:  input_bytes <= 8192
<S>  New H41:  dns_types__udp_max_size <= 8192
<S>  New C2:  start_byte + dns_types__header_bits div 8 <= 8192
<S>  New C4:  start_byte + dns_types__header_bits div 8 <= 8192
-S-  Applied substitution rule create_respo_rules(33).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New C5:  start_byte + dns_types__header_bits div 8 >= - 2147483648
-S-  Applied substitution rule create_respo_rules(34).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New C6:  start_byte + dns_types__header_bits div 8 <= 2147483647
-S-  Applied substitution rule create_respo_rules(31).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= dns_types__byte__last)
<S>  New H19:  query_end_byte >= 1
<S>  New H21:  start_byte >= 1
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New C7:  dns_types__header_bits div 8 >= 1
-S-  Applied substitution rule create_respo_rules(32).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H20:  query_end_byte <= 8180
<S>  New H22:  start_byte <= 8180
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New C8:  dns_types__header_bits div 8 <= 8180
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New C9:  dns_types__header_bits div 8 >= - 9223372036854775808
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New C10:  dns_types__header_bits div 8 <= 9223372036854775807
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New C1:  start_byte >= - 12
<S>  New C3:  start_byte >= - 12
<S>  New C2:  start_byte <= 8180
<S>  New C4:  start_byte <= 8180
<S>  New C5:  start_byte >= - 2147483660
<S>  New C6:  start_byte <= 2147483635
<S>  New C7:  true
<S>  New C8:  true
<S>  New C9:  true
<S>  New C10:  true
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of dns_types__udp_max_size 
          by:
          512.
<S>  New H40:  true
<S>  New H41:  true
-S-  Applied substitution rule create_respo_rules(37).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= dns_types__byte__last)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(38).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= 255)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(44).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H2:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H8:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H10:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H12:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H14:  fld_arcount(fld_header(input_packet)) >= 0
<S>  New H23:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H29:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H31:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H33:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H35:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H38:  additional_count >= 0
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H1:  additional_count < 65535
<S>  New H3:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H9:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H11:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H13:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H15:  fld_arcount(fld_header(input_packet)) <= 65535
<S>  New H24:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H30:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H32:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H34:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H36:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H39:  additional_count <= 65535
-S-  Applied substitution rule create_respo_rules(50).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H4:  dns_types__query <= fld_opcode(fld_header(input_packet))
<S>  New H25:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(51).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H5:  fld_opcode(fld_header(input_packet)) <= dns_types__status
<S>  New H26:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(76).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H6:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
<S>  New H27:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(77).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H7:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
<S>  New H28:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
***  Proved C1:  start_byte >= - 12
     using hypothesis H21.
***  Proved C3:  start_byte >= - 12
     using hypothesis H21.
***  Proved C2:  start_byte <= 8180
     using hypothesis H22.
***  Proved C4:  start_byte <= 8180
     using hypothesis H22.
***  Proved C5:  start_byte >= - 2147483660
     using hypothesis H21.
***  Proved C6:  start_byte <= 2147483635
     using hypothesis H22.
***  Proved C7:  true
***  Proved C8:  true
***  Proved C9:  true
***  Proved C10:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_edns_3.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H6 on reading formula in, to give:
     %%%  H6:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H16 on reading formula in, to give:
     %%%  H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H25 on reading formula in, to give:
     %%%  H25:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H43).
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  true
%%%  Simplified C5 on reading formula in, to give:
     %%%  C5:  true
%%%  Simplified C16 on reading formula in, to give:
     %%%  C16:  true
***  Proved C3:  dns_types__header_bits div 8 >= system__min_int
     using hypothesis H50.
***  Proved C4:  dns_types__header_bits div 8 <= system__max_int
     using hypothesis H51.
***  Proved C5:  true
***  Proved C14:  dns_types__header_bits div 8 >= system__min_int
     using hypothesis H50.
***  Proved C15:  dns_types__header_bits div 8 <= system__max_int
     using hypothesis H51.
***  Proved C16:  true
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New C1:  start_byte + 11 + dns_types__header_bits div 8 >= - 2147483648
<S>  New C6:  start_byte >= - 2147483659
<S>  New C12:  query_end_byte + 11 + dns_types__header_bits div 8 >= - 
          2147483648
<S>  New C17:  query_end_byte >= - 2147483659
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New C2:  start_byte + 11 + dns_types__header_bits div 8 <= 2147483647
<S>  New C7:  start_byte <= 2147483636
<S>  New C13:  query_end_byte + 11 + dns_types__header_bits div 8 <= 2147483647
<S>  New C18:  query_end_byte <= 2147483636
-S-  Applied substitution rule create_respo_rules(16).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New C8:  start_byte >= - 2147483648
<S>  New C10:  input_bytes >= - 2147483648
<S>  New C19:  query_end_byte >= - 2147483648
-S-  Applied substitution rule create_respo_rules(17).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New C9:  start_byte <= 2147483647
<S>  New C11:  input_bytes <= 2147483647
<S>  New C20:  query_end_byte <= 2147483647
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H42:  start_byte + 12 >= dns_types__packet_length_range__first
<S>  New H43:  start_byte + 12 <= dns_types__packet_length_range__last
<S>  New H46:  start_byte + 12 >= dns_types__packet_bytes_range__base__first
<S>  New H47:  start_byte + 12 <= dns_types__packet_bytes_range__base__last
<S>  New H48:  12 >= dns_types__packet_bytes_range__first
<S>  New H49:  12 <= dns_types__packet_bytes_range__last
<S>  New H50:  12 >= system__min_int
<S>  New H51:  12 <= system__max_int
<S>  New C1:  start_byte + 11 >= - 2147483660
<S>  New C12:  query_end_byte + 11 >= - 2147483660
<S>  New C2:  start_byte + 11 <= 2147483635
<S>  New C13:  query_end_byte + 11 <= 2147483635
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of dns_types__udp_max_size 
          by:
          512.
<S>  New H40:  512 >= dns_types__packet_length_range__first
<S>  New H41:  512 <= dns_types__packet_length_range__last
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H50:  true
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H51:  true
-S-  Applied substitution rule create_respo_rules(26).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H17:  input_bytes >= 0
<S>  New H42:  start_byte >= - 12
<S>  New H40:  true
-S-  Applied substitution rule create_respo_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H18:  input_bytes <= 8192
<S>  New H43:  start_byte <= 8180
<S>  New H41:  true
-S-  Applied substitution rule create_respo_rules(31).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= dns_types__byte__last)
<S>  New H19:  query_end_byte >= 1
<S>  New H21:  start_byte >= 1
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H48:  true
-S-  Applied substitution rule create_respo_rules(32).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H20:  query_end_byte <= 8180
<S>  New H22:  start_byte <= 8180
<S>  New H49:  true
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(33).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H46:  start_byte >= - 2147483660
-S-  Applied substitution rule create_respo_rules(34).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H47:  start_byte <= 2147483635
-S-  Applied substitution rule create_respo_rules(37).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= dns_types__byte__last)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(38).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= 255)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(44).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H2:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H8:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H10:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H12:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H14:  fld_arcount(fld_header(input_packet)) >= 0
<S>  New H23:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H29:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H31:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H33:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H35:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H38:  additional_count >= 0
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H1:  additional_count < 65535
<S>  New H3:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H9:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H11:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H13:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H15:  fld_arcount(fld_header(input_packet)) <= 65535
<S>  New H24:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H30:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H32:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H34:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H36:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H39:  additional_count <= 65535
-S-  Applied substitution rule create_respo_rules(50).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H4:  dns_types__query <= fld_opcode(fld_header(input_packet))
<S>  New H25:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(51).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H5:  fld_opcode(fld_header(input_packet)) <= dns_types__status
<S>  New H26:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(76).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H6:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
<S>  New H27:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(77).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H7:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
<S>  New H28:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
%%%  Simplified C1 further, to give:
     %%%  C1:  start_byte >= - 2147483671
%%%  Simplified C2 further, to give:
     %%%  C2:  start_byte <= 2147483624
%%%  Simplified C12 further, to give:
     %%%  C12:  query_end_byte >= - 2147483671
%%%  Simplified C13 further, to give:
     %%%  C13:  query_end_byte <= 2147483624
***  Proved C6:  start_byte >= - 2147483659
     using hypothesis H42.
***  Proved C17:  query_end_byte >= - 2147483659
     using hypothesis H19.
***  Proved C7:  start_byte <= 2147483636
     using hypothesis H43.
***  Proved C18:  query_end_byte <= 2147483636
     using hypothesis H20.
***  Proved C8:  start_byte >= - 2147483648
     using hypothesis H42.
***  Proved C10:  input_bytes >= - 2147483648
     using hypothesis H17.
***  Proved C19:  query_end_byte >= - 2147483648
     using hypothesis H19.
***  Proved C9:  start_byte <= 2147483647
     using hypothesis H43.
***  Proved C11:  input_bytes <= 2147483647
     using hypothesis H18.
***  Proved C20:  query_end_byte <= 2147483647
     using hypothesis H20.
***  Proved C1:  start_byte >= - 2147483671
     using hypothesis H42.
***  Proved C2:  start_byte <= 2147483624
     using hypothesis H43.
***  Proved C12:  query_end_byte >= - 2147483671
     using hypothesis H19.
***  Proved C13:  query_end_byte <= 2147483624
     using hypothesis H20.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_edns_4.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H6 on reading formula in, to give:
     %%%  H6:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H16 on reading formula in, to give:
     %%%  H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H25 on reading formula in, to give:
     %%%  H25:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H43).
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  true
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H66 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H52).
***  Proved C5:  query_end_byte + 1 >= dns_types__packet_bytes_range__first
     using hypothesis H19.
-S-  Applied substitution rule create_respo_rules(21).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New C1:  element(fld_bytes(input_packet), [query_end_byte + 1]) >= 0
<S>  New C3:  element(fld_bytes(input_packet), [query_end_byte + 1]) >= 0
-S-  Applied substitution rule create_respo_rules(22).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New C2:  element(fld_bytes(input_packet), [query_end_byte + 1]) <= 255
<S>  New C4:  element(fld_bytes(input_packet), [query_end_byte + 1]) <= 255
-S-  Applied substitution rule create_respo_rules(32).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
          fld_bytes(input_packet), [i___1]) and element(fld_bytes(input_packet)
          , [i___1]) <= dns_types__byte__last)
<S>  New H20:  query_end_byte <= 8180
<S>  New H22:  start_byte <= 8180
<S>  New H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
          fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H49:  dns_types__header_bits div 8 <= 8180
<S>  New C6:  query_end_byte <= 8179
-S-  Applied substitution rule create_respo_rules(33).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H46:  start_byte + dns_types__header_bits div 8 >= - 2147483648
<S>  New C7:  query_end_byte >= - 2147483649
-S-  Applied substitution rule create_respo_rules(34).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H47:  start_byte + dns_types__header_bits div 8 <= 2147483647
<S>  New C8:  query_end_byte <= 2147483646
***  Proved C8:  query_end_byte <= 2147483646
     using hypothesis H20.
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H74:  start_byte + 11 + dns_types__header_bits div 8 < 8192
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H42:  start_byte + 12 >= dns_types__packet_length_range__first
<S>  New H43:  start_byte + 12 <= dns_types__packet_length_range__last
<S>  New H46:  start_byte >= - 2147483660
<S>  New H47:  start_byte <= 2147483635
<S>  New H48:  12 >= dns_types__packet_bytes_range__first
<S>  New H49:  true
<S>  New H50:  12 >= system__min_int
<S>  New H51:  12 <= system__max_int
<S>  New H53:  start_byte + 11 + 12 >= integer__base__first
<S>  New H54:  start_byte + 11 + 12 <= integer__base__last
<S>  New H64:  query_end_byte + 11 + 12 >= integer__base__first
<S>  New H65:  query_end_byte + 11 + 12 <= integer__base__last
<S>  New H73:  query_end_byte + 11 + 12 <= input_bytes
<S>  New H74:  start_byte + 11 < 8180
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of dns_types__udp_max_size 
          by:
          512.
<S>  New H40:  512 >= dns_types__packet_length_range__first
<S>  New H41:  512 <= dns_types__packet_length_range__last
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H50:  true
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H51:  true
-S-  Applied substitution rule create_respo_rules(16).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H60:  start_byte >= - 2147483648
<S>  New H62:  input_bytes >= - 2147483648
<S>  New H71:  query_end_byte >= - 2147483648
-S-  Applied substitution rule create_respo_rules(17).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H61:  start_byte <= 2147483647
<S>  New H63:  input_bytes <= 2147483647
<S>  New H72:  query_end_byte <= 2147483647
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H58:  start_byte >= - 2147483659
<S>  New H69:  query_end_byte >= - 2147483659
<S>  New H53:  start_byte >= - 2147483671
<S>  New H64:  query_end_byte >= - 2147483671
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H59:  start_byte <= 2147483636
<S>  New H70:  query_end_byte <= 2147483636
<S>  New H54:  start_byte <= 2147483624
<S>  New H65:  query_end_byte <= 2147483624
-S-  Applied substitution rule create_respo_rules(26).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H17:  input_bytes >= 0
<S>  New H42:  start_byte >= - 12
<S>  New H40:  true
-S-  Applied substitution rule create_respo_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H18:  input_bytes <= 8192
<S>  New H43:  start_byte <= 8180
<S>  New H41:  true
-S-  Applied substitution rule create_respo_rules(31).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H19:  query_end_byte >= 1
<S>  New H21:  start_byte >= 1
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H48:  true
-S-  Applied substitution rule create_respo_rules(37).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= dns_types__byte__last)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(38).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= 255)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(44).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H2:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H8:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H10:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H12:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H14:  fld_arcount(fld_header(input_packet)) >= 0
<S>  New H23:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H29:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H31:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H33:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H35:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H38:  additional_count >= 0
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H1:  additional_count < 65535
<S>  New H3:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H9:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H11:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H13:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H15:  fld_arcount(fld_header(input_packet)) <= 65535
<S>  New H24:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H30:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H32:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H34:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H36:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H39:  additional_count <= 65535
-S-  Applied substitution rule create_respo_rules(50).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H4:  dns_types__query <= fld_opcode(fld_header(input_packet))
<S>  New H25:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(51).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H5:  fld_opcode(fld_header(input_packet)) <= dns_types__status
<S>  New H26:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(76).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H6:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
<S>  New H27:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(77).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H7:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
<S>  New H28:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
%%%  Simplified H73 further, to give:
     %%%  H73:  query_end_byte + 23 <= input_bytes
%%%  Simplified H74 further, to give:
     %%%  H74:  start_byte < 8169
***  Proved C1:  element(fld_bytes(input_packet), [query_end_byte + 1]) >= 0
     using hypotheses H16, H18, H19 & H73.
***  Proved C3:  element(fld_bytes(input_packet), [query_end_byte + 1]) >= 0
     using hypotheses H16, H18, H19 & H73.
***  Proved C2:  element(fld_bytes(input_packet), [query_end_byte + 1]) <= 255
     using hypotheses H16, H18, H19 & H73.
***  Proved C4:  element(fld_bytes(input_packet), [query_end_byte + 1]) <= 255
     using hypotheses H16, H18, H19 & H73.
***  Proved C6:  query_end_byte <= 8179
     using hypotheses H18 & H73.
***  Proved C7:  query_end_byte >= - 2147483649
     using hypothesis H71.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_edns_5.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H6 on reading formula in, to give:
     %%%  H6:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H16 on reading formula in, to give:
     %%%  H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H25 on reading formula in, to give:
     %%%  H25:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H43).
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  true
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H66 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H75).
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H76).
***  Proved C5:  query_end_byte + 3 >= dns_types__packet_bytes_range__first
     using hypothesis H19.
***  Proved C7:  query_end_byte + 3 >= 
          dns_types__packet_bytes_range__base__first
     using hypothesis H81.
***  Proved C13:  query_end_byte + 2 >= dns_types__packet_bytes_range__first
     using hypothesis H19.
***  Proved C15:  query_end_byte + 2 >= 
          dns_types__packet_bytes_range__base__first
     using hypothesis H81.
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__base__first by:
          - 2147483648.
<S>  New C1:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) >= - 2147483648
<S>  New C9:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 >= - 
          2147483648
-S-  Applied substitution rule create_respo_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__base__last by:
          2147483647.
<S>  New C2:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) <= 2147483647
<S>  New C10:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 <= 
          2147483647
-S-  Applied substitution rule create_respo_rules(44).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H2:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H8:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H10:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H12:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H14:  fld_arcount(fld_header(input_packet)) >= 0
<S>  New H23:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H29:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H31:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H33:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H35:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H38:  additional_count >= 0
<S>  New C3:  element(fld_bytes(input_packet), [query_end_byte + 3]) >= 0
<S>  New C11:  element(fld_bytes(input_packet), [query_end_byte + 2]) >= 0
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H1:  additional_count < 65535
<S>  New H3:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H9:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H11:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H13:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H15:  fld_arcount(fld_header(input_packet)) <= 65535
<S>  New H24:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H30:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H32:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H34:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H36:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H39:  additional_count <= 65535
<S>  New C4:  element(fld_bytes(input_packet), [query_end_byte + 3]) <= 65535
<S>  New C12:  element(fld_bytes(input_packet), [query_end_byte + 2]) <= 65535
-S-  Applied substitution rule create_respo_rules(32).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
          fld_bytes(input_packet), [i___1]) and element(fld_bytes(input_packet)
          , [i___1]) <= dns_types__byte__last)
<S>  New H20:  query_end_byte <= 8180
<S>  New H22:  start_byte <= 8180
<S>  New H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
          fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H49:  dns_types__header_bits div 8 <= 8180
<S>  New H80:  query_end_byte <= 8179
<S>  New C6:  query_end_byte <= 8177
<S>  New C14:  query_end_byte <= 8178
-S-  Applied substitution rule create_respo_rules(34).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H47:  start_byte + dns_types__header_bits div 8 <= 2147483647
<S>  New H82:  query_end_byte <= 2147483646
<S>  New C8:  query_end_byte <= 2147483644
<S>  New C16:  query_end_byte <= 2147483645
***  Proved C8:  query_end_byte <= 2147483644
     using hypothesis H20.
***  Proved C16:  query_end_byte <= 2147483645
     using hypothesis H20.
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H74:  start_byte + 11 + dns_types__header_bits div 8 < 8192
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H42:  start_byte + 12 >= dns_types__packet_length_range__first
<S>  New H43:  start_byte + 12 <= dns_types__packet_length_range__last
<S>  New H46:  start_byte + 12 >= dns_types__packet_bytes_range__base__first
<S>  New H47:  start_byte <= 2147483635
<S>  New H48:  12 >= dns_types__packet_bytes_range__first
<S>  New H49:  true
<S>  New H50:  12 >= system__min_int
<S>  New H51:  12 <= system__max_int
<S>  New H53:  start_byte + 11 + 12 >= integer__base__first
<S>  New H54:  start_byte + 11 + 12 <= integer__base__last
<S>  New H64:  query_end_byte + 11 + 12 >= integer__base__first
<S>  New H65:  query_end_byte + 11 + 12 <= integer__base__last
<S>  New H73:  query_end_byte + 11 + 12 <= input_bytes
<S>  New H74:  start_byte + 11 < 8180
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of dns_types__udp_max_size 
          by:
          512.
<S>  New H40:  512 >= dns_types__packet_length_range__first
<S>  New H41:  512 <= dns_types__packet_length_range__last
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H50:  true
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H51:  true
-S-  Applied substitution rule create_respo_rules(16).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H60:  start_byte >= - 2147483648
<S>  New H62:  input_bytes >= - 2147483648
<S>  New H71:  query_end_byte >= - 2147483648
-S-  Applied substitution rule create_respo_rules(17).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H61:  start_byte <= 2147483647
<S>  New H63:  input_bytes <= 2147483647
<S>  New H72:  query_end_byte <= 2147483647
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H58:  start_byte >= - 2147483659
<S>  New H69:  query_end_byte >= - 2147483659
<S>  New H53:  start_byte >= - 2147483671
<S>  New H64:  query_end_byte >= - 2147483671
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H59:  start_byte <= 2147483636
<S>  New H70:  query_end_byte <= 2147483636
<S>  New H54:  start_byte <= 2147483624
<S>  New H65:  query_end_byte <= 2147483624
-S-  Applied substitution rule create_respo_rules(21).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H75:  element(fld_bytes(input_packet), [query_end_byte + 1]) >= 0
-S-  Applied substitution rule create_respo_rules(22).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H76:  element(fld_bytes(input_packet), [query_end_byte + 1]) <= 255
-S-  Applied substitution rule create_respo_rules(26).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H17:  input_bytes >= 0
<S>  New H42:  start_byte >= - 12
<S>  New H40:  true
-S-  Applied substitution rule create_respo_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H18:  input_bytes <= 8192
<S>  New H43:  start_byte <= 8180
<S>  New H41:  true
-S-  Applied substitution rule create_respo_rules(31).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H19:  query_end_byte >= 1
<S>  New H21:  start_byte >= 1
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H79:  query_end_byte >= 0
<S>  New H48:  true
-S-  Applied substitution rule create_respo_rules(33).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H81:  query_end_byte >= - 2147483649
<S>  New H46:  start_byte >= - 2147483660
-S-  Applied substitution rule create_respo_rules(37).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= dns_types__byte__last)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(38).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= 255)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(50).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H4:  dns_types__query <= fld_opcode(fld_header(input_packet))
<S>  New H25:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(51).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H5:  fld_opcode(fld_header(input_packet)) <= dns_types__status
<S>  New H26:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(76).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H6:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
<S>  New H27:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(77).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H7:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
<S>  New H28:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
%%%  Simplified H73 further, to give:
     %%%  H73:  query_end_byte + 23 <= input_bytes
%%%  Simplified H74 further, to give:
     %%%  H74:  start_byte < 8169
***  Proved C9:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 
          >= - 2147483648
     using hypotheses H16, H18, H19 & H73.
***  Proved C10:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 
          <= 2147483647
     using hypotheses H16, H18, H19 & H73.
***  Proved C3:  element(fld_bytes(input_packet), [query_end_byte + 3]) >= 0
     using hypotheses H16, H18, H19 & H73.
***  Proved C11:  element(fld_bytes(input_packet), [query_end_byte + 2]) >= 0
     using hypotheses H16, H18, H19 & H73.
***  Proved C4:  element(fld_bytes(input_packet), [query_end_byte + 3]) <= 65535
     using hypotheses H16, H18, H19 & H73.
***  Proved C12:  element(fld_bytes(input_packet), [query_end_byte + 2]) <= 
          65535
     using hypotheses H16, H18, H19 & H73.
***  Proved C6:  query_end_byte <= 8177
     using hypotheses H18 & H73.
***  Proved C14:  query_end_byte <= 8178
     using hypotheses H18 & H73.
---  Eliminated hypothesis H44 (true-hypothesis).
---  Eliminated hypothesis H45 (true-hypothesis).
---  Eliminated hypothesis H52 (true-hypothesis).
---  Eliminated hypothesis H55 (true-hypothesis).
---  Eliminated hypothesis H56 (true-hypothesis).
---  Eliminated hypothesis H57 (true-hypothesis).
---  Eliminated hypothesis H66 (true-hypothesis).
---  Eliminated hypothesis H67 (true-hypothesis).
---  Eliminated hypothesis H68 (true-hypothesis).
---  Eliminated hypothesis H77 (true-hypothesis).
---  Eliminated hypothesis H78 (true-hypothesis).
---  Eliminated hypothesis H49 (true-hypothesis).
---  Eliminated hypothesis H50 (true-hypothesis).
---  Eliminated hypothesis H51 (true-hypothesis).
---  Eliminated hypothesis H40 (true-hypothesis).
---  Eliminated hypothesis H41 (true-hypothesis).
---  Eliminated hypothesis H48 (true-hypothesis).
---  Eliminated hypothesis H43 (duplicate of H22).
---  Eliminated hypothesis H17 (redundant, given H19 & H73).
---  Eliminated hypothesis H20 (redundant, given H80).
---  Eliminated hypothesis H22 (redundant, given H74).
---  Eliminated hypothesis H39 (redundant, given H1).
---  Eliminated hypothesis H42 (redundant, given H21).
---  Eliminated hypothesis H46 (redundant, given H21).
---  Eliminated hypothesis H47 (redundant, given H54).
---  Eliminated hypothesis H53 (redundant, given H21).
---  Eliminated hypothesis H54 (redundant, given H74).
---  Eliminated hypothesis H58 (redundant, given H21).
---  Eliminated hypothesis H59 (redundant, given H74).
---  Eliminated hypothesis H60 (redundant, given H21).
---  Eliminated hypothesis H61 (redundant, given H74).
---  Eliminated hypothesis H62 (redundant, given H19 & H73).
---  Eliminated hypothesis H63 (redundant, given H18).
---  Eliminated hypothesis H64 (redundant, given H19).
---  Eliminated hypothesis H65 (redundant, given H80).
---  Eliminated hypothesis H69 (redundant, given H19).
---  Eliminated hypothesis H70 (redundant, given H80).
---  Eliminated hypothesis H71 (redundant, given H19).
---  Eliminated hypothesis H72 (redundant, given H80).
---  Eliminated hypothesis H79 (redundant, given H19).
---  Eliminated hypothesis H80 (redundant, given H18 & H73).
---  Eliminated hypothesis H81 (redundant, given H19).
---  Eliminated hypothesis H82 (redundant, given H18 & H73).
***  Proved C1:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) >= - 2147483648
     using hypotheses H16, H18, H19 & H73.
***  Proved C2:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) <= 2147483647
     using hypotheses H16, H18, H19 & H73.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_edns_6.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H6 on reading formula in, to give:
     %%%  H6:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H16 on reading formula in, to give:
     %%%  H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H25 on reading formula in, to give:
     %%%  H25:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H43).
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  true
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H66 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H75).
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H76).
-S-  Applied substitution rule create_respo_rules(21).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H75:  element(fld_bytes(input_packet), [query_end_byte + 1]) >= 0
<S>  New C1:  true
-S-  Applied substitution rule create_respo_rules(22).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H76:  element(fld_bytes(input_packet), [query_end_byte + 1]) <= 255
<S>  New C2:  true
***  Proved C1:  true
***  Proved C2:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_edns_7.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H6 on reading formula in, to give:
     %%%  H6:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H16 on reading formula in, to give:
     %%%  H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H25 on reading formula in, to give:
     %%%  H25:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H43).
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  true
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H66 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H75).
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H76).
%%%  Simplified H101 on reading formula in, to give:
     %%%  H101:  element(fld_bytes(input_packet), [query_end_byte + 1]) = 0
%%%  Simplified H102 on reading formula in, to give:
     %%%  H102:  to_query_type(element(fld_bytes(input_packet), [query_end_byte 
          + 2]) * 256 + element(fld_bytes(input_packet), [query_end_byte + 3])) 
          = dns_types__opt
***  Proved C5:  query_end_byte + 5 >= dns_types__packet_bytes_range__first
     using hypothesis H19.
***  Proved C7:  query_end_byte + 5 >= 
          dns_types__packet_bytes_range__base__first
     using hypothesis H81.
***  Proved C13:  query_end_byte + 4 >= dns_types__packet_bytes_range__first
     using hypothesis H19.
***  Proved C15:  query_end_byte + 4 >= 
          dns_types__packet_bytes_range__base__first
     using hypothesis H81.
-S-  Applied substitution rule create_respo_rules(44).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H2:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H8:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H10:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H12:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H14:  fld_arcount(fld_header(input_packet)) >= 0
<S>  New H23:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H29:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H31:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H33:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H35:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H38:  additional_count >= 0
<S>  New H85:  element(fld_bytes(input_packet), [query_end_byte + 3]) >= 0
<S>  New H93:  element(fld_bytes(input_packet), [query_end_byte + 2]) >= 0
<S>  New C1:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 5]) >= 0
<S>  New C3:  element(fld_bytes(input_packet), [query_end_byte + 5]) >= 0
<S>  New C11:  element(fld_bytes(input_packet), [query_end_byte + 4]) >= 0
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H1:  additional_count < 65535
<S>  New H3:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H9:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H11:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H13:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H15:  fld_arcount(fld_header(input_packet)) <= 65535
<S>  New H24:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H30:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H32:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H34:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H36:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H39:  additional_count <= 65535
<S>  New H86:  element(fld_bytes(input_packet), [query_end_byte + 3]) <= 65535
<S>  New H94:  element(fld_bytes(input_packet), [query_end_byte + 2]) <= 65535
<S>  New C2:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 5]) <= 65535
<S>  New C4:  element(fld_bytes(input_packet), [query_end_byte + 5]) <= 65535
<S>  New C12:  element(fld_bytes(input_packet), [query_end_byte + 4]) <= 65535
-S-  Applied substitution rule create_respo_rules(32).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
          fld_bytes(input_packet), [i___1]) and element(fld_bytes(input_packet)
          , [i___1]) <= dns_types__byte__last)
<S>  New H20:  query_end_byte <= 8180
<S>  New H22:  start_byte <= 8180
<S>  New H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
          fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H49:  dns_types__header_bits div 8 <= 8180
<S>  New H80:  query_end_byte <= 8179
<S>  New H88:  query_end_byte <= 8177
<S>  New H96:  query_end_byte <= 8178
<S>  New C6:  query_end_byte <= 8175
<S>  New C14:  query_end_byte <= 8176
-S-  Applied substitution rule create_respo_rules(34).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H47:  start_byte + dns_types__header_bits div 8 <= 2147483647
<S>  New H82:  query_end_byte <= 2147483646
<S>  New H90:  query_end_byte <= 2147483644
<S>  New H98:  query_end_byte <= 2147483645
<S>  New C8:  query_end_byte <= 2147483642
<S>  New C16:  query_end_byte <= 2147483643
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__base__first by:
          - 2147483648.
<S>  New H83:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) >= - 2147483648
<S>  New H91:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 >= 
          - 2147483648
<S>  New C9:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 >= - 
          2147483648
-S-  Applied substitution rule create_respo_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__base__last by:
          2147483647.
<S>  New H84:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) <= 2147483647
<S>  New H92:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 <= 
          2147483647
<S>  New C10:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 <= 
          2147483647
***  Proved C8:  query_end_byte <= 2147483642
     using hypothesis H20.
***  Proved C16:  query_end_byte <= 2147483643
     using hypothesis H20.
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H74:  start_byte + 11 + dns_types__header_bits div 8 < 8192
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H42:  start_byte + 12 >= dns_types__packet_length_range__first
<S>  New H43:  start_byte + 12 <= dns_types__packet_length_range__last
<S>  New H46:  start_byte + 12 >= dns_types__packet_bytes_range__base__first
<S>  New H47:  start_byte <= 2147483635
<S>  New H48:  12 >= dns_types__packet_bytes_range__first
<S>  New H49:  true
<S>  New H50:  12 >= system__min_int
<S>  New H51:  12 <= system__max_int
<S>  New H53:  start_byte + 11 + 12 >= integer__base__first
<S>  New H54:  start_byte + 11 + 12 <= integer__base__last
<S>  New H64:  query_end_byte + 11 + 12 >= integer__base__first
<S>  New H65:  query_end_byte + 11 + 12 <= integer__base__last
<S>  New H73:  query_end_byte + 11 + 12 <= input_bytes
<S>  New H74:  start_byte + 11 < 8180
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of dns_types__udp_max_size 
          by:
          512.
<S>  New H40:  512 >= dns_types__packet_length_range__first
<S>  New H41:  512 <= dns_types__packet_length_range__last
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H50:  true
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H51:  true
-S-  Applied substitution rule create_respo_rules(16).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H60:  start_byte >= - 2147483648
<S>  New H62:  input_bytes >= - 2147483648
<S>  New H71:  query_end_byte >= - 2147483648
-S-  Applied substitution rule create_respo_rules(17).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H61:  start_byte <= 2147483647
<S>  New H63:  input_bytes <= 2147483647
<S>  New H72:  query_end_byte <= 2147483647
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H58:  start_byte >= - 2147483659
<S>  New H69:  query_end_byte >= - 2147483659
<S>  New H53:  start_byte >= - 2147483671
<S>  New H64:  query_end_byte >= - 2147483671
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H59:  start_byte <= 2147483636
<S>  New H70:  query_end_byte <= 2147483636
<S>  New H54:  start_byte <= 2147483624
<S>  New H65:  query_end_byte <= 2147483624
-S-  Applied substitution rule create_respo_rules(21).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H75:  element(fld_bytes(input_packet), [query_end_byte + 1]) >= 0
<S>  New H99:  true
-S-  Applied substitution rule create_respo_rules(22).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H76:  element(fld_bytes(input_packet), [query_end_byte + 1]) <= 255
<S>  New H100:  true
-S-  Applied substitution rule create_respo_rules(26).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H17:  input_bytes >= 0
<S>  New H42:  start_byte >= - 12
<S>  New H40:  true
-S-  Applied substitution rule create_respo_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H18:  input_bytes <= 8192
<S>  New H43:  start_byte <= 8180
<S>  New H41:  true
-S-  Applied substitution rule create_respo_rules(31).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H19:  query_end_byte >= 1
<S>  New H21:  start_byte >= 1
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H79:  query_end_byte >= 0
<S>  New H87:  query_end_byte >= - 2
<S>  New H95:  query_end_byte >= - 1
<S>  New H48:  true
-S-  Applied substitution rule create_respo_rules(33).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H81:  query_end_byte >= - 2147483649
<S>  New H89:  query_end_byte >= - 2147483651
<S>  New H97:  query_end_byte >= - 2147483650
<S>  New H46:  start_byte >= - 2147483660
-S-  Applied substitution rule create_respo_rules(37).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= dns_types__byte__last)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(38).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= 255)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(50).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H4:  dns_types__query <= fld_opcode(fld_header(input_packet))
<S>  New H25:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(51).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H5:  fld_opcode(fld_header(input_packet)) <= dns_types__status
<S>  New H26:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(76).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H6:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
<S>  New H27:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(77).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H7:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
<S>  New H28:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
%%%  Simplified H73 further, to give:
     %%%  H73:  query_end_byte + 23 <= input_bytes
%%%  Simplified H74 further, to give:
     %%%  H74:  start_byte < 8169
***  Proved C3:  element(fld_bytes(input_packet), [query_end_byte + 5]) >= 0
     using hypotheses H16, H18, H19 & H73.
***  Proved C11:  element(fld_bytes(input_packet), [query_end_byte + 4]) >= 0
     using hypotheses H16, H18, H19 & H73.
***  Proved C4:  element(fld_bytes(input_packet), [query_end_byte + 5]) <= 65535
     using hypotheses H16, H18, H19 & H73.
***  Proved C12:  element(fld_bytes(input_packet), [query_end_byte + 4]) <= 
          65535
     using hypotheses H16, H18, H19 & H73.
***  Proved C6:  query_end_byte <= 8175
     using hypotheses H18 & H73.
***  Proved C14:  query_end_byte <= 8176
     using hypotheses H18 & H73.
***  Proved C9:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 
          >= - 2147483648
     using hypotheses H16, H18, H19 & H73.
***  Proved C10:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 
          <= 2147483647
     using hypotheses H16, H18, H19 & H73.
---  Eliminated hypothesis H44 (true-hypothesis).
---  Eliminated hypothesis H45 (true-hypothesis).
---  Eliminated hypothesis H52 (true-hypothesis).
---  Eliminated hypothesis H55 (true-hypothesis).
---  Eliminated hypothesis H56 (true-hypothesis).
---  Eliminated hypothesis H57 (true-hypothesis).
---  Eliminated hypothesis H66 (true-hypothesis).
---  Eliminated hypothesis H67 (true-hypothesis).
---  Eliminated hypothesis H68 (true-hypothesis).
---  Eliminated hypothesis H77 (true-hypothesis).
---  Eliminated hypothesis H78 (true-hypothesis).
---  Eliminated hypothesis H49 (true-hypothesis).
---  Eliminated hypothesis H50 (true-hypothesis).
---  Eliminated hypothesis H51 (true-hypothesis).
---  Eliminated hypothesis H99 (true-hypothesis).
---  Eliminated hypothesis H100 (true-hypothesis).
---  Eliminated hypothesis H40 (true-hypothesis).
---  Eliminated hypothesis H41 (true-hypothesis).
---  Eliminated hypothesis H48 (true-hypothesis).
---  Eliminated hypothesis H43 (duplicate of H22).
---  Eliminated hypothesis H17 (redundant, given H19 & H73).
---  Eliminated hypothesis H20 (redundant, given H80).
---  Eliminated hypothesis H22 (redundant, given H74).
---  Eliminated hypothesis H39 (redundant, given H1).
---  Eliminated hypothesis H42 (redundant, given H21).
---  Eliminated hypothesis H46 (redundant, given H21).
---  Eliminated hypothesis H47 (redundant, given H54).
---  Eliminated hypothesis H53 (redundant, given H21).
---  Eliminated hypothesis H54 (redundant, given H74).
---  Eliminated hypothesis H58 (redundant, given H21).
---  Eliminated hypothesis H59 (redundant, given H74).
---  Eliminated hypothesis H60 (redundant, given H21).
---  Eliminated hypothesis H61 (redundant, given H74).
---  Eliminated hypothesis H62 (redundant, given H19 & H73).
---  Eliminated hypothesis H63 (redundant, given H18).
---  Eliminated hypothesis H64 (redundant, given H19).
---  Eliminated hypothesis H65 (redundant, given H80).
---  Eliminated hypothesis H69 (redundant, given H19).
---  Eliminated hypothesis H70 (redundant, given H80).
---  Eliminated hypothesis H71 (redundant, given H19).
---  Eliminated hypothesis H72 (redundant, given H80).
---  Eliminated hypothesis H75 (redundant, given H101).
---  Eliminated hypothesis H76 (redundant, given H101).
---  Eliminated hypothesis H79 (redundant, given H19).
---  Eliminated hypothesis H80 (redundant, given H88).
---  Eliminated hypothesis H81 (redundant, given H19).
---  Eliminated hypothesis H82 (redundant, given H88).
---  Eliminated hypothesis H87 (redundant, given H19).
---  Eliminated hypothesis H88 (redundant, given H18 & H73).
---  Eliminated hypothesis H89 (redundant, given H19).
---  Eliminated hypothesis H90 (redundant, given H96).
---  Eliminated hypothesis H91 (redundant, given H93).
---  Eliminated hypothesis H92 (redundant, given H94).
---  Eliminated hypothesis H95 (redundant, given H19).
---  Eliminated hypothesis H96 (redundant, given H18 & H73).
---  Eliminated hypothesis H97 (redundant, given H19).
---  Eliminated hypothesis H98 (redundant, given H18 & H73).
***  Proved C1:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 5]) >= 0
     using hypotheses H16, H18, H19 & H73.
***  Proved C2:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 5]) <= 65535
     using hypotheses H16, H18, H19 & H73.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_edns_8.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H6 on reading formula in, to give:
     %%%  H6:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H16 on reading formula in, to give:
     %%%  H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H25 on reading formula in, to give:
     %%%  H25:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H43).
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  true
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H66 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H75).
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H76).
%%%  Simplified H101 on reading formula in, to give:
     %%%  H101:  element(fld_bytes(input_packet), [query_end_byte + 1]) = 0
%%%  Simplified H102 on reading formula in, to give:
     %%%  H102:  to_query_type(element(fld_bytes(input_packet), [query_end_byte 
          + 2]) * 256 + element(fld_bytes(input_packet), [query_end_byte + 3])) 
          = dns_types__opt
***  Proved C3:  query_end_byte + 8 >= dns_types__packet_bytes_range__first
     using hypothesis H19.
***  Proved C5:  query_end_byte + 8 >= 
          dns_types__packet_bytes_range__base__first
     using hypothesis H81.
-S-  Applied substitution rule create_respo_rules(37).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= dns_types__packet_bytes_range__last -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= dns_types__byte__last)
<S>  New H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= dns_types__packet_bytes_range__last -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New C1:  element(fld_bytes(input_packet), [query_end_byte + 8]) >= 0
-S-  Applied substitution rule create_respo_rules(38).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= dns_types__packet_bytes_range__last -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= 255)
<S>  New H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= dns_types__packet_bytes_range__last -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
<S>  New C2:  element(fld_bytes(input_packet), [query_end_byte + 8]) <= 255
-S-  Applied substitution rule create_respo_rules(32).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H20:  query_end_byte <= 8180
<S>  New H22:  start_byte <= 8180
<S>  New H49:  dns_types__header_bits div 8 <= 8180
<S>  New H80:  query_end_byte <= 8179
<S>  New H88:  query_end_byte <= 8177
<S>  New H96:  query_end_byte <= 8178
<S>  New H108:  query_end_byte <= 8175
<S>  New H116:  query_end_byte <= 8176
<S>  New H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= 8180 -> 0 <= element(fld_bytes(input_packet), [
          i___1]) and element(fld_bytes(input_packet), [i___1]) <= 255)
<S>  New H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= 8180 -> 0 <= element(fld_bytes(output_packet), [
          i___1]) and element(fld_bytes(output_packet), [i___1]) <= 255)
<S>  New C4:  query_end_byte <= 8172
-S-  Applied substitution rule create_respo_rules(34).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H47:  start_byte + dns_types__header_bits div 8 <= 2147483647
<S>  New H82:  query_end_byte <= 2147483646
<S>  New H90:  query_end_byte <= 2147483644
<S>  New H98:  query_end_byte <= 2147483645
<S>  New H110:  query_end_byte <= 2147483642
<S>  New H118:  query_end_byte <= 2147483643
<S>  New C6:  query_end_byte <= 2147483639
***  Proved C6:  query_end_byte <= 2147483639
     using hypothesis H20.
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H74:  start_byte + 11 + dns_types__header_bits div 8 < 8192
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H42:  start_byte + 12 >= dns_types__packet_length_range__first
<S>  New H43:  start_byte + 12 <= dns_types__packet_length_range__last
<S>  New H46:  start_byte + 12 >= dns_types__packet_bytes_range__base__first
<S>  New H47:  start_byte <= 2147483635
<S>  New H48:  12 >= dns_types__packet_bytes_range__first
<S>  New H49:  true
<S>  New H50:  12 >= system__min_int
<S>  New H51:  12 <= system__max_int
<S>  New H53:  start_byte + 11 + 12 >= integer__base__first
<S>  New H54:  start_byte + 11 + 12 <= integer__base__last
<S>  New H64:  query_end_byte + 11 + 12 >= integer__base__first
<S>  New H65:  query_end_byte + 11 + 12 <= integer__base__last
<S>  New H73:  query_end_byte + 11 + 12 <= input_bytes
<S>  New H74:  start_byte + 11 < 8180
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of dns_types__udp_max_size 
          by:
          512.
<S>  New H40:  512 >= dns_types__packet_length_range__first
<S>  New H41:  512 <= dns_types__packet_length_range__last
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H50:  true
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H51:  true
-S-  Applied substitution rule create_respo_rules(16).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H60:  start_byte >= - 2147483648
<S>  New H62:  input_bytes >= - 2147483648
<S>  New H71:  query_end_byte >= - 2147483648
-S-  Applied substitution rule create_respo_rules(17).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H61:  start_byte <= 2147483647
<S>  New H63:  input_bytes <= 2147483647
<S>  New H72:  query_end_byte <= 2147483647
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H58:  start_byte >= - 2147483659
<S>  New H69:  query_end_byte >= - 2147483659
<S>  New H53:  start_byte >= - 2147483671
<S>  New H64:  query_end_byte >= - 2147483671
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H59:  start_byte <= 2147483636
<S>  New H70:  query_end_byte <= 2147483636
<S>  New H54:  start_byte <= 2147483624
<S>  New H65:  query_end_byte <= 2147483624
-S-  Applied substitution rule create_respo_rules(21).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H75:  element(fld_bytes(input_packet), [query_end_byte + 1]) >= 0
<S>  New H99:  true
-S-  Applied substitution rule create_respo_rules(22).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H76:  element(fld_bytes(input_packet), [query_end_byte + 1]) <= 255
<S>  New H100:  true
-S-  Applied substitution rule create_respo_rules(26).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H17:  input_bytes >= 0
<S>  New H42:  start_byte >= - 12
<S>  New H40:  true
-S-  Applied substitution rule create_respo_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H18:  input_bytes <= 8192
<S>  New H43:  start_byte <= 8180
<S>  New H41:  true
-S-  Applied substitution rule create_respo_rules(31).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= 255)
<S>  New H19:  query_end_byte >= 1
<S>  New H21:  start_byte >= 1
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
<S>  New H79:  query_end_byte >= 0
<S>  New H87:  query_end_byte >= - 2
<S>  New H95:  query_end_byte >= - 1
<S>  New H107:  query_end_byte >= - 4
<S>  New H115:  query_end_byte >= - 3
<S>  New H48:  true
-S-  Applied substitution rule create_respo_rules(33).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H81:  query_end_byte >= - 2147483649
<S>  New H89:  query_end_byte >= - 2147483651
<S>  New H97:  query_end_byte >= - 2147483650
<S>  New H109:  query_end_byte >= - 2147483653
<S>  New H117:  query_end_byte >= - 2147483652
<S>  New H46:  start_byte >= - 2147483660
-S-  Applied substitution rule create_respo_rules(44).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H2:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H8:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H10:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H12:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H14:  fld_arcount(fld_header(input_packet)) >= 0
<S>  New H23:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H29:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H31:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H33:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H35:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H38:  additional_count >= 0
<S>  New H85:  element(fld_bytes(input_packet), [query_end_byte + 3]) >= 0
<S>  New H93:  element(fld_bytes(input_packet), [query_end_byte + 2]) >= 0
<S>  New H103:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 5]) >= 0
<S>  New H105:  element(fld_bytes(input_packet), [query_end_byte + 5]) >= 0
<S>  New H113:  element(fld_bytes(input_packet), [query_end_byte + 4]) >= 0
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H1:  additional_count < 65535
<S>  New H3:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H9:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H11:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H13:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H15:  fld_arcount(fld_header(input_packet)) <= 65535
<S>  New H24:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H30:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H32:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H34:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H36:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H39:  additional_count <= 65535
<S>  New H86:  element(fld_bytes(input_packet), [query_end_byte + 3]) <= 65535
<S>  New H94:  element(fld_bytes(input_packet), [query_end_byte + 2]) <= 65535
<S>  New H104:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 5]) <= 65535
<S>  New H106:  element(fld_bytes(input_packet), [query_end_byte + 5]) <= 65535
<S>  New H114:  element(fld_bytes(input_packet), [query_end_byte + 4]) <= 65535
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__base__first by:
          - 2147483648.
<S>  New H83:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) >= - 2147483648
<S>  New H91:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 >= 
          - 2147483648
<S>  New H111:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 >= 
          - 2147483648
-S-  Applied substitution rule create_respo_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__base__last by:
          2147483647.
<S>  New H84:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) <= 2147483647
<S>  New H92:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 <= 
          2147483647
<S>  New H112:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 <= 
          2147483647
-S-  Applied substitution rule create_respo_rules(50).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H4:  dns_types__query <= fld_opcode(fld_header(input_packet))
<S>  New H25:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(51).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H5:  fld_opcode(fld_header(input_packet)) <= dns_types__status
<S>  New H26:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(76).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H6:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
<S>  New H27:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(77).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H7:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
<S>  New H28:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
%%%  Simplified H73 further, to give:
     %%%  H73:  query_end_byte + 23 <= input_bytes
%%%  Simplified H74 further, to give:
     %%%  H74:  start_byte < 8169
***  Proved C1:  element(fld_bytes(input_packet), [query_end_byte + 8]) >= 0
     using hypotheses H16, H18, H19 & H73.
***  Proved C2:  element(fld_bytes(input_packet), [query_end_byte + 8]) <= 255
     using hypotheses H16, H18, H19 & H73.
***  Proved C4:  query_end_byte <= 8172
     using hypotheses H18 & H73.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_edns_9.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H6 on reading formula in, to give:
     %%%  H6:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H16 on reading formula in, to give:
     %%%  H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H25 on reading formula in, to give:
     %%%  H25:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H43).
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  true
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H66 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H75).
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H76).
%%%  Simplified H101 on reading formula in, to give:
     %%%  H101:  element(fld_bytes(input_packet), [query_end_byte + 1]) = 0
%%%  Simplified H102 on reading formula in, to give:
     %%%  H102:  to_query_type(element(fld_bytes(input_packet), [query_end_byte 
          + 2]) * 256 + element(fld_bytes(input_packet), [query_end_byte + 3])) 
          = dns_types__opt
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) >= 
          dns_types__packet_length_range__first
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) <= 
          dns_types__packet_length_range__last
%%%  Simplified C3 on reading formula in, to give:
     %%%  C3:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) >= 
          dns_types__packet_length_range__first
%%%  Simplified C4 on reading formula in, to give:
     %%%  C4:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) <= 
          dns_types__packet_length_range__last
-S-  Applied substitution rule create_respo_rules(26).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H17:  input_bytes >= 0
<S>  New H40:  dns_types__udp_max_size >= 0
<S>  New H42:  start_byte + dns_types__header_bits div 8 >= 0
<S>  New C1:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) >= 0
<S>  New C3:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) >= 0
-S-  Applied substitution rule create_respo_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H18:  input_bytes <= 8192
<S>  New H41:  dns_types__udp_max_size <= 8192
<S>  New H43:  start_byte + dns_types__header_bits div 8 <= 8192
<S>  New C2:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) <= 8192
<S>  New C4:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) <= 8192
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H74:  start_byte + 11 + dns_types__header_bits div 8 < 8192
<S>  New C1:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) >= 0
<S>  New C3:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) >= 0
<S>  New C2:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) <= 8192
<S>  New C4:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) <= 8192
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H42:  start_byte >= - 12
<S>  New H43:  start_byte <= 8180
<S>  New H46:  start_byte + 12 >= dns_types__packet_bytes_range__base__first
<S>  New H47:  start_byte + 12 <= dns_types__packet_bytes_range__base__last
<S>  New H48:  12 >= dns_types__packet_bytes_range__first
<S>  New H49:  12 <= dns_types__packet_bytes_range__last
<S>  New H50:  12 >= system__min_int
<S>  New H51:  12 <= system__max_int
<S>  New H53:  start_byte + 11 + 12 >= integer__base__first
<S>  New H54:  start_byte + 11 + 12 <= integer__base__last
<S>  New H64:  query_end_byte + 11 + 12 >= integer__base__first
<S>  New H65:  query_end_byte + 11 + 12 <= integer__base__last
<S>  New H73:  query_end_byte + 11 + 12 <= input_bytes
<S>  New H74:  start_byte + 11 < 8180
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of dns_types__udp_max_size 
          by:
          512.
<S>  New H40:  true
<S>  New H41:  true
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H50:  true
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H51:  true
-S-  Applied substitution rule create_respo_rules(16).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H60:  start_byte >= - 2147483648
<S>  New H62:  input_bytes >= - 2147483648
<S>  New H71:  query_end_byte >= - 2147483648
-S-  Applied substitution rule create_respo_rules(17).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H61:  start_byte <= 2147483647
<S>  New H63:  input_bytes <= 2147483647
<S>  New H72:  query_end_byte <= 2147483647
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H58:  start_byte >= - 2147483659
<S>  New H69:  query_end_byte >= - 2147483659
<S>  New H53:  start_byte >= - 2147483671
<S>  New H64:  query_end_byte >= - 2147483671
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H59:  start_byte <= 2147483636
<S>  New H70:  query_end_byte <= 2147483636
<S>  New H54:  start_byte <= 2147483624
<S>  New H65:  query_end_byte <= 2147483624
-S-  Applied substitution rule create_respo_rules(21).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H75:  element(fld_bytes(input_packet), [query_end_byte + 1]) >= 0
<S>  New H99:  true
-S-  Applied substitution rule create_respo_rules(22).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H76:  element(fld_bytes(input_packet), [query_end_byte + 1]) <= 255
<S>  New H100:  true
-S-  Applied substitution rule create_respo_rules(31).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= dns_types__byte__last)
<S>  New H19:  query_end_byte >= 1
<S>  New H21:  start_byte >= 1
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H79:  query_end_byte >= 0
<S>  New H87:  query_end_byte >= - 2
<S>  New H95:  query_end_byte >= - 1
<S>  New H107:  query_end_byte >= - 4
<S>  New H115:  query_end_byte >= - 3
<S>  New H121:  query_end_byte >= - 7
<S>  New H48:  true
-S-  Applied substitution rule create_respo_rules(32).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H20:  query_end_byte <= 8180
<S>  New H22:  start_byte <= 8180
<S>  New H80:  query_end_byte <= 8179
<S>  New H88:  query_end_byte <= 8177
<S>  New H96:  query_end_byte <= 8178
<S>  New H108:  query_end_byte <= 8175
<S>  New H116:  query_end_byte <= 8176
<S>  New H122:  query_end_byte <= 8172
<S>  New H49:  true
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(33).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H81:  query_end_byte >= - 2147483649
<S>  New H89:  query_end_byte >= - 2147483651
<S>  New H97:  query_end_byte >= - 2147483650
<S>  New H109:  query_end_byte >= - 2147483653
<S>  New H117:  query_end_byte >= - 2147483652
<S>  New H123:  query_end_byte >= - 2147483656
<S>  New H46:  start_byte >= - 2147483660
-S-  Applied substitution rule create_respo_rules(34).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H82:  query_end_byte <= 2147483646
<S>  New H90:  query_end_byte <= 2147483644
<S>  New H98:  query_end_byte <= 2147483645
<S>  New H110:  query_end_byte <= 2147483642
<S>  New H118:  query_end_byte <= 2147483643
<S>  New H124:  query_end_byte <= 2147483639
<S>  New H47:  start_byte <= 2147483635
-S-  Applied substitution rule create_respo_rules(37).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H119:  element(fld_bytes(input_packet), [query_end_byte + 8]) >= 0
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= dns_types__byte__last)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(38).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H120:  element(fld_bytes(input_packet), [query_end_byte + 8]) <= 255
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= 255)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(44).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H2:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H8:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H10:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H12:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H14:  fld_arcount(fld_header(input_packet)) >= 0
<S>  New H23:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H29:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H31:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H33:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H35:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H38:  additional_count >= 0
<S>  New H85:  element(fld_bytes(input_packet), [query_end_byte + 3]) >= 0
<S>  New H93:  element(fld_bytes(input_packet), [query_end_byte + 2]) >= 0
<S>  New H103:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 5]) >= 0
<S>  New H105:  element(fld_bytes(input_packet), [query_end_byte + 5]) >= 0
<S>  New H113:  element(fld_bytes(input_packet), [query_end_byte + 4]) >= 0
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H1:  additional_count < 65535
<S>  New H3:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H9:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H11:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H13:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H15:  fld_arcount(fld_header(input_packet)) <= 65535
<S>  New H24:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H30:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H32:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H34:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H36:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H39:  additional_count <= 65535
<S>  New H86:  element(fld_bytes(input_packet), [query_end_byte + 3]) <= 65535
<S>  New H94:  element(fld_bytes(input_packet), [query_end_byte + 2]) <= 65535
<S>  New H104:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 5]) <= 65535
<S>  New H106:  element(fld_bytes(input_packet), [query_end_byte + 5]) <= 65535
<S>  New H114:  element(fld_bytes(input_packet), [query_end_byte + 4]) <= 65535
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__base__first by:
          - 2147483648.
<S>  New H83:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) >= - 2147483648
<S>  New H91:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 >= 
          - 2147483648
<S>  New H111:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 >= 
          - 2147483648
-S-  Applied substitution rule create_respo_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__base__last by:
          2147483647.
<S>  New H84:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) <= 2147483647
<S>  New H92:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 <= 
          2147483647
<S>  New H112:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 <= 
          2147483647
-S-  Applied substitution rule create_respo_rules(50).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H4:  dns_types__query <= fld_opcode(fld_header(input_packet))
<S>  New H25:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(51).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H5:  fld_opcode(fld_header(input_packet)) <= dns_types__status
<S>  New H26:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(76).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H6:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
<S>  New H27:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(77).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H7:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
<S>  New H28:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
%%%  Simplified H73 further, to give:
     %%%  H73:  query_end_byte + 23 <= input_bytes
%%%  Simplified H74 further, to give:
     %%%  H74:  start_byte < 8169
***  Proved C1:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) >= 0
     using hypothesis H103.
***  Proved C3:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) >= 0
     using hypothesis H103.
***  Proved C2:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) <= 8192
***  Proved C4:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) <= 8192
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_edns_10.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H6 on reading formula in, to give:
     %%%  H6:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H16 on reading formula in, to give:
     %%%  H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H25 on reading formula in, to give:
     %%%  H25:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H43).
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  true
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H66 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H75).
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H76).
%%%  Simplified H101 on reading formula in, to give:
     %%%  H101:  element(fld_bytes(input_packet), [query_end_byte + 1]) = 0
%%%  Simplified H102 on reading formula in, to give:
     %%%  H102:  to_query_type(element(fld_bytes(input_packet), [query_end_byte 
          + 2]) * 256 + element(fld_bytes(input_packet), [query_end_byte + 3])) 
          = dns_types__opt
%%%  Simplified H125 on reading formula in, to give:
     %%%  H125:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) >= 
          dns_types__packet_length_range__first
%%%  Simplified H126 on reading formula in, to give:
     %%%  H126:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) <= 
          dns_types__packet_length_range__last
---  Hypothesis H127 has been replaced by "true".  (It is already present, as 
          H125).
---  Hypothesis H128 has been replaced by "true".  (It is already present, as 
          H126).
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) >= 
          dns_types__packet_length_range__first
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) <= 
          dns_types__packet_length_range__last
***  Proved C1:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) >= 
          dns_types__packet_length_range__first
     using hypotheses H40 & H125.
***  Proved C2:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) <= 
          dns_types__packet_length_range__last
     using hypotheses H41 & H126.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_edns_11.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H6 on reading formula in, to give:
     %%%  H6:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H16 on reading formula in, to give:
     %%%  H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H25 on reading formula in, to give:
     %%%  H25:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H43).
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  true
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H66 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H75).
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H76).
%%%  Simplified H101 on reading formula in, to give:
     %%%  H101:  element(fld_bytes(input_packet), [query_end_byte + 1]) = 0
%%%  Simplified H102 on reading formula in, to give:
     %%%  H102:  to_query_type(element(fld_bytes(input_packet), [query_end_byte 
          + 2]) * 256 + element(fld_bytes(input_packet), [query_end_byte + 3])) 
          = dns_types__opt
%%%  Simplified H125 on reading formula in, to give:
     %%%  H125:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) >= 
          dns_types__packet_length_range__first
%%%  Simplified H126 on reading formula in, to give:
     %%%  H126:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) <= 
          dns_types__packet_length_range__last
---  Hypothesis H127 has been replaced by "true".  (It is already present, as 
          H125).
---  Hypothesis H128 has been replaced by "true".  (It is already present, as 
          H126).
%%%  Simplified H129 on reading formula in, to give:
     %%%  H129:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) >= 
          dns_types__packet_length_range__first
%%%  Simplified H130 on reading formula in, to give:
     %%%  H130:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) <= 
          dns_types__packet_length_range__last
***  Proved C3:  start_byte + 1 >= dns_types__packet_bytes_range__first
     using hypothesis H21.
-S-  Applied substitution rule create_respo_rules(37).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= dns_types__packet_bytes_range__last -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= dns_types__byte__last)
<S>  New H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= dns_types__packet_bytes_range__last -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H119:  element(fld_bytes(input_packet), [query_end_byte + 8]) >= 0
<S>  New C1:  true
-S-  Applied substitution rule create_respo_rules(38).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H120:  element(fld_bytes(input_packet), [query_end_byte + 8]) <= 255
<S>  New H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= dns_types__packet_bytes_range__last -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= 255)
<S>  New H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= dns_types__packet_bytes_range__last -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
<S>  New C2:  true
-S-  Applied substitution rule create_respo_rules(32).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H20:  query_end_byte <= 8180
<S>  New H22:  start_byte <= 8180
<S>  New H49:  dns_types__header_bits div 8 <= 8180
<S>  New H80:  query_end_byte <= 8179
<S>  New H88:  query_end_byte <= 8177
<S>  New H96:  query_end_byte <= 8178
<S>  New H108:  query_end_byte <= 8175
<S>  New H116:  query_end_byte <= 8176
<S>  New H122:  query_end_byte <= 8172
<S>  New H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= 8180 -> 0 <= element(fld_bytes(input_packet), [
          i___1]) and element(fld_bytes(input_packet), [i___1]) <= 255)
<S>  New H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= 8180 -> 0 <= element(fld_bytes(output_packet), [
          i___1]) and element(fld_bytes(output_packet), [i___1]) <= 255)
<S>  New C4:  start_byte <= 8179
-S-  Applied substitution rule create_respo_rules(33).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H46:  start_byte + dns_types__header_bits div 8 >= - 2147483648
<S>  New H81:  query_end_byte >= - 2147483649
<S>  New H89:  query_end_byte >= - 2147483651
<S>  New H97:  query_end_byte >= - 2147483650
<S>  New H109:  query_end_byte >= - 2147483653
<S>  New H117:  query_end_byte >= - 2147483652
<S>  New H123:  query_end_byte >= - 2147483656
<S>  New C5:  start_byte >= - 2147483649
-S-  Applied substitution rule create_respo_rules(34).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H47:  start_byte + dns_types__header_bits div 8 <= 2147483647
<S>  New H82:  query_end_byte <= 2147483646
<S>  New H90:  query_end_byte <= 2147483644
<S>  New H98:  query_end_byte <= 2147483645
<S>  New H110:  query_end_byte <= 2147483642
<S>  New H118:  query_end_byte <= 2147483643
<S>  New H124:  query_end_byte <= 2147483639
<S>  New C6:  start_byte <= 2147483646
***  Proved C1:  true
***  Proved C2:  true
***  Proved C6:  start_byte <= 2147483646
     using hypothesis H22.
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H74:  start_byte + 11 + dns_types__header_bits div 8 < 8192
<S>  New H125:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) >= 
          dns_types__packet_length_range__first
<S>  New H126:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) <= 
          dns_types__packet_length_range__last
<S>  New H129:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= dns_types__packet_length_range__first
<S>  New H130:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= dns_types__packet_length_range__last
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H42:  start_byte + 12 >= dns_types__packet_length_range__first
<S>  New H43:  start_byte + 12 <= dns_types__packet_length_range__last
<S>  New H46:  start_byte >= - 2147483660
<S>  New H47:  start_byte <= 2147483635
<S>  New H48:  12 >= dns_types__packet_bytes_range__first
<S>  New H49:  true
<S>  New H50:  12 >= system__min_int
<S>  New H51:  12 <= system__max_int
<S>  New H53:  start_byte + 11 + 12 >= integer__base__first
<S>  New H54:  start_byte + 11 + 12 <= integer__base__last
<S>  New H64:  query_end_byte + 11 + 12 >= integer__base__first
<S>  New H65:  query_end_byte + 11 + 12 <= integer__base__last
<S>  New H73:  query_end_byte + 11 + 12 <= input_bytes
<S>  New H74:  start_byte + 11 < 8180
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of dns_types__udp_max_size 
          by:
          512.
<S>  New H40:  512 >= dns_types__packet_length_range__first
<S>  New H41:  512 <= dns_types__packet_length_range__last
<S>  New H129:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= dns_types__packet_length_range__first
<S>  New H130:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= dns_types__packet_length_range__last
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H50:  true
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H51:  true
-S-  Applied substitution rule create_respo_rules(16).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H60:  start_byte >= - 2147483648
<S>  New H62:  input_bytes >= - 2147483648
<S>  New H71:  query_end_byte >= - 2147483648
-S-  Applied substitution rule create_respo_rules(17).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H61:  start_byte <= 2147483647
<S>  New H63:  input_bytes <= 2147483647
<S>  New H72:  query_end_byte <= 2147483647
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H58:  start_byte >= - 2147483659
<S>  New H69:  query_end_byte >= - 2147483659
<S>  New H53:  start_byte >= - 2147483671
<S>  New H64:  query_end_byte >= - 2147483671
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H59:  start_byte <= 2147483636
<S>  New H70:  query_end_byte <= 2147483636
<S>  New H54:  start_byte <= 2147483624
<S>  New H65:  query_end_byte <= 2147483624
-S-  Applied substitution rule create_respo_rules(21).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H75:  element(fld_bytes(input_packet), [query_end_byte + 1]) >= 0
<S>  New H99:  true
-S-  Applied substitution rule create_respo_rules(22).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H76:  element(fld_bytes(input_packet), [query_end_byte + 1]) <= 255
<S>  New H100:  true
-S-  Applied substitution rule create_respo_rules(26).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H17:  input_bytes >= 0
<S>  New H125:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) >= 0
<S>  New H42:  start_byte >= - 12
<S>  New H40:  true
<S>  New H129:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= 0
-S-  Applied substitution rule create_respo_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H18:  input_bytes <= 8192
<S>  New H126:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) <= 8192
<S>  New H43:  start_byte <= 8180
<S>  New H41:  true
<S>  New H130:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= 8192
-S-  Applied substitution rule create_respo_rules(31).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= 255)
<S>  New H19:  query_end_byte >= 1
<S>  New H21:  start_byte >= 1
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
<S>  New H79:  query_end_byte >= 0
<S>  New H87:  query_end_byte >= - 2
<S>  New H95:  query_end_byte >= - 1
<S>  New H107:  query_end_byte >= - 4
<S>  New H115:  query_end_byte >= - 3
<S>  New H121:  query_end_byte >= - 7
<S>  New H48:  true
-S-  Applied substitution rule create_respo_rules(44).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H2:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H8:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H10:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H12:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H14:  fld_arcount(fld_header(input_packet)) >= 0
<S>  New H23:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H29:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H31:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H33:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H35:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H38:  additional_count >= 0
<S>  New H85:  element(fld_bytes(input_packet), [query_end_byte + 3]) >= 0
<S>  New H93:  element(fld_bytes(input_packet), [query_end_byte + 2]) >= 0
<S>  New H103:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 5]) >= 0
<S>  New H105:  element(fld_bytes(input_packet), [query_end_byte + 5]) >= 0
<S>  New H113:  element(fld_bytes(input_packet), [query_end_byte + 4]) >= 0
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H1:  additional_count < 65535
<S>  New H3:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H9:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H11:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H13:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H15:  fld_arcount(fld_header(input_packet)) <= 65535
<S>  New H24:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H30:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H32:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H34:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H36:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H39:  additional_count <= 65535
<S>  New H86:  element(fld_bytes(input_packet), [query_end_byte + 3]) <= 65535
<S>  New H94:  element(fld_bytes(input_packet), [query_end_byte + 2]) <= 65535
<S>  New H104:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 5]) <= 65535
<S>  New H106:  element(fld_bytes(input_packet), [query_end_byte + 5]) <= 65535
<S>  New H114:  element(fld_bytes(input_packet), [query_end_byte + 4]) <= 65535
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__base__first by:
          - 2147483648.
<S>  New H83:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) >= - 2147483648
<S>  New H91:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 >= 
          - 2147483648
<S>  New H111:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 >= 
          - 2147483648
-S-  Applied substitution rule create_respo_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__base__last by:
          2147483647.
<S>  New H84:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) <= 2147483647
<S>  New H92:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 <= 
          2147483647
<S>  New H112:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 <= 
          2147483647
-S-  Applied substitution rule create_respo_rules(50).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H4:  dns_types__query <= fld_opcode(fld_header(input_packet))
<S>  New H25:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(51).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H5:  fld_opcode(fld_header(input_packet)) <= dns_types__status
<S>  New H26:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(76).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H6:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
<S>  New H27:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(77).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H7:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
<S>  New H28:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
%%%  Simplified H73 further, to give:
     %%%  H73:  query_end_byte + 23 <= input_bytes
%%%  Simplified H74 further, to give:
     %%%  H74:  start_byte < 8169
***  Proved C4:  start_byte <= 8179
     using hypothesis H74.
***  Proved C5:  start_byte >= - 2147483649
     using hypothesis H60.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_edns_12.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H6 on reading formula in, to give:
     %%%  H6:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H16 on reading formula in, to give:
     %%%  H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H25 on reading formula in, to give:
     %%%  H25:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H43).
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  true
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H66 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H75).
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H76).
%%%  Simplified H101 on reading formula in, to give:
     %%%  H101:  element(fld_bytes(input_packet), [query_end_byte + 1]) = 0
%%%  Simplified H102 on reading formula in, to give:
     %%%  H102:  to_query_type(element(fld_bytes(input_packet), [query_end_byte 
          + 2]) * 256 + element(fld_bytes(input_packet), [query_end_byte + 3])) 
          = dns_types__opt
%%%  Simplified H125 on reading formula in, to give:
     %%%  H125:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) >= 
          dns_types__packet_length_range__first
%%%  Simplified H126 on reading formula in, to give:
     %%%  H126:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) <= 
          dns_types__packet_length_range__last
---  Hypothesis H127 has been replaced by "true".  (It is already present, as 
          H125).
---  Hypothesis H128 has been replaced by "true".  (It is already present, as 
          H126).
%%%  Simplified H129 on reading formula in, to give:
     %%%  H129:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) >= 
          dns_types__packet_length_range__first
%%%  Simplified H130 on reading formula in, to give:
     %%%  H130:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) <= 
          dns_types__packet_length_range__last
***  Proved C1:  0 >= dns_types__byte__first
     using hypothesis H131.
***  Proved C2:  0 <= dns_types__byte__last
     using hypothesis H132.
***  Proved C3:  start_byte + 2 >= dns_types__packet_bytes_range__first
     using hypothesis H21.
***  Proved C5:  start_byte + 2 >= dns_types__packet_bytes_range__base__first
     using hypothesis H135.
-S-  Applied substitution rule create_respo_rules(32).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
          fld_bytes(input_packet), [i___1]) and element(fld_bytes(input_packet)
          , [i___1]) <= dns_types__byte__last)
<S>  New H20:  query_end_byte <= 8180
<S>  New H22:  start_byte <= 8180
<S>  New H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
          fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H49:  dns_types__header_bits div 8 <= 8180
<S>  New H80:  query_end_byte <= 8179
<S>  New H88:  query_end_byte <= 8177
<S>  New H96:  query_end_byte <= 8178
<S>  New H108:  query_end_byte <= 8175
<S>  New H116:  query_end_byte <= 8176
<S>  New H122:  query_end_byte <= 8172
<S>  New H134:  start_byte <= 8179
<S>  New C4:  start_byte <= 8178
-S-  Applied substitution rule create_respo_rules(34).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H47:  start_byte + dns_types__header_bits div 8 <= 2147483647
<S>  New H82:  query_end_byte <= 2147483646
<S>  New H90:  query_end_byte <= 2147483644
<S>  New H98:  query_end_byte <= 2147483645
<S>  New H110:  query_end_byte <= 2147483642
<S>  New H118:  query_end_byte <= 2147483643
<S>  New H124:  query_end_byte <= 2147483639
<S>  New H136:  start_byte <= 2147483646
<S>  New C6:  start_byte <= 2147483645
***  Proved C6:  start_byte <= 2147483645
     using hypothesis H22.
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H74:  start_byte + 11 + dns_types__header_bits div 8 < 8192
<S>  New H125:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) >= 
          dns_types__packet_length_range__first
<S>  New H126:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) <= 
          dns_types__packet_length_range__last
<S>  New H129:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= dns_types__packet_length_range__first
<S>  New H130:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= dns_types__packet_length_range__last
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H42:  start_byte + 12 >= dns_types__packet_length_range__first
<S>  New H43:  start_byte + 12 <= dns_types__packet_length_range__last
<S>  New H46:  start_byte + 12 >= dns_types__packet_bytes_range__base__first
<S>  New H47:  start_byte <= 2147483635
<S>  New H48:  12 >= dns_types__packet_bytes_range__first
<S>  New H49:  true
<S>  New H50:  12 >= system__min_int
<S>  New H51:  12 <= system__max_int
<S>  New H53:  start_byte + 11 + 12 >= integer__base__first
<S>  New H54:  start_byte + 11 + 12 <= integer__base__last
<S>  New H64:  query_end_byte + 11 + 12 >= integer__base__first
<S>  New H65:  query_end_byte + 11 + 12 <= integer__base__last
<S>  New H73:  query_end_byte + 11 + 12 <= input_bytes
<S>  New H74:  start_byte + 11 < 8180
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of dns_types__udp_max_size 
          by:
          512.
<S>  New H40:  512 >= dns_types__packet_length_range__first
<S>  New H41:  512 <= dns_types__packet_length_range__last
<S>  New H129:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= dns_types__packet_length_range__first
<S>  New H130:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= dns_types__packet_length_range__last
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H50:  true
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H51:  true
-S-  Applied substitution rule create_respo_rules(16).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H60:  start_byte >= - 2147483648
<S>  New H62:  input_bytes >= - 2147483648
<S>  New H71:  query_end_byte >= - 2147483648
-S-  Applied substitution rule create_respo_rules(17).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H61:  start_byte <= 2147483647
<S>  New H63:  input_bytes <= 2147483647
<S>  New H72:  query_end_byte <= 2147483647
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H58:  start_byte >= - 2147483659
<S>  New H69:  query_end_byte >= - 2147483659
<S>  New H53:  start_byte >= - 2147483671
<S>  New H64:  query_end_byte >= - 2147483671
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H59:  start_byte <= 2147483636
<S>  New H70:  query_end_byte <= 2147483636
<S>  New H54:  start_byte <= 2147483624
<S>  New H65:  query_end_byte <= 2147483624
-S-  Applied substitution rule create_respo_rules(21).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H75:  element(fld_bytes(input_packet), [query_end_byte + 1]) >= 0
<S>  New H99:  true
-S-  Applied substitution rule create_respo_rules(22).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H76:  element(fld_bytes(input_packet), [query_end_byte + 1]) <= 255
<S>  New H100:  true
-S-  Applied substitution rule create_respo_rules(26).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H17:  input_bytes >= 0
<S>  New H125:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) >= 0
<S>  New H42:  start_byte >= - 12
<S>  New H40:  true
<S>  New H129:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= 0
-S-  Applied substitution rule create_respo_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H18:  input_bytes <= 8192
<S>  New H126:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) <= 8192
<S>  New H43:  start_byte <= 8180
<S>  New H41:  true
<S>  New H130:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= 8192
-S-  Applied substitution rule create_respo_rules(31).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H19:  query_end_byte >= 1
<S>  New H21:  start_byte >= 1
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H79:  query_end_byte >= 0
<S>  New H87:  query_end_byte >= - 2
<S>  New H95:  query_end_byte >= - 1
<S>  New H107:  query_end_byte >= - 4
<S>  New H115:  query_end_byte >= - 3
<S>  New H121:  query_end_byte >= - 7
<S>  New H133:  start_byte >= 0
<S>  New H48:  true
-S-  Applied substitution rule create_respo_rules(33).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H81:  query_end_byte >= - 2147483649
<S>  New H89:  query_end_byte >= - 2147483651
<S>  New H97:  query_end_byte >= - 2147483650
<S>  New H109:  query_end_byte >= - 2147483653
<S>  New H117:  query_end_byte >= - 2147483652
<S>  New H123:  query_end_byte >= - 2147483656
<S>  New H135:  start_byte >= - 2147483649
<S>  New H46:  start_byte >= - 2147483660
-S-  Applied substitution rule create_respo_rules(37).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H119:  element(fld_bytes(input_packet), [query_end_byte + 8]) >= 0
<S>  New H131:  true
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= dns_types__byte__last)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(38).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H120:  element(fld_bytes(input_packet), [query_end_byte + 8]) <= 255
<S>  New H132:  true
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= 255)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(44).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H2:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H8:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H10:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H12:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H14:  fld_arcount(fld_header(input_packet)) >= 0
<S>  New H23:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H29:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H31:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H33:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H35:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H38:  additional_count >= 0
<S>  New H85:  element(fld_bytes(input_packet), [query_end_byte + 3]) >= 0
<S>  New H93:  element(fld_bytes(input_packet), [query_end_byte + 2]) >= 0
<S>  New H103:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 5]) >= 0
<S>  New H105:  element(fld_bytes(input_packet), [query_end_byte + 5]) >= 0
<S>  New H113:  element(fld_bytes(input_packet), [query_end_byte + 4]) >= 0
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H1:  additional_count < 65535
<S>  New H3:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H9:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H11:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H13:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H15:  fld_arcount(fld_header(input_packet)) <= 65535
<S>  New H24:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H30:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H32:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H34:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H36:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H39:  additional_count <= 65535
<S>  New H86:  element(fld_bytes(input_packet), [query_end_byte + 3]) <= 65535
<S>  New H94:  element(fld_bytes(input_packet), [query_end_byte + 2]) <= 65535
<S>  New H104:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 5]) <= 65535
<S>  New H106:  element(fld_bytes(input_packet), [query_end_byte + 5]) <= 65535
<S>  New H114:  element(fld_bytes(input_packet), [query_end_byte + 4]) <= 65535
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__base__first by:
          - 2147483648.
<S>  New H83:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) >= - 2147483648
<S>  New H91:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 >= 
          - 2147483648
<S>  New H111:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 >= 
          - 2147483648
-S-  Applied substitution rule create_respo_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__base__last by:
          2147483647.
<S>  New H84:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) <= 2147483647
<S>  New H92:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 <= 
          2147483647
<S>  New H112:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 <= 
          2147483647
-S-  Applied substitution rule create_respo_rules(50).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H4:  dns_types__query <= fld_opcode(fld_header(input_packet))
<S>  New H25:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(51).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H5:  fld_opcode(fld_header(input_packet)) <= dns_types__status
<S>  New H26:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(76).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H6:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
<S>  New H27:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(77).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H7:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
<S>  New H28:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
%%%  Simplified H73 further, to give:
     %%%  H73:  query_end_byte + 23 <= input_bytes
%%%  Simplified H74 further, to give:
     %%%  H74:  start_byte < 8169
***  Proved C4:  start_byte <= 8178
     using hypothesis H74.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_edns_13.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H6 on reading formula in, to give:
     %%%  H6:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H16 on reading formula in, to give:
     %%%  H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H25 on reading formula in, to give:
     %%%  H25:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H43).
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  true
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H66 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H75).
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H76).
%%%  Simplified H101 on reading formula in, to give:
     %%%  H101:  element(fld_bytes(input_packet), [query_end_byte + 1]) = 0
%%%  Simplified H102 on reading formula in, to give:
     %%%  H102:  to_query_type(element(fld_bytes(input_packet), [query_end_byte 
          + 2]) * 256 + element(fld_bytes(input_packet), [query_end_byte + 3])) 
          = dns_types__opt
%%%  Simplified H125 on reading formula in, to give:
     %%%  H125:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) >= 
          dns_types__packet_length_range__first
%%%  Simplified H126 on reading formula in, to give:
     %%%  H126:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) <= 
          dns_types__packet_length_range__last
---  Hypothesis H127 has been replaced by "true".  (It is already present, as 
          H125).
---  Hypothesis H128 has been replaced by "true".  (It is already present, as 
          H126).
%%%  Simplified H129 on reading formula in, to give:
     %%%  H129:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) >= 
          dns_types__packet_length_range__first
%%%  Simplified H130 on reading formula in, to give:
     %%%  H130:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) <= 
          dns_types__packet_length_range__last
---  Hypothesis H137 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H138 has been replaced by "true".  (It is already present, as 
          H132).
***  Proved C1:  start_byte + 3 >= dns_types__packet_bytes_range__first
     using hypothesis H21.
***  Proved C3:  start_byte + 3 >= dns_types__packet_bytes_range__base__first
     using hypothesis H135.
-S-  Applied substitution rule create_respo_rules(32).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
          fld_bytes(input_packet), [i___1]) and element(fld_bytes(input_packet)
          , [i___1]) <= dns_types__byte__last)
<S>  New H20:  query_end_byte <= 8180
<S>  New H22:  start_byte <= 8180
<S>  New H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
          fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H49:  dns_types__header_bits div 8 <= 8180
<S>  New H80:  query_end_byte <= 8179
<S>  New H88:  query_end_byte <= 8177
<S>  New H96:  query_end_byte <= 8178
<S>  New H108:  query_end_byte <= 8175
<S>  New H116:  query_end_byte <= 8176
<S>  New H122:  query_end_byte <= 8172
<S>  New H134:  start_byte <= 8179
<S>  New H140:  start_byte <= 8178
<S>  New C2:  start_byte <= 8177
-S-  Applied substitution rule create_respo_rules(34).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H47:  start_byte + dns_types__header_bits div 8 <= 2147483647
<S>  New H82:  query_end_byte <= 2147483646
<S>  New H90:  query_end_byte <= 2147483644
<S>  New H98:  query_end_byte <= 2147483645
<S>  New H110:  query_end_byte <= 2147483642
<S>  New H118:  query_end_byte <= 2147483643
<S>  New H124:  query_end_byte <= 2147483639
<S>  New H136:  start_byte <= 2147483646
<S>  New H142:  start_byte <= 2147483645
<S>  New C4:  start_byte <= 2147483644
***  Proved C4:  start_byte <= 2147483644
     using hypothesis H22.
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H74:  start_byte + 11 + dns_types__header_bits div 8 < 8192
<S>  New H125:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) >= 
          dns_types__packet_length_range__first
<S>  New H126:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) <= 
          dns_types__packet_length_range__last
<S>  New H129:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= dns_types__packet_length_range__first
<S>  New H130:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= dns_types__packet_length_range__last
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H42:  start_byte + 12 >= dns_types__packet_length_range__first
<S>  New H43:  start_byte + 12 <= dns_types__packet_length_range__last
<S>  New H46:  start_byte + 12 >= dns_types__packet_bytes_range__base__first
<S>  New H47:  start_byte <= 2147483635
<S>  New H48:  12 >= dns_types__packet_bytes_range__first
<S>  New H49:  true
<S>  New H50:  12 >= system__min_int
<S>  New H51:  12 <= system__max_int
<S>  New H53:  start_byte + 11 + 12 >= integer__base__first
<S>  New H54:  start_byte + 11 + 12 <= integer__base__last
<S>  New H64:  query_end_byte + 11 + 12 >= integer__base__first
<S>  New H65:  query_end_byte + 11 + 12 <= integer__base__last
<S>  New H73:  query_end_byte + 11 + 12 <= input_bytes
<S>  New H74:  start_byte + 11 < 8180
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of dns_types__udp_max_size 
          by:
          512.
<S>  New H40:  512 >= dns_types__packet_length_range__first
<S>  New H41:  512 <= dns_types__packet_length_range__last
<S>  New H129:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= dns_types__packet_length_range__first
<S>  New H130:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= dns_types__packet_length_range__last
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H50:  true
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H51:  true
-S-  Applied substitution rule create_respo_rules(16).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H60:  start_byte >= - 2147483648
<S>  New H62:  input_bytes >= - 2147483648
<S>  New H71:  query_end_byte >= - 2147483648
-S-  Applied substitution rule create_respo_rules(17).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H61:  start_byte <= 2147483647
<S>  New H63:  input_bytes <= 2147483647
<S>  New H72:  query_end_byte <= 2147483647
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H58:  start_byte >= - 2147483659
<S>  New H69:  query_end_byte >= - 2147483659
<S>  New H53:  start_byte >= - 2147483671
<S>  New H64:  query_end_byte >= - 2147483671
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H59:  start_byte <= 2147483636
<S>  New H70:  query_end_byte <= 2147483636
<S>  New H54:  start_byte <= 2147483624
<S>  New H65:  query_end_byte <= 2147483624
-S-  Applied substitution rule create_respo_rules(21).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H75:  element(fld_bytes(input_packet), [query_end_byte + 1]) >= 0
<S>  New H99:  true
-S-  Applied substitution rule create_respo_rules(22).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H76:  element(fld_bytes(input_packet), [query_end_byte + 1]) <= 255
<S>  New H100:  true
-S-  Applied substitution rule create_respo_rules(26).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H17:  input_bytes >= 0
<S>  New H125:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) >= 0
<S>  New H42:  start_byte >= - 12
<S>  New H40:  true
<S>  New H129:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= 0
-S-  Applied substitution rule create_respo_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H18:  input_bytes <= 8192
<S>  New H126:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) <= 8192
<S>  New H43:  start_byte <= 8180
<S>  New H41:  true
<S>  New H130:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= 8192
-S-  Applied substitution rule create_respo_rules(31).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H19:  query_end_byte >= 1
<S>  New H21:  start_byte >= 1
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H79:  query_end_byte >= 0
<S>  New H87:  query_end_byte >= - 2
<S>  New H95:  query_end_byte >= - 1
<S>  New H107:  query_end_byte >= - 4
<S>  New H115:  query_end_byte >= - 3
<S>  New H121:  query_end_byte >= - 7
<S>  New H133:  start_byte >= 0
<S>  New H139:  start_byte >= - 1
<S>  New H48:  true
-S-  Applied substitution rule create_respo_rules(33).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H81:  query_end_byte >= - 2147483649
<S>  New H89:  query_end_byte >= - 2147483651
<S>  New H97:  query_end_byte >= - 2147483650
<S>  New H109:  query_end_byte >= - 2147483653
<S>  New H117:  query_end_byte >= - 2147483652
<S>  New H123:  query_end_byte >= - 2147483656
<S>  New H135:  start_byte >= - 2147483649
<S>  New H141:  start_byte >= - 2147483650
<S>  New H46:  start_byte >= - 2147483660
-S-  Applied substitution rule create_respo_rules(37).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H119:  element(fld_bytes(input_packet), [query_end_byte + 8]) >= 0
<S>  New H131:  true
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= dns_types__byte__last)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(38).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H120:  element(fld_bytes(input_packet), [query_end_byte + 8]) <= 255
<S>  New H132:  true
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= 255)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(44).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H2:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H8:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H10:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H12:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H14:  fld_arcount(fld_header(input_packet)) >= 0
<S>  New H23:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H29:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H31:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H33:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H35:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H38:  additional_count >= 0
<S>  New H85:  element(fld_bytes(input_packet), [query_end_byte + 3]) >= 0
<S>  New H93:  element(fld_bytes(input_packet), [query_end_byte + 2]) >= 0
<S>  New H103:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 5]) >= 0
<S>  New H105:  element(fld_bytes(input_packet), [query_end_byte + 5]) >= 0
<S>  New H113:  element(fld_bytes(input_packet), [query_end_byte + 4]) >= 0
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H1:  additional_count < 65535
<S>  New H3:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H9:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H11:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H13:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H15:  fld_arcount(fld_header(input_packet)) <= 65535
<S>  New H24:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H30:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H32:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H34:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H36:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H39:  additional_count <= 65535
<S>  New H86:  element(fld_bytes(input_packet), [query_end_byte + 3]) <= 65535
<S>  New H94:  element(fld_bytes(input_packet), [query_end_byte + 2]) <= 65535
<S>  New H104:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 5]) <= 65535
<S>  New H106:  element(fld_bytes(input_packet), [query_end_byte + 5]) <= 65535
<S>  New H114:  element(fld_bytes(input_packet), [query_end_byte + 4]) <= 65535
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__base__first by:
          - 2147483648.
<S>  New H83:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) >= - 2147483648
<S>  New H91:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 >= 
          - 2147483648
<S>  New H111:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 >= 
          - 2147483648
-S-  Applied substitution rule create_respo_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__base__last by:
          2147483647.
<S>  New H84:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) <= 2147483647
<S>  New H92:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 <= 
          2147483647
<S>  New H112:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 <= 
          2147483647
-S-  Applied substitution rule create_respo_rules(50).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H4:  dns_types__query <= fld_opcode(fld_header(input_packet))
<S>  New H25:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(51).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H5:  fld_opcode(fld_header(input_packet)) <= dns_types__status
<S>  New H26:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(76).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H6:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
<S>  New H27:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(77).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H7:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
<S>  New H28:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
%%%  Simplified H73 further, to give:
     %%%  H73:  query_end_byte + 23 <= input_bytes
%%%  Simplified H74 further, to give:
     %%%  H74:  start_byte < 8169
***  Proved C2:  start_byte <= 8177
     using hypothesis H74.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_edns_14.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H6 on reading formula in, to give:
     %%%  H6:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H16 on reading formula in, to give:
     %%%  H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H25 on reading formula in, to give:
     %%%  H25:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H43).
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  true
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H66 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H75).
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H76).
%%%  Simplified H101 on reading formula in, to give:
     %%%  H101:  element(fld_bytes(input_packet), [query_end_byte + 1]) = 0
%%%  Simplified H102 on reading formula in, to give:
     %%%  H102:  to_query_type(element(fld_bytes(input_packet), [query_end_byte 
          + 2]) * 256 + element(fld_bytes(input_packet), [query_end_byte + 3])) 
          = dns_types__opt
%%%  Simplified H125 on reading formula in, to give:
     %%%  H125:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) >= 
          dns_types__packet_length_range__first
%%%  Simplified H126 on reading formula in, to give:
     %%%  H126:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) <= 
          dns_types__packet_length_range__last
---  Hypothesis H127 has been replaced by "true".  (It is already present, as 
          H125).
---  Hypothesis H128 has been replaced by "true".  (It is already present, as 
          H126).
%%%  Simplified H129 on reading formula in, to give:
     %%%  H129:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) >= 
          dns_types__packet_length_range__first
%%%  Simplified H130 on reading formula in, to give:
     %%%  H130:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) <= 
          dns_types__packet_length_range__last
---  Hypothesis H137 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H138 has been replaced by "true".  (It is already present, as 
          H132).
%%%  Simplified C7 on reading formula in, to give:
     %%%  C7:  true
***  Proved C1:  from_query_type(dns_types__opt) mod 256 >= 
          dns_types__byte__first
     using hypothesis H131.
***  Proved C3:  from_query_type(dns_types__opt) mod 256 >= 
          dns_types__byte__first
     using hypothesis H131.
***  Proved C7:  true
-S-  Applied substitution rule create_respo_rules(38).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 255)
<S>  New H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 255)
<S>  New H120:  element(fld_bytes(input_packet), [query_end_byte + 8]) <= 255
<S>  New H132:  true
<S>  New C2:  from_query_type(dns_types__opt) mod 256 <= 255
<S>  New C4:  from_query_type(dns_types__opt) mod 256 <= 255
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__base__first by:
          - 2147483648.
<S>  New H83:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) >= - 2147483648
<S>  New H91:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 >= 
          - 2147483648
<S>  New H111:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 >= 
          - 2147483648
<S>  New C5:  from_query_type(dns_types__opt) mod 256 >= - 2147483648
-S-  Applied substitution rule create_respo_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__base__last by:
          2147483647.
<S>  New H84:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) <= 2147483647
<S>  New H92:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 <= 
          2147483647
<S>  New H112:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 <= 
          2147483647
<S>  New C6:  from_query_type(dns_types__opt) mod 256 <= 2147483647
***  Proved C2:  from_query_type(dns_types__opt) mod 256 <= 255
***  Proved C4:  from_query_type(dns_types__opt) mod 256 <= 255
***  Proved C5:  from_query_type(dns_types__opt) mod 256 >= - 2147483648
***  Proved C6:  from_query_type(dns_types__opt) mod 256 <= 2147483647
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_edns_15.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H6 on reading formula in, to give:
     %%%  H6:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H16 on reading formula in, to give:
     %%%  H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H25 on reading formula in, to give:
     %%%  H25:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H43).
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  true
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H66 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H75).
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H76).
%%%  Simplified H101 on reading formula in, to give:
     %%%  H101:  element(fld_bytes(input_packet), [query_end_byte + 1]) = 0
%%%  Simplified H102 on reading formula in, to give:
     %%%  H102:  to_query_type(element(fld_bytes(input_packet), [query_end_byte 
          + 2]) * 256 + element(fld_bytes(input_packet), [query_end_byte + 3])) 
          = dns_types__opt
%%%  Simplified H125 on reading formula in, to give:
     %%%  H125:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) >= 
          dns_types__packet_length_range__first
%%%  Simplified H126 on reading formula in, to give:
     %%%  H126:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) <= 
          dns_types__packet_length_range__last
---  Hypothesis H127 has been replaced by "true".  (It is already present, as 
          H125).
---  Hypothesis H128 has been replaced by "true".  (It is already present, as 
          H126).
%%%  Simplified H129 on reading formula in, to give:
     %%%  H129:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) >= 
          dns_types__packet_length_range__first
%%%  Simplified H130 on reading formula in, to give:
     %%%  H130:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) <= 
          dns_types__packet_length_range__last
---  Hypothesis H137 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H138 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H149 has been replaced by "true".  (It is already present, as 
          H147).
---  Hypothesis H150 has been replaced by "true".  (It is already present, as 
          H148).
%%%  Simplified H153 on reading formula in, to give:
     %%%  H153:  true
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 >= 
          dns_types__byte__first
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 <= 
          dns_types__byte__last
%%%  Simplified C3 on reading formula in, to give:
     %%%  C3:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 >= 
          dns_types__byte__first
%%%  Simplified C4 on reading formula in, to give:
     %%%  C4:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 <= 
          dns_types__byte__last
%%%  Simplified C5 on reading formula in, to give:
     %%%  C5:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 >= 
          dns_types__packet_length_range__base__first
%%%  Simplified C6 on reading formula in, to give:
     %%%  C6:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 <= 
          dns_types__packet_length_range__base__last
%%%  Simplified C7 on reading formula in, to give:
     %%%  C7:  true
***  Proved C7:  true
***  Proved C8:  start_byte + 4 >= dns_types__packet_bytes_range__first
     using hypothesis H21.
***  Proved C10:  start_byte + 4 >= dns_types__packet_bytes_range__base__first
     using hypothesis H135.
-S-  Applied substitution rule create_respo_rules(37).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= dns_types__packet_bytes_range__last -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= dns_types__byte__last)
<S>  New H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= dns_types__packet_bytes_range__last -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H119:  element(fld_bytes(input_packet), [query_end_byte + 8]) >= 0
<S>  New H131:  true
<S>  New H147:  from_query_type(dns_types__opt) mod 256 >= 0
<S>  New C1:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 >= 0
<S>  New C3:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 >= 0
-S-  Applied substitution rule create_respo_rules(38).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H120:  element(fld_bytes(input_packet), [query_end_byte + 8]) <= 255
<S>  New H132:  true
<S>  New H148:  from_query_type(dns_types__opt) mod 256 <= 255
<S>  New H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= dns_types__packet_bytes_range__last -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= 255)
<S>  New H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= dns_types__packet_bytes_range__last -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
<S>  New C2:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 <= 255
<S>  New C4:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 <= 255
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__first by:
          - 2147483648.
<S>  New C5:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 >= - 
          2147483648
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__last by:
          2147483647.
<S>  New C6:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 <= 2147483647
-S-  Applied substitution rule create_respo_rules(32).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H20:  query_end_byte <= 8180
<S>  New H22:  start_byte <= 8180
<S>  New H49:  dns_types__header_bits div 8 <= 8180
<S>  New H80:  query_end_byte <= 8179
<S>  New H88:  query_end_byte <= 8177
<S>  New H96:  query_end_byte <= 8178
<S>  New H108:  query_end_byte <= 8175
<S>  New H116:  query_end_byte <= 8176
<S>  New H122:  query_end_byte <= 8172
<S>  New H134:  start_byte <= 8179
<S>  New H140:  start_byte <= 8178
<S>  New H144:  start_byte <= 8177
<S>  New H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= 8180 -> 0 <= element(fld_bytes(input_packet), [
          i___1]) and element(fld_bytes(input_packet), [i___1]) <= 255)
<S>  New H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= 8180 -> 0 <= element(fld_bytes(output_packet), [
          i___1]) and element(fld_bytes(output_packet), [i___1]) <= 255)
<S>  New C9:  start_byte <= 8176
-S-  Applied substitution rule create_respo_rules(34).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H47:  start_byte + dns_types__header_bits div 8 <= 2147483647
<S>  New H82:  query_end_byte <= 2147483646
<S>  New H90:  query_end_byte <= 2147483644
<S>  New H98:  query_end_byte <= 2147483645
<S>  New H110:  query_end_byte <= 2147483642
<S>  New H118:  query_end_byte <= 2147483643
<S>  New H124:  query_end_byte <= 2147483639
<S>  New H136:  start_byte <= 2147483646
<S>  New H142:  start_byte <= 2147483645
<S>  New H146:  start_byte <= 2147483644
<S>  New C11:  start_byte <= 2147483643
***  Proved C11:  start_byte <= 2147483643
     using hypothesis H22.
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H74:  start_byte + 11 + dns_types__header_bits div 8 < 8192
<S>  New H125:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) >= 
          dns_types__packet_length_range__first
<S>  New H126:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) <= 
          dns_types__packet_length_range__last
<S>  New H129:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= dns_types__packet_length_range__first
<S>  New H130:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= dns_types__packet_length_range__last
<S>  New C1:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= 0
<S>  New C3:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= 0
<S>  New C2:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 255
<S>  New C4:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 255
<S>  New C5:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= - 2147483648
<S>  New C6:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 2147483647
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H42:  start_byte + 12 >= dns_types__packet_length_range__first
<S>  New H43:  start_byte + 12 <= dns_types__packet_length_range__last
<S>  New H46:  start_byte + 12 >= dns_types__packet_bytes_range__base__first
<S>  New H47:  start_byte <= 2147483635
<S>  New H48:  12 >= dns_types__packet_bytes_range__first
<S>  New H49:  true
<S>  New H50:  12 >= system__min_int
<S>  New H51:  12 <= system__max_int
<S>  New H53:  start_byte + 11 + 12 >= integer__base__first
<S>  New H54:  start_byte + 11 + 12 <= integer__base__last
<S>  New H64:  query_end_byte + 11 + 12 >= integer__base__first
<S>  New H65:  query_end_byte + 11 + 12 <= integer__base__last
<S>  New H73:  query_end_byte + 11 + 12 <= input_bytes
<S>  New H74:  start_byte + 11 < 8180
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of dns_types__udp_max_size 
          by:
          512.
<S>  New H40:  512 >= dns_types__packet_length_range__first
<S>  New H41:  512 <= dns_types__packet_length_range__last
<S>  New H129:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= dns_types__packet_length_range__first
<S>  New H130:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= dns_types__packet_length_range__last
<S>  New C1:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= 0
<S>  New C3:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= 0
<S>  New C2:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 255
<S>  New C4:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 255
<S>  New C5:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= - 2147483648
<S>  New C6:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 2147483647
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H50:  true
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H51:  true
-S-  Applied substitution rule create_respo_rules(16).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H60:  start_byte >= - 2147483648
<S>  New H62:  input_bytes >= - 2147483648
<S>  New H71:  query_end_byte >= - 2147483648
-S-  Applied substitution rule create_respo_rules(17).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H61:  start_byte <= 2147483647
<S>  New H63:  input_bytes <= 2147483647
<S>  New H72:  query_end_byte <= 2147483647
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H58:  start_byte >= - 2147483659
<S>  New H69:  query_end_byte >= - 2147483659
<S>  New H53:  start_byte >= - 2147483671
<S>  New H64:  query_end_byte >= - 2147483671
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H59:  start_byte <= 2147483636
<S>  New H70:  query_end_byte <= 2147483636
<S>  New H54:  start_byte <= 2147483624
<S>  New H65:  query_end_byte <= 2147483624
-S-  Applied substitution rule create_respo_rules(21).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H75:  element(fld_bytes(input_packet), [query_end_byte + 1]) >= 0
<S>  New H99:  true
-S-  Applied substitution rule create_respo_rules(22).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H76:  element(fld_bytes(input_packet), [query_end_byte + 1]) <= 255
<S>  New H100:  true
-S-  Applied substitution rule create_respo_rules(26).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H17:  input_bytes >= 0
<S>  New H125:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) >= 0
<S>  New H42:  start_byte >= - 12
<S>  New H40:  true
<S>  New H129:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= 0
-S-  Applied substitution rule create_respo_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H18:  input_bytes <= 8192
<S>  New H126:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) <= 8192
<S>  New H43:  start_byte <= 8180
<S>  New H41:  true
<S>  New H130:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= 8192
-S-  Applied substitution rule create_respo_rules(31).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= 255)
<S>  New H19:  query_end_byte >= 1
<S>  New H21:  start_byte >= 1
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
<S>  New H79:  query_end_byte >= 0
<S>  New H87:  query_end_byte >= - 2
<S>  New H95:  query_end_byte >= - 1
<S>  New H107:  query_end_byte >= - 4
<S>  New H115:  query_end_byte >= - 3
<S>  New H121:  query_end_byte >= - 7
<S>  New H133:  start_byte >= 0
<S>  New H139:  start_byte >= - 1
<S>  New H143:  start_byte >= - 2
<S>  New H48:  true
-S-  Applied substitution rule create_respo_rules(33).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H81:  query_end_byte >= - 2147483649
<S>  New H89:  query_end_byte >= - 2147483651
<S>  New H97:  query_end_byte >= - 2147483650
<S>  New H109:  query_end_byte >= - 2147483653
<S>  New H117:  query_end_byte >= - 2147483652
<S>  New H123:  query_end_byte >= - 2147483656
<S>  New H135:  start_byte >= - 2147483649
<S>  New H141:  start_byte >= - 2147483650
<S>  New H145:  start_byte >= - 2147483651
<S>  New H46:  start_byte >= - 2147483660
-S-  Applied substitution rule create_respo_rules(44).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H2:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H8:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H10:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H12:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H14:  fld_arcount(fld_header(input_packet)) >= 0
<S>  New H23:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H29:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H31:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H33:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H35:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H38:  additional_count >= 0
<S>  New H85:  element(fld_bytes(input_packet), [query_end_byte + 3]) >= 0
<S>  New H93:  element(fld_bytes(input_packet), [query_end_byte + 2]) >= 0
<S>  New H103:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 5]) >= 0
<S>  New H105:  element(fld_bytes(input_packet), [query_end_byte + 5]) >= 0
<S>  New H113:  element(fld_bytes(input_packet), [query_end_byte + 4]) >= 0
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H1:  additional_count < 65535
<S>  New H3:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H9:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H11:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H13:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H15:  fld_arcount(fld_header(input_packet)) <= 65535
<S>  New H24:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H30:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H32:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H34:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H36:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H39:  additional_count <= 65535
<S>  New H86:  element(fld_bytes(input_packet), [query_end_byte + 3]) <= 65535
<S>  New H94:  element(fld_bytes(input_packet), [query_end_byte + 2]) <= 65535
<S>  New H104:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 5]) <= 65535
<S>  New H106:  element(fld_bytes(input_packet), [query_end_byte + 5]) <= 65535
<S>  New H114:  element(fld_bytes(input_packet), [query_end_byte + 4]) <= 65535
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__base__first by:
          - 2147483648.
<S>  New H83:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) >= - 2147483648
<S>  New H91:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 >= 
          - 2147483648
<S>  New H111:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 >= 
          - 2147483648
<S>  New H151:  from_query_type(dns_types__opt) mod 256 >= - 2147483648
-S-  Applied substitution rule create_respo_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__base__last by:
          2147483647.
<S>  New H84:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) <= 2147483647
<S>  New H92:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 <= 
          2147483647
<S>  New H112:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 <= 
          2147483647
<S>  New H152:  from_query_type(dns_types__opt) mod 256 <= 2147483647
-S-  Applied substitution rule create_respo_rules(50).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H4:  dns_types__query <= fld_opcode(fld_header(input_packet))
<S>  New H25:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(51).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H5:  fld_opcode(fld_header(input_packet)) <= dns_types__status
<S>  New H26:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(76).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H6:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
<S>  New H27:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(77).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H7:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
<S>  New H28:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
%%%  Simplified H73 further, to give:
     %%%  H73:  query_end_byte + 23 <= input_bytes
%%%  Simplified H74 further, to give:
     %%%  H74:  start_byte < 8169
***  Proved C9:  start_byte <= 8176
     using hypothesis H74.
---  Eliminated hypothesis H44 (true-hypothesis).
---  Eliminated hypothesis H45 (true-hypothesis).
---  Eliminated hypothesis H52 (true-hypothesis).
---  Eliminated hypothesis H55 (true-hypothesis).
---  Eliminated hypothesis H56 (true-hypothesis).
---  Eliminated hypothesis H57 (true-hypothesis).
---  Eliminated hypothesis H66 (true-hypothesis).
---  Eliminated hypothesis H67 (true-hypothesis).
---  Eliminated hypothesis H68 (true-hypothesis).
---  Eliminated hypothesis H77 (true-hypothesis).
---  Eliminated hypothesis H78 (true-hypothesis).
---  Eliminated hypothesis H127 (true-hypothesis).
---  Eliminated hypothesis H128 (true-hypothesis).
---  Eliminated hypothesis H131 (true-hypothesis).
---  Eliminated hypothesis H132 (true-hypothesis).
---  Eliminated hypothesis H137 (true-hypothesis).
---  Eliminated hypothesis H138 (true-hypothesis).
---  Eliminated hypothesis H149 (true-hypothesis).
---  Eliminated hypothesis H150 (true-hypothesis).
---  Eliminated hypothesis H153 (true-hypothesis).
---  Eliminated hypothesis H49 (true-hypothesis).
---  Eliminated hypothesis H50 (true-hypothesis).
---  Eliminated hypothesis H51 (true-hypothesis).
---  Eliminated hypothesis H99 (true-hypothesis).
---  Eliminated hypothesis H100 (true-hypothesis).
---  Eliminated hypothesis H40 (true-hypothesis).
---  Eliminated hypothesis H41 (true-hypothesis).
---  Eliminated hypothesis H48 (true-hypothesis).
---  Eliminated hypothesis H43 (duplicate of H22).
---  Eliminated hypothesis H17 (redundant, given H19 & H73).
---  Eliminated hypothesis H20 (redundant, given H80).
---  Eliminated hypothesis H22 (redundant, given H74).
---  Eliminated hypothesis H39 (redundant, given H1).
---  Eliminated hypothesis H42 (redundant, given H21).
---  Eliminated hypothesis H46 (redundant, given H21).
---  Eliminated hypothesis H47 (redundant, given H54).
---  Eliminated hypothesis H53 (redundant, given H21).
---  Eliminated hypothesis H54 (redundant, given H74).
---  Eliminated hypothesis H58 (redundant, given H21).
---  Eliminated hypothesis H59 (redundant, given H74).
---  Eliminated hypothesis H60 (redundant, given H21).
---  Eliminated hypothesis H61 (redundant, given H74).
---  Eliminated hypothesis H62 (redundant, given H19 & H73).
---  Eliminated hypothesis H63 (redundant, given H18).
---  Eliminated hypothesis H64 (redundant, given H19).
---  Eliminated hypothesis H65 (redundant, given H80).
---  Eliminated hypothesis H69 (redundant, given H19).
---  Eliminated hypothesis H70 (redundant, given H80).
---  Eliminated hypothesis H71 (redundant, given H19).
---  Eliminated hypothesis H72 (redundant, given H80).
---  Eliminated hypothesis H75 (redundant, given H101).
---  Eliminated hypothesis H76 (redundant, given H101).
---  Eliminated hypothesis H79 (redundant, given H19).
---  Eliminated hypothesis H80 (redundant, given H88).
---  Eliminated hypothesis H81 (redundant, given H19).
---  Eliminated hypothesis H82 (redundant, given H88).
---  Eliminated hypothesis H87 (redundant, given H19).
---  Eliminated hypothesis H88 (redundant, given H108).
---  Eliminated hypothesis H89 (redundant, given H19).
---  Eliminated hypothesis H90 (redundant, given H96).
---  Eliminated hypothesis H91 (redundant, given H93).
---  Eliminated hypothesis H92 (redundant, given H94).
---  Eliminated hypothesis H95 (redundant, given H19).
---  Eliminated hypothesis H96 (redundant, given H108).
---  Eliminated hypothesis H97 (redundant, given H19).
---  Eliminated hypothesis H98 (redundant, given H108).
---  Eliminated hypothesis H107 (redundant, given H19).
---  Eliminated hypothesis H108 (redundant, given H122).
---  Eliminated hypothesis H109 (redundant, given H19).
---  Eliminated hypothesis H110 (redundant, given H116).
---  Eliminated hypothesis H111 (redundant, given H113).
---  Eliminated hypothesis H112 (redundant, given H114).
---  Eliminated hypothesis H115 (redundant, given H19).
---  Eliminated hypothesis H116 (redundant, given H122).
---  Eliminated hypothesis H117 (redundant, given H19).
---  Eliminated hypothesis H118 (redundant, given H122).
---  Eliminated hypothesis H121 (redundant, given H19).
---  Eliminated hypothesis H122 (redundant, given H18 & H73).
---  Eliminated hypothesis H123 (redundant, given H19).
---  Eliminated hypothesis H124 (redundant, given H18 & H73).
---  Eliminated hypothesis H133 (redundant, given H21).
---  Eliminated hypothesis H134 (redundant, given H74).
---  Eliminated hypothesis H135 (redundant, given H21).
---  Eliminated hypothesis H136 (redundant, given H74).
---  Eliminated hypothesis H139 (redundant, given H21).
---  Eliminated hypothesis H140 (redundant, given H74).
---  Eliminated hypothesis H141 (redundant, given H21).
---  Eliminated hypothesis H142 (redundant, given H74).
---  Eliminated hypothesis H143 (redundant, given H21).
---  Eliminated hypothesis H144 (redundant, given H74).
---  Eliminated hypothesis H145 (redundant, given H21).
---  Eliminated hypothesis H146 (redundant, given H74).
---  Eliminated hypothesis H151 (redundant, given H147).
---  Eliminated hypothesis H152 (redundant, given H148).
---  Eliminated conclusion C3, which is a duplicate of C1.
---  Eliminated conclusion C4, which is a duplicate of C2.
***  Proved C1:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= 0
     using hypothesis H129.
***  Proved C2:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 255
     using hypothesis H130.
***  Proved C5:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= - 2147483648
     using hypothesis H129.
***  Proved C6:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 2147483647
     using hypothesis H130.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_edns_16.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H6 on reading formula in, to give:
     %%%  H6:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H16 on reading formula in, to give:
     %%%  H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H25 on reading formula in, to give:
     %%%  H25:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H43).
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  true
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H66 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H75).
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H76).
%%%  Simplified H101 on reading formula in, to give:
     %%%  H101:  element(fld_bytes(input_packet), [query_end_byte + 1]) = 0
%%%  Simplified H102 on reading formula in, to give:
     %%%  H102:  to_query_type(element(fld_bytes(input_packet), [query_end_byte 
          + 2]) * 256 + element(fld_bytes(input_packet), [query_end_byte + 3])) 
          = dns_types__opt
%%%  Simplified H125 on reading formula in, to give:
     %%%  H125:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) >= 
          dns_types__packet_length_range__first
%%%  Simplified H126 on reading formula in, to give:
     %%%  H126:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) <= 
          dns_types__packet_length_range__last
---  Hypothesis H127 has been replaced by "true".  (It is already present, as 
          H125).
---  Hypothesis H128 has been replaced by "true".  (It is already present, as 
          H126).
%%%  Simplified H129 on reading formula in, to give:
     %%%  H129:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) >= 
          dns_types__packet_length_range__first
%%%  Simplified H130 on reading formula in, to give:
     %%%  H130:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) <= 
          dns_types__packet_length_range__last
---  Hypothesis H137 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H138 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H149 has been replaced by "true".  (It is already present, as 
          H147).
---  Hypothesis H150 has been replaced by "true".  (It is already present, as 
          H148).
%%%  Simplified H153 on reading formula in, to give:
     %%%  H153:  true
%%%  Simplified H154 on reading formula in, to give:
     %%%  H154:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 >= 
          dns_types__byte__first
%%%  Simplified H155 on reading formula in, to give:
     %%%  H155:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 <= 
          dns_types__byte__last
---  Hypothesis H156 has been replaced by "true".  (It is already present, as 
          H154).
---  Hypothesis H157 has been replaced by "true".  (It is already present, as 
          H155).
%%%  Simplified H158 on reading formula in, to give:
     %%%  H158:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 >= 
          dns_types__packet_length_range__base__first
%%%  Simplified H159 on reading formula in, to give:
     %%%  H159:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 <= 
          dns_types__packet_length_range__base__last
---  Hypothesis H160 has been replaced by "true".  (It is already present, as 
          H153).
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 >= 
          dns_types__byte__first
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 <= 
          dns_types__byte__last
%%%  Simplified C3 on reading formula in, to give:
     %%%  C3:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 >= 
          dns_types__byte__first
%%%  Simplified C4 on reading formula in, to give:
     %%%  C4:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 <= 
          dns_types__byte__last
%%%  Simplified C5 on reading formula in, to give:
     %%%  C5:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 >= 
          dns_types__packet_length_range__base__first
%%%  Simplified C6 on reading formula in, to give:
     %%%  C6:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 <= 
          dns_types__packet_length_range__base__last
%%%  Simplified C7 on reading formula in, to give:
     %%%  C7:  true
***  Proved C1:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 >= 
          dns_types__byte__first
     using hypothesis H131.
***  Proved C3:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 >= 
          dns_types__byte__first
     using hypothesis H131.
***  Proved C7:  true
***  Proved C8:  start_byte + 5 >= dns_types__packet_bytes_range__first
     using hypothesis H21.
***  Proved C10:  start_byte + 5 >= dns_types__packet_bytes_range__base__first
     using hypothesis H135.
-S-  Applied substitution rule create_respo_rules(38).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 255)
<S>  New H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 255)
<S>  New H120:  element(fld_bytes(input_packet), [query_end_byte + 8]) <= 255
<S>  New H132:  true
<S>  New H148:  from_query_type(dns_types__opt) mod 256 <= 255
<S>  New H155:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 <= 255
<S>  New C2:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 <= 255
<S>  New C4:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 <= 255
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__first by:
          - 2147483648.
<S>  New H158:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 >= - 
          2147483648
<S>  New C5:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 >= - 
          2147483648
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__last by:
          2147483647.
<S>  New H159:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 <= 2147483647
<S>  New C6:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 <= 2147483647
-S-  Applied substitution rule create_respo_rules(32).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H20:  query_end_byte <= 8180
<S>  New H22:  start_byte <= 8180
<S>  New H49:  dns_types__header_bits div 8 <= 8180
<S>  New H80:  query_end_byte <= 8179
<S>  New H88:  query_end_byte <= 8177
<S>  New H96:  query_end_byte <= 8178
<S>  New H108:  query_end_byte <= 8175
<S>  New H116:  query_end_byte <= 8176
<S>  New H122:  query_end_byte <= 8172
<S>  New H134:  start_byte <= 8179
<S>  New H140:  start_byte <= 8178
<S>  New H144:  start_byte <= 8177
<S>  New H162:  start_byte <= 8176
<S>  New H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
          fld_bytes(input_packet), [i___1]) and element(fld_bytes(input_packet)
          , [i___1]) <= 255)
<S>  New H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
          fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
<S>  New C9:  start_byte <= 8175
-S-  Applied substitution rule create_respo_rules(34).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H47:  start_byte + dns_types__header_bits div 8 <= 2147483647
<S>  New H82:  query_end_byte <= 2147483646
<S>  New H90:  query_end_byte <= 2147483644
<S>  New H98:  query_end_byte <= 2147483645
<S>  New H110:  query_end_byte <= 2147483642
<S>  New H118:  query_end_byte <= 2147483643
<S>  New H124:  query_end_byte <= 2147483639
<S>  New H136:  start_byte <= 2147483646
<S>  New H142:  start_byte <= 2147483645
<S>  New H146:  start_byte <= 2147483644
<S>  New H164:  start_byte <= 2147483643
<S>  New C11:  start_byte <= 2147483642
***  Proved C2:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 <= 255
***  Proved C4:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 <= 255
***  Proved C5:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 >= - 
          2147483648
***  Proved C6:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 <= 2147483647
***  Proved C11:  start_byte <= 2147483642
     using hypothesis H22.
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H74:  start_byte + 11 + dns_types__header_bits div 8 < 8192
<S>  New H125:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) >= 
          dns_types__packet_length_range__first
<S>  New H126:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) <= 
          dns_types__packet_length_range__last
<S>  New H129:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= dns_types__packet_length_range__first
<S>  New H130:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= dns_types__packet_length_range__last
<S>  New H154:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= dns_types__byte__first
<S>  New H155:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 255
<S>  New H158:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= - 2147483648
<S>  New H159:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 2147483647
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H42:  start_byte + 12 >= dns_types__packet_length_range__first
<S>  New H43:  start_byte + 12 <= dns_types__packet_length_range__last
<S>  New H46:  start_byte + 12 >= dns_types__packet_bytes_range__base__first
<S>  New H47:  start_byte <= 2147483635
<S>  New H48:  12 >= dns_types__packet_bytes_range__first
<S>  New H49:  true
<S>  New H50:  12 >= system__min_int
<S>  New H51:  12 <= system__max_int
<S>  New H53:  start_byte + 11 + 12 >= integer__base__first
<S>  New H54:  start_byte + 11 + 12 <= integer__base__last
<S>  New H64:  query_end_byte + 11 + 12 >= integer__base__first
<S>  New H65:  query_end_byte + 11 + 12 <= integer__base__last
<S>  New H73:  query_end_byte + 11 + 12 <= input_bytes
<S>  New H74:  start_byte + 11 < 8180
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of dns_types__udp_max_size 
          by:
          512.
<S>  New H40:  512 >= dns_types__packet_length_range__first
<S>  New H41:  512 <= dns_types__packet_length_range__last
<S>  New H129:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= dns_types__packet_length_range__first
<S>  New H130:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= dns_types__packet_length_range__last
<S>  New H154:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= dns_types__byte__first
<S>  New H155:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 255
<S>  New H158:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= - 2147483648
<S>  New H159:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 2147483647
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H50:  true
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H51:  true
-S-  Applied substitution rule create_respo_rules(16).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H60:  start_byte >= - 2147483648
<S>  New H62:  input_bytes >= - 2147483648
<S>  New H71:  query_end_byte >= - 2147483648
-S-  Applied substitution rule create_respo_rules(17).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H61:  start_byte <= 2147483647
<S>  New H63:  input_bytes <= 2147483647
<S>  New H72:  query_end_byte <= 2147483647
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H58:  start_byte >= - 2147483659
<S>  New H69:  query_end_byte >= - 2147483659
<S>  New H53:  start_byte >= - 2147483671
<S>  New H64:  query_end_byte >= - 2147483671
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H59:  start_byte <= 2147483636
<S>  New H70:  query_end_byte <= 2147483636
<S>  New H54:  start_byte <= 2147483624
<S>  New H65:  query_end_byte <= 2147483624
-S-  Applied substitution rule create_respo_rules(21).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H75:  element(fld_bytes(input_packet), [query_end_byte + 1]) >= 0
<S>  New H99:  true
-S-  Applied substitution rule create_respo_rules(22).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H76:  element(fld_bytes(input_packet), [query_end_byte + 1]) <= 255
<S>  New H100:  true
-S-  Applied substitution rule create_respo_rules(26).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H17:  input_bytes >= 0
<S>  New H125:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) >= 0
<S>  New H42:  start_byte >= - 12
<S>  New H40:  true
<S>  New H129:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= 0
-S-  Applied substitution rule create_respo_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H18:  input_bytes <= 8192
<S>  New H126:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) <= 8192
<S>  New H43:  start_byte <= 8180
<S>  New H41:  true
<S>  New H130:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= 8192
-S-  Applied substitution rule create_respo_rules(31).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 255)
<S>  New H19:  query_end_byte >= 1
<S>  New H21:  start_byte >= 1
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 255)
<S>  New H79:  query_end_byte >= 0
<S>  New H87:  query_end_byte >= - 2
<S>  New H95:  query_end_byte >= - 1
<S>  New H107:  query_end_byte >= - 4
<S>  New H115:  query_end_byte >= - 3
<S>  New H121:  query_end_byte >= - 7
<S>  New H133:  start_byte >= 0
<S>  New H139:  start_byte >= - 1
<S>  New H143:  start_byte >= - 2
<S>  New H161:  start_byte >= - 3
<S>  New H48:  true
-S-  Applied substitution rule create_respo_rules(33).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H81:  query_end_byte >= - 2147483649
<S>  New H89:  query_end_byte >= - 2147483651
<S>  New H97:  query_end_byte >= - 2147483650
<S>  New H109:  query_end_byte >= - 2147483653
<S>  New H117:  query_end_byte >= - 2147483652
<S>  New H123:  query_end_byte >= - 2147483656
<S>  New H135:  start_byte >= - 2147483649
<S>  New H141:  start_byte >= - 2147483650
<S>  New H145:  start_byte >= - 2147483651
<S>  New H163:  start_byte >= - 2147483652
<S>  New H46:  start_byte >= - 2147483660
-S-  Applied substitution rule create_respo_rules(37).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H119:  element(fld_bytes(input_packet), [query_end_byte + 8]) >= 0
<S>  New H131:  true
<S>  New H147:  from_query_type(dns_types__opt) mod 256 >= 0
<S>  New H154:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= 0
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= 255)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(44).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H2:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H8:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H10:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H12:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H14:  fld_arcount(fld_header(input_packet)) >= 0
<S>  New H23:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H29:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H31:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H33:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H35:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H38:  additional_count >= 0
<S>  New H85:  element(fld_bytes(input_packet), [query_end_byte + 3]) >= 0
<S>  New H93:  element(fld_bytes(input_packet), [query_end_byte + 2]) >= 0
<S>  New H103:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 5]) >= 0
<S>  New H105:  element(fld_bytes(input_packet), [query_end_byte + 5]) >= 0
<S>  New H113:  element(fld_bytes(input_packet), [query_end_byte + 4]) >= 0
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H1:  additional_count < 65535
<S>  New H3:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H9:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H11:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H13:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H15:  fld_arcount(fld_header(input_packet)) <= 65535
<S>  New H24:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H30:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H32:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H34:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H36:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H39:  additional_count <= 65535
<S>  New H86:  element(fld_bytes(input_packet), [query_end_byte + 3]) <= 65535
<S>  New H94:  element(fld_bytes(input_packet), [query_end_byte + 2]) <= 65535
<S>  New H104:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 5]) <= 65535
<S>  New H106:  element(fld_bytes(input_packet), [query_end_byte + 5]) <= 65535
<S>  New H114:  element(fld_bytes(input_packet), [query_end_byte + 4]) <= 65535
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__base__first by:
          - 2147483648.
<S>  New H83:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) >= - 2147483648
<S>  New H91:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 >= 
          - 2147483648
<S>  New H111:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 >= 
          - 2147483648
<S>  New H151:  from_query_type(dns_types__opt) mod 256 >= - 2147483648
-S-  Applied substitution rule create_respo_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__base__last by:
          2147483647.
<S>  New H84:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) <= 2147483647
<S>  New H92:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 <= 
          2147483647
<S>  New H112:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 <= 
          2147483647
<S>  New H152:  from_query_type(dns_types__opt) mod 256 <= 2147483647
-S-  Applied substitution rule create_respo_rules(50).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H4:  dns_types__query <= fld_opcode(fld_header(input_packet))
<S>  New H25:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(51).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H5:  fld_opcode(fld_header(input_packet)) <= dns_types__status
<S>  New H26:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(76).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H6:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
<S>  New H27:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(77).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H7:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
<S>  New H28:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
%%%  Simplified H73 further, to give:
     %%%  H73:  query_end_byte + 23 <= input_bytes
%%%  Simplified H74 further, to give:
     %%%  H74:  start_byte < 8169
***  Proved C9:  start_byte <= 8175
     using hypothesis H74.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_edns_17.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H6 on reading formula in, to give:
     %%%  H6:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H16 on reading formula in, to give:
     %%%  H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H25 on reading formula in, to give:
     %%%  H25:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H43).
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  true
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H66 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H75).
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H76).
%%%  Simplified H101 on reading formula in, to give:
     %%%  H101:  element(fld_bytes(input_packet), [query_end_byte + 1]) = 0
%%%  Simplified H102 on reading formula in, to give:
     %%%  H102:  to_query_type(element(fld_bytes(input_packet), [query_end_byte 
          + 2]) * 256 + element(fld_bytes(input_packet), [query_end_byte + 3])) 
          = dns_types__opt
%%%  Simplified H125 on reading formula in, to give:
     %%%  H125:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) >= 
          dns_types__packet_length_range__first
%%%  Simplified H126 on reading formula in, to give:
     %%%  H126:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) <= 
          dns_types__packet_length_range__last
---  Hypothesis H127 has been replaced by "true".  (It is already present, as 
          H125).
---  Hypothesis H128 has been replaced by "true".  (It is already present, as 
          H126).
%%%  Simplified H129 on reading formula in, to give:
     %%%  H129:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) >= 
          dns_types__packet_length_range__first
%%%  Simplified H130 on reading formula in, to give:
     %%%  H130:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) <= 
          dns_types__packet_length_range__last
---  Hypothesis H137 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H138 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H149 has been replaced by "true".  (It is already present, as 
          H147).
---  Hypothesis H150 has been replaced by "true".  (It is already present, as 
          H148).
%%%  Simplified H153 on reading formula in, to give:
     %%%  H153:  true
%%%  Simplified H154 on reading formula in, to give:
     %%%  H154:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 >= 
          dns_types__byte__first
%%%  Simplified H155 on reading formula in, to give:
     %%%  H155:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 <= 
          dns_types__byte__last
---  Hypothesis H156 has been replaced by "true".  (It is already present, as 
          H154).
---  Hypothesis H157 has been replaced by "true".  (It is already present, as 
          H155).
%%%  Simplified H158 on reading formula in, to give:
     %%%  H158:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 >= 
          dns_types__packet_length_range__base__first
%%%  Simplified H159 on reading formula in, to give:
     %%%  H159:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 <= 
          dns_types__packet_length_range__base__last
---  Hypothesis H160 has been replaced by "true".  (It is already present, as 
          H153).
%%%  Simplified H165 on reading formula in, to give:
     %%%  H165:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 >= 
          dns_types__byte__first
%%%  Simplified H166 on reading formula in, to give:
     %%%  H166:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 <= 
          dns_types__byte__last
---  Hypothesis H167 has been replaced by "true".  (It is already present, as 
          H165).
---  Hypothesis H168 has been replaced by "true".  (It is already present, as 
          H166).
%%%  Simplified H169 on reading formula in, to give:
     %%%  H169:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 >= 
          dns_types__packet_length_range__base__first
%%%  Simplified H170 on reading formula in, to give:
     %%%  H170:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 <= 
          dns_types__packet_length_range__base__last
---  Hypothesis H171 has been replaced by "true".  (It is already present, as 
          H153).
***  Proved C1:  0 >= dns_types__byte__first
     using hypothesis H131.
***  Proved C2:  0 <= dns_types__byte__last
     using hypothesis H132.
***  Proved C3:  start_byte + 6 >= dns_types__packet_bytes_range__first
     using hypothesis H21.
***  Proved C5:  start_byte + 6 >= dns_types__packet_bytes_range__base__first
     using hypothesis H135.
-S-  Applied substitution rule create_respo_rules(32).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
          fld_bytes(input_packet), [i___1]) and element(fld_bytes(input_packet)
          , [i___1]) <= dns_types__byte__last)
<S>  New H20:  query_end_byte <= 8180
<S>  New H22:  start_byte <= 8180
<S>  New H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
          fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H49:  dns_types__header_bits div 8 <= 8180
<S>  New H80:  query_end_byte <= 8179
<S>  New H88:  query_end_byte <= 8177
<S>  New H96:  query_end_byte <= 8178
<S>  New H108:  query_end_byte <= 8175
<S>  New H116:  query_end_byte <= 8176
<S>  New H122:  query_end_byte <= 8172
<S>  New H134:  start_byte <= 8179
<S>  New H140:  start_byte <= 8178
<S>  New H144:  start_byte <= 8177
<S>  New H162:  start_byte <= 8176
<S>  New H173:  start_byte <= 8175
<S>  New C4:  start_byte <= 8174
-S-  Applied substitution rule create_respo_rules(34).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H47:  start_byte + dns_types__header_bits div 8 <= 2147483647
<S>  New H82:  query_end_byte <= 2147483646
<S>  New H90:  query_end_byte <= 2147483644
<S>  New H98:  query_end_byte <= 2147483645
<S>  New H110:  query_end_byte <= 2147483642
<S>  New H118:  query_end_byte <= 2147483643
<S>  New H124:  query_end_byte <= 2147483639
<S>  New H136:  start_byte <= 2147483646
<S>  New H142:  start_byte <= 2147483645
<S>  New H146:  start_byte <= 2147483644
<S>  New H164:  start_byte <= 2147483643
<S>  New H175:  start_byte <= 2147483642
<S>  New C6:  start_byte <= 2147483641
***  Proved C6:  start_byte <= 2147483641
     using hypothesis H22.
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H74:  start_byte + 11 + dns_types__header_bits div 8 < 8192
<S>  New H125:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) >= 
          dns_types__packet_length_range__first
<S>  New H126:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) <= 
          dns_types__packet_length_range__last
<S>  New H129:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= dns_types__packet_length_range__first
<S>  New H130:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= dns_types__packet_length_range__last
<S>  New H154:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= dns_types__byte__first
<S>  New H155:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= dns_types__byte__last
<S>  New H158:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H159:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 
          dns_types__packet_length_range__base__last
<S>  New H165:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= dns_types__byte__first
<S>  New H166:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= dns_types__byte__last
<S>  New H169:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H170:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 
          dns_types__packet_length_range__base__last
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H42:  start_byte + 12 >= dns_types__packet_length_range__first
<S>  New H43:  start_byte + 12 <= dns_types__packet_length_range__last
<S>  New H46:  start_byte + 12 >= dns_types__packet_bytes_range__base__first
<S>  New H47:  start_byte <= 2147483635
<S>  New H48:  12 >= dns_types__packet_bytes_range__first
<S>  New H49:  true
<S>  New H50:  12 >= system__min_int
<S>  New H51:  12 <= system__max_int
<S>  New H53:  start_byte + 11 + 12 >= integer__base__first
<S>  New H54:  start_byte + 11 + 12 <= integer__base__last
<S>  New H64:  query_end_byte + 11 + 12 >= integer__base__first
<S>  New H65:  query_end_byte + 11 + 12 <= integer__base__last
<S>  New H73:  query_end_byte + 11 + 12 <= input_bytes
<S>  New H74:  start_byte + 11 < 8180
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of dns_types__udp_max_size 
          by:
          512.
<S>  New H40:  512 >= dns_types__packet_length_range__first
<S>  New H41:  512 <= dns_types__packet_length_range__last
<S>  New H129:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= dns_types__packet_length_range__first
<S>  New H130:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= dns_types__packet_length_range__last
<S>  New H154:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= dns_types__byte__first
<S>  New H155:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= dns_types__byte__last
<S>  New H158:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H159:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 
          dns_types__packet_length_range__base__last
<S>  New H165:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= dns_types__byte__first
<S>  New H166:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= dns_types__byte__last
<S>  New H169:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H170:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 
          dns_types__packet_length_range__base__last
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H50:  true
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H51:  true
-S-  Applied substitution rule create_respo_rules(16).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H60:  start_byte >= - 2147483648
<S>  New H62:  input_bytes >= - 2147483648
<S>  New H71:  query_end_byte >= - 2147483648
-S-  Applied substitution rule create_respo_rules(17).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H61:  start_byte <= 2147483647
<S>  New H63:  input_bytes <= 2147483647
<S>  New H72:  query_end_byte <= 2147483647
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H58:  start_byte >= - 2147483659
<S>  New H69:  query_end_byte >= - 2147483659
<S>  New H53:  start_byte >= - 2147483671
<S>  New H64:  query_end_byte >= - 2147483671
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H59:  start_byte <= 2147483636
<S>  New H70:  query_end_byte <= 2147483636
<S>  New H54:  start_byte <= 2147483624
<S>  New H65:  query_end_byte <= 2147483624
-S-  Applied substitution rule create_respo_rules(21).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H75:  element(fld_bytes(input_packet), [query_end_byte + 1]) >= 0
<S>  New H99:  true
-S-  Applied substitution rule create_respo_rules(22).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H76:  element(fld_bytes(input_packet), [query_end_byte + 1]) <= 255
<S>  New H100:  true
-S-  Applied substitution rule create_respo_rules(26).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H17:  input_bytes >= 0
<S>  New H125:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) >= 0
<S>  New H42:  start_byte >= - 12
<S>  New H40:  true
<S>  New H129:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= 0
-S-  Applied substitution rule create_respo_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H18:  input_bytes <= 8192
<S>  New H126:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) <= 8192
<S>  New H43:  start_byte <= 8180
<S>  New H41:  true
<S>  New H130:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= 8192
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__first by:
          - 2147483648.
<S>  New H158:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= - 2147483648
<S>  New H169:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= - 2147483648
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__last by:
          2147483647.
<S>  New H159:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 2147483647
<S>  New H170:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 2147483647
-S-  Applied substitution rule create_respo_rules(31).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H19:  query_end_byte >= 1
<S>  New H21:  start_byte >= 1
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H79:  query_end_byte >= 0
<S>  New H87:  query_end_byte >= - 2
<S>  New H95:  query_end_byte >= - 1
<S>  New H107:  query_end_byte >= - 4
<S>  New H115:  query_end_byte >= - 3
<S>  New H121:  query_end_byte >= - 7
<S>  New H133:  start_byte >= 0
<S>  New H139:  start_byte >= - 1
<S>  New H143:  start_byte >= - 2
<S>  New H161:  start_byte >= - 3
<S>  New H172:  start_byte >= - 4
<S>  New H48:  true
-S-  Applied substitution rule create_respo_rules(33).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H81:  query_end_byte >= - 2147483649
<S>  New H89:  query_end_byte >= - 2147483651
<S>  New H97:  query_end_byte >= - 2147483650
<S>  New H109:  query_end_byte >= - 2147483653
<S>  New H117:  query_end_byte >= - 2147483652
<S>  New H123:  query_end_byte >= - 2147483656
<S>  New H135:  start_byte >= - 2147483649
<S>  New H141:  start_byte >= - 2147483650
<S>  New H145:  start_byte >= - 2147483651
<S>  New H163:  start_byte >= - 2147483652
<S>  New H174:  start_byte >= - 2147483653
<S>  New H46:  start_byte >= - 2147483660
-S-  Applied substitution rule create_respo_rules(37).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H119:  element(fld_bytes(input_packet), [query_end_byte + 8]) >= 0
<S>  New H131:  true
<S>  New H147:  from_query_type(dns_types__opt) mod 256 >= 0
<S>  New H154:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= 0
<S>  New H165:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= 0
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= dns_types__byte__last)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(38).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H120:  element(fld_bytes(input_packet), [query_end_byte + 8]) <= 255
<S>  New H132:  true
<S>  New H148:  from_query_type(dns_types__opt) mod 256 <= 255
<S>  New H155:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 255
<S>  New H166:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 255
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= 255)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(44).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H2:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H8:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H10:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H12:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H14:  fld_arcount(fld_header(input_packet)) >= 0
<S>  New H23:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H29:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H31:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H33:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H35:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H38:  additional_count >= 0
<S>  New H85:  element(fld_bytes(input_packet), [query_end_byte + 3]) >= 0
<S>  New H93:  element(fld_bytes(input_packet), [query_end_byte + 2]) >= 0
<S>  New H103:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 5]) >= 0
<S>  New H105:  element(fld_bytes(input_packet), [query_end_byte + 5]) >= 0
<S>  New H113:  element(fld_bytes(input_packet), [query_end_byte + 4]) >= 0
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H1:  additional_count < 65535
<S>  New H3:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H9:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H11:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H13:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H15:  fld_arcount(fld_header(input_packet)) <= 65535
<S>  New H24:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H30:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H32:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H34:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H36:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H39:  additional_count <= 65535
<S>  New H86:  element(fld_bytes(input_packet), [query_end_byte + 3]) <= 65535
<S>  New H94:  element(fld_bytes(input_packet), [query_end_byte + 2]) <= 65535
<S>  New H104:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 5]) <= 65535
<S>  New H106:  element(fld_bytes(input_packet), [query_end_byte + 5]) <= 65535
<S>  New H114:  element(fld_bytes(input_packet), [query_end_byte + 4]) <= 65535
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__base__first by:
          - 2147483648.
<S>  New H83:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) >= - 2147483648
<S>  New H91:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 >= 
          - 2147483648
<S>  New H111:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 >= 
          - 2147483648
<S>  New H151:  from_query_type(dns_types__opt) mod 256 >= - 2147483648
-S-  Applied substitution rule create_respo_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__base__last by:
          2147483647.
<S>  New H84:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) <= 2147483647
<S>  New H92:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 <= 
          2147483647
<S>  New H112:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 <= 
          2147483647
<S>  New H152:  from_query_type(dns_types__opt) mod 256 <= 2147483647
-S-  Applied substitution rule create_respo_rules(50).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H4:  dns_types__query <= fld_opcode(fld_header(input_packet))
<S>  New H25:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(51).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H5:  fld_opcode(fld_header(input_packet)) <= dns_types__status
<S>  New H26:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(76).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H6:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
<S>  New H27:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(77).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H7:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
<S>  New H28:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
%%%  Simplified H73 further, to give:
     %%%  H73:  query_end_byte + 23 <= input_bytes
%%%  Simplified H74 further, to give:
     %%%  H74:  start_byte < 8169
***  Proved C4:  start_byte <= 8174
     using hypothesis H74.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_edns_18.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H6 on reading formula in, to give:
     %%%  H6:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H16 on reading formula in, to give:
     %%%  H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H25 on reading formula in, to give:
     %%%  H25:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H43).
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  true
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H66 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H75).
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H76).
%%%  Simplified H101 on reading formula in, to give:
     %%%  H101:  element(fld_bytes(input_packet), [query_end_byte + 1]) = 0
%%%  Simplified H102 on reading formula in, to give:
     %%%  H102:  to_query_type(element(fld_bytes(input_packet), [query_end_byte 
          + 2]) * 256 + element(fld_bytes(input_packet), [query_end_byte + 3])) 
          = dns_types__opt
%%%  Simplified H125 on reading formula in, to give:
     %%%  H125:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) >= 
          dns_types__packet_length_range__first
%%%  Simplified H126 on reading formula in, to give:
     %%%  H126:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) <= 
          dns_types__packet_length_range__last
---  Hypothesis H127 has been replaced by "true".  (It is already present, as 
          H125).
---  Hypothesis H128 has been replaced by "true".  (It is already present, as 
          H126).
%%%  Simplified H129 on reading formula in, to give:
     %%%  H129:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) >= 
          dns_types__packet_length_range__first
%%%  Simplified H130 on reading formula in, to give:
     %%%  H130:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) <= 
          dns_types__packet_length_range__last
---  Hypothesis H137 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H138 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H149 has been replaced by "true".  (It is already present, as 
          H147).
---  Hypothesis H150 has been replaced by "true".  (It is already present, as 
          H148).
%%%  Simplified H153 on reading formula in, to give:
     %%%  H153:  true
%%%  Simplified H154 on reading formula in, to give:
     %%%  H154:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 >= 
          dns_types__byte__first
%%%  Simplified H155 on reading formula in, to give:
     %%%  H155:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 <= 
          dns_types__byte__last
---  Hypothesis H156 has been replaced by "true".  (It is already present, as 
          H154).
---  Hypothesis H157 has been replaced by "true".  (It is already present, as 
          H155).
%%%  Simplified H158 on reading formula in, to give:
     %%%  H158:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 >= 
          dns_types__packet_length_range__base__first
%%%  Simplified H159 on reading formula in, to give:
     %%%  H159:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 <= 
          dns_types__packet_length_range__base__last
---  Hypothesis H160 has been replaced by "true".  (It is already present, as 
          H153).
%%%  Simplified H165 on reading formula in, to give:
     %%%  H165:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 >= 
          dns_types__byte__first
%%%  Simplified H166 on reading formula in, to give:
     %%%  H166:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 <= 
          dns_types__byte__last
---  Hypothesis H167 has been replaced by "true".  (It is already present, as 
          H165).
---  Hypothesis H168 has been replaced by "true".  (It is already present, as 
          H166).
%%%  Simplified H169 on reading formula in, to give:
     %%%  H169:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 >= 
          dns_types__packet_length_range__base__first
%%%  Simplified H170 on reading formula in, to give:
     %%%  H170:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 <= 
          dns_types__packet_length_range__base__last
---  Hypothesis H171 has been replaced by "true".  (It is already present, as 
          H153).
---  Hypothesis H176 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H177 has been replaced by "true".  (It is already present, as 
          H132).
***  Proved C1:  0 >= dns_types__byte__first
     using hypothesis H131.
***  Proved C2:  0 <= dns_types__byte__last
     using hypothesis H132.
***  Proved C3:  start_byte + 7 >= dns_types__packet_bytes_range__first
     using hypothesis H21.
***  Proved C5:  start_byte + 7 >= dns_types__packet_bytes_range__base__first
     using hypothesis H135.
-S-  Applied substitution rule create_respo_rules(32).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
          fld_bytes(input_packet), [i___1]) and element(fld_bytes(input_packet)
          , [i___1]) <= dns_types__byte__last)
<S>  New H20:  query_end_byte <= 8180
<S>  New H22:  start_byte <= 8180
<S>  New H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
          fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H49:  dns_types__header_bits div 8 <= 8180
<S>  New H80:  query_end_byte <= 8179
<S>  New H88:  query_end_byte <= 8177
<S>  New H96:  query_end_byte <= 8178
<S>  New H108:  query_end_byte <= 8175
<S>  New H116:  query_end_byte <= 8176
<S>  New H122:  query_end_byte <= 8172
<S>  New H134:  start_byte <= 8179
<S>  New H140:  start_byte <= 8178
<S>  New H144:  start_byte <= 8177
<S>  New H162:  start_byte <= 8176
<S>  New H173:  start_byte <= 8175
<S>  New H179:  start_byte <= 8174
<S>  New C4:  start_byte <= 8173
-S-  Applied substitution rule create_respo_rules(34).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H47:  start_byte + dns_types__header_bits div 8 <= 2147483647
<S>  New H82:  query_end_byte <= 2147483646
<S>  New H90:  query_end_byte <= 2147483644
<S>  New H98:  query_end_byte <= 2147483645
<S>  New H110:  query_end_byte <= 2147483642
<S>  New H118:  query_end_byte <= 2147483643
<S>  New H124:  query_end_byte <= 2147483639
<S>  New H136:  start_byte <= 2147483646
<S>  New H142:  start_byte <= 2147483645
<S>  New H146:  start_byte <= 2147483644
<S>  New H164:  start_byte <= 2147483643
<S>  New H175:  start_byte <= 2147483642
<S>  New H181:  start_byte <= 2147483641
<S>  New C6:  start_byte <= 2147483640
***  Proved C6:  start_byte <= 2147483640
     using hypothesis H22.
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H74:  start_byte + 11 + dns_types__header_bits div 8 < 8192
<S>  New H125:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) >= 
          dns_types__packet_length_range__first
<S>  New H126:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) <= 
          dns_types__packet_length_range__last
<S>  New H129:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= dns_types__packet_length_range__first
<S>  New H130:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= dns_types__packet_length_range__last
<S>  New H154:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= dns_types__byte__first
<S>  New H155:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= dns_types__byte__last
<S>  New H158:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H159:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 
          dns_types__packet_length_range__base__last
<S>  New H165:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= dns_types__byte__first
<S>  New H166:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= dns_types__byte__last
<S>  New H169:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H170:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 
          dns_types__packet_length_range__base__last
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H42:  start_byte + 12 >= dns_types__packet_length_range__first
<S>  New H43:  start_byte + 12 <= dns_types__packet_length_range__last
<S>  New H46:  start_byte + 12 >= dns_types__packet_bytes_range__base__first
<S>  New H47:  start_byte <= 2147483635
<S>  New H48:  12 >= dns_types__packet_bytes_range__first
<S>  New H49:  true
<S>  New H50:  12 >= system__min_int
<S>  New H51:  12 <= system__max_int
<S>  New H53:  start_byte + 11 + 12 >= integer__base__first
<S>  New H54:  start_byte + 11 + 12 <= integer__base__last
<S>  New H64:  query_end_byte + 11 + 12 >= integer__base__first
<S>  New H65:  query_end_byte + 11 + 12 <= integer__base__last
<S>  New H73:  query_end_byte + 11 + 12 <= input_bytes
<S>  New H74:  start_byte + 11 < 8180
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of dns_types__udp_max_size 
          by:
          512.
<S>  New H40:  512 >= dns_types__packet_length_range__first
<S>  New H41:  512 <= dns_types__packet_length_range__last
<S>  New H129:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= dns_types__packet_length_range__first
<S>  New H130:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= dns_types__packet_length_range__last
<S>  New H154:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= dns_types__byte__first
<S>  New H155:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= dns_types__byte__last
<S>  New H158:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H159:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 
          dns_types__packet_length_range__base__last
<S>  New H165:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= dns_types__byte__first
<S>  New H166:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= dns_types__byte__last
<S>  New H169:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H170:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 
          dns_types__packet_length_range__base__last
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H50:  true
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H51:  true
-S-  Applied substitution rule create_respo_rules(16).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H60:  start_byte >= - 2147483648
<S>  New H62:  input_bytes >= - 2147483648
<S>  New H71:  query_end_byte >= - 2147483648
-S-  Applied substitution rule create_respo_rules(17).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H61:  start_byte <= 2147483647
<S>  New H63:  input_bytes <= 2147483647
<S>  New H72:  query_end_byte <= 2147483647
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H58:  start_byte >= - 2147483659
<S>  New H69:  query_end_byte >= - 2147483659
<S>  New H53:  start_byte >= - 2147483671
<S>  New H64:  query_end_byte >= - 2147483671
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H59:  start_byte <= 2147483636
<S>  New H70:  query_end_byte <= 2147483636
<S>  New H54:  start_byte <= 2147483624
<S>  New H65:  query_end_byte <= 2147483624
-S-  Applied substitution rule create_respo_rules(21).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H75:  element(fld_bytes(input_packet), [query_end_byte + 1]) >= 0
<S>  New H99:  true
-S-  Applied substitution rule create_respo_rules(22).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H76:  element(fld_bytes(input_packet), [query_end_byte + 1]) <= 255
<S>  New H100:  true
-S-  Applied substitution rule create_respo_rules(26).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H17:  input_bytes >= 0
<S>  New H125:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) >= 0
<S>  New H42:  start_byte >= - 12
<S>  New H40:  true
<S>  New H129:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= 0
-S-  Applied substitution rule create_respo_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H18:  input_bytes <= 8192
<S>  New H126:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) <= 8192
<S>  New H43:  start_byte <= 8180
<S>  New H41:  true
<S>  New H130:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= 8192
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__first by:
          - 2147483648.
<S>  New H158:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= - 2147483648
<S>  New H169:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= - 2147483648
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__last by:
          2147483647.
<S>  New H159:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 2147483647
<S>  New H170:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 2147483647
-S-  Applied substitution rule create_respo_rules(31).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H19:  query_end_byte >= 1
<S>  New H21:  start_byte >= 1
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H79:  query_end_byte >= 0
<S>  New H87:  query_end_byte >= - 2
<S>  New H95:  query_end_byte >= - 1
<S>  New H107:  query_end_byte >= - 4
<S>  New H115:  query_end_byte >= - 3
<S>  New H121:  query_end_byte >= - 7
<S>  New H133:  start_byte >= 0
<S>  New H139:  start_byte >= - 1
<S>  New H143:  start_byte >= - 2
<S>  New H161:  start_byte >= - 3
<S>  New H172:  start_byte >= - 4
<S>  New H178:  start_byte >= - 5
<S>  New H48:  true
-S-  Applied substitution rule create_respo_rules(33).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H81:  query_end_byte >= - 2147483649
<S>  New H89:  query_end_byte >= - 2147483651
<S>  New H97:  query_end_byte >= - 2147483650
<S>  New H109:  query_end_byte >= - 2147483653
<S>  New H117:  query_end_byte >= - 2147483652
<S>  New H123:  query_end_byte >= - 2147483656
<S>  New H135:  start_byte >= - 2147483649
<S>  New H141:  start_byte >= - 2147483650
<S>  New H145:  start_byte >= - 2147483651
<S>  New H163:  start_byte >= - 2147483652
<S>  New H174:  start_byte >= - 2147483653
<S>  New H180:  start_byte >= - 2147483654
<S>  New H46:  start_byte >= - 2147483660
-S-  Applied substitution rule create_respo_rules(37).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H119:  element(fld_bytes(input_packet), [query_end_byte + 8]) >= 0
<S>  New H131:  true
<S>  New H147:  from_query_type(dns_types__opt) mod 256 >= 0
<S>  New H154:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= 0
<S>  New H165:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= 0
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= dns_types__byte__last)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(38).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H120:  element(fld_bytes(input_packet), [query_end_byte + 8]) <= 255
<S>  New H132:  true
<S>  New H148:  from_query_type(dns_types__opt) mod 256 <= 255
<S>  New H155:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 255
<S>  New H166:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 255
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= 255)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(44).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H2:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H8:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H10:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H12:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H14:  fld_arcount(fld_header(input_packet)) >= 0
<S>  New H23:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H29:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H31:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H33:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H35:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H38:  additional_count >= 0
<S>  New H85:  element(fld_bytes(input_packet), [query_end_byte + 3]) >= 0
<S>  New H93:  element(fld_bytes(input_packet), [query_end_byte + 2]) >= 0
<S>  New H103:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 5]) >= 0
<S>  New H105:  element(fld_bytes(input_packet), [query_end_byte + 5]) >= 0
<S>  New H113:  element(fld_bytes(input_packet), [query_end_byte + 4]) >= 0
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H1:  additional_count < 65535
<S>  New H3:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H9:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H11:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H13:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H15:  fld_arcount(fld_header(input_packet)) <= 65535
<S>  New H24:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H30:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H32:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H34:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H36:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H39:  additional_count <= 65535
<S>  New H86:  element(fld_bytes(input_packet), [query_end_byte + 3]) <= 65535
<S>  New H94:  element(fld_bytes(input_packet), [query_end_byte + 2]) <= 65535
<S>  New H104:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 5]) <= 65535
<S>  New H106:  element(fld_bytes(input_packet), [query_end_byte + 5]) <= 65535
<S>  New H114:  element(fld_bytes(input_packet), [query_end_byte + 4]) <= 65535
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__base__first by:
          - 2147483648.
<S>  New H83:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) >= - 2147483648
<S>  New H91:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 >= 
          - 2147483648
<S>  New H111:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 >= 
          - 2147483648
<S>  New H151:  from_query_type(dns_types__opt) mod 256 >= - 2147483648
-S-  Applied substitution rule create_respo_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__base__last by:
          2147483647.
<S>  New H84:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) <= 2147483647
<S>  New H92:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 <= 
          2147483647
<S>  New H112:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 <= 
          2147483647
<S>  New H152:  from_query_type(dns_types__opt) mod 256 <= 2147483647
-S-  Applied substitution rule create_respo_rules(50).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H4:  dns_types__query <= fld_opcode(fld_header(input_packet))
<S>  New H25:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(51).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H5:  fld_opcode(fld_header(input_packet)) <= dns_types__status
<S>  New H26:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(76).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H6:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
<S>  New H27:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(77).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H7:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
<S>  New H28:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
%%%  Simplified H73 further, to give:
     %%%  H73:  query_end_byte + 23 <= input_bytes
%%%  Simplified H74 further, to give:
     %%%  H74:  start_byte < 8169
***  Proved C4:  start_byte <= 8173
     using hypothesis H74.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_edns_19.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H6 on reading formula in, to give:
     %%%  H6:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H16 on reading formula in, to give:
     %%%  H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H25 on reading formula in, to give:
     %%%  H25:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H43).
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  true
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H66 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H75).
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H76).
%%%  Simplified H101 on reading formula in, to give:
     %%%  H101:  element(fld_bytes(input_packet), [query_end_byte + 1]) = 0
%%%  Simplified H102 on reading formula in, to give:
     %%%  H102:  to_query_type(element(fld_bytes(input_packet), [query_end_byte 
          + 2]) * 256 + element(fld_bytes(input_packet), [query_end_byte + 3])) 
          = dns_types__opt
%%%  Simplified H125 on reading formula in, to give:
     %%%  H125:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) >= 
          dns_types__packet_length_range__first
%%%  Simplified H126 on reading formula in, to give:
     %%%  H126:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) <= 
          dns_types__packet_length_range__last
---  Hypothesis H127 has been replaced by "true".  (It is already present, as 
          H125).
---  Hypothesis H128 has been replaced by "true".  (It is already present, as 
          H126).
%%%  Simplified H129 on reading formula in, to give:
     %%%  H129:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) >= 
          dns_types__packet_length_range__first
%%%  Simplified H130 on reading formula in, to give:
     %%%  H130:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) <= 
          dns_types__packet_length_range__last
---  Hypothesis H137 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H138 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H149 has been replaced by "true".  (It is already present, as 
          H147).
---  Hypothesis H150 has been replaced by "true".  (It is already present, as 
          H148).
%%%  Simplified H153 on reading formula in, to give:
     %%%  H153:  true
%%%  Simplified H154 on reading formula in, to give:
     %%%  H154:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 >= 
          dns_types__byte__first
%%%  Simplified H155 on reading formula in, to give:
     %%%  H155:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 <= 
          dns_types__byte__last
---  Hypothesis H156 has been replaced by "true".  (It is already present, as 
          H154).
---  Hypothesis H157 has been replaced by "true".  (It is already present, as 
          H155).
%%%  Simplified H158 on reading formula in, to give:
     %%%  H158:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 >= 
          dns_types__packet_length_range__base__first
%%%  Simplified H159 on reading formula in, to give:
     %%%  H159:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 <= 
          dns_types__packet_length_range__base__last
---  Hypothesis H160 has been replaced by "true".  (It is already present, as 
          H153).
%%%  Simplified H165 on reading formula in, to give:
     %%%  H165:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 >= 
          dns_types__byte__first
%%%  Simplified H166 on reading formula in, to give:
     %%%  H166:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 <= 
          dns_types__byte__last
---  Hypothesis H167 has been replaced by "true".  (It is already present, as 
          H165).
---  Hypothesis H168 has been replaced by "true".  (It is already present, as 
          H166).
%%%  Simplified H169 on reading formula in, to give:
     %%%  H169:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 >= 
          dns_types__packet_length_range__base__first
%%%  Simplified H170 on reading formula in, to give:
     %%%  H170:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 <= 
          dns_types__packet_length_range__base__last
---  Hypothesis H171 has been replaced by "true".  (It is already present, as 
          H153).
---  Hypothesis H176 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H177 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H182 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H183 has been replaced by "true".  (It is already present, as 
          H132).
%%%  Simplified H188 on reading formula in, to give:
     %%%  H188:  bit__and(element(fld_bytes(input_packet), [query_end_byte + 8])
          , dns_types__dnssecmask) <> 0
***  Proved C3:  start_byte + 8 >= dns_types__packet_bytes_range__first
     using hypothesis H21.
***  Proved C5:  start_byte + 8 >= dns_types__packet_bytes_range__base__first
     using hypothesis H135.
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of dns_types__dnssecmask by:
          128.
<S>  New H188:  bit__and(element(fld_bytes(input_packet), [query_end_byte + 8])
          , 128) <> 0
<S>  New C1:  128 >= dns_types__byte__first
<S>  New C2:  128 <= dns_types__byte__last
-S-  Applied substitution rule create_respo_rules(37).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= dns_types__packet_bytes_range__last -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= dns_types__byte__last)
<S>  New H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= dns_types__packet_bytes_range__last -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H119:  element(fld_bytes(input_packet), [query_end_byte + 8]) >= 0
<S>  New H131:  true
<S>  New H147:  from_query_type(dns_types__opt) mod 256 >= 0
<S>  New H154:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 >= 0
<S>  New H165:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 >= 0
<S>  New C1:  true
-S-  Applied substitution rule create_respo_rules(38).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H120:  element(fld_bytes(input_packet), [query_end_byte + 8]) <= 255
<S>  New H132:  true
<S>  New H148:  from_query_type(dns_types__opt) mod 256 <= 255
<S>  New H155:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 <= 255
<S>  New H166:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 <= 255
<S>  New H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= dns_types__packet_bytes_range__last -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= 255)
<S>  New H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= dns_types__packet_bytes_range__last -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
<S>  New C2:  true
-S-  Applied substitution rule create_respo_rules(32).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H20:  query_end_byte <= 8180
<S>  New H22:  start_byte <= 8180
<S>  New H49:  dns_types__header_bits div 8 <= 8180
<S>  New H80:  query_end_byte <= 8179
<S>  New H88:  query_end_byte <= 8177
<S>  New H96:  query_end_byte <= 8178
<S>  New H108:  query_end_byte <= 8175
<S>  New H116:  query_end_byte <= 8176
<S>  New H122:  query_end_byte <= 8172
<S>  New H134:  start_byte <= 8179
<S>  New H140:  start_byte <= 8178
<S>  New H144:  start_byte <= 8177
<S>  New H162:  start_byte <= 8176
<S>  New H173:  start_byte <= 8175
<S>  New H179:  start_byte <= 8174
<S>  New H185:  start_byte <= 8173
<S>  New H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= 8180 -> 0 <= element(fld_bytes(input_packet), [
          i___1]) and element(fld_bytes(input_packet), [i___1]) <= 255)
<S>  New H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= 8180 -> 0 <= element(fld_bytes(output_packet), [
          i___1]) and element(fld_bytes(output_packet), [i___1]) <= 255)
<S>  New C4:  start_byte <= 8172
-S-  Applied substitution rule create_respo_rules(34).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H47:  start_byte + dns_types__header_bits div 8 <= 2147483647
<S>  New H82:  query_end_byte <= 2147483646
<S>  New H90:  query_end_byte <= 2147483644
<S>  New H98:  query_end_byte <= 2147483645
<S>  New H110:  query_end_byte <= 2147483642
<S>  New H118:  query_end_byte <= 2147483643
<S>  New H124:  query_end_byte <= 2147483639
<S>  New H136:  start_byte <= 2147483646
<S>  New H142:  start_byte <= 2147483645
<S>  New H146:  start_byte <= 2147483644
<S>  New H164:  start_byte <= 2147483643
<S>  New H175:  start_byte <= 2147483642
<S>  New H181:  start_byte <= 2147483641
<S>  New H187:  start_byte <= 2147483640
<S>  New C6:  start_byte <= 2147483639
***  Proved C1:  true
***  Proved C2:  true
***  Proved C6:  start_byte <= 2147483639
     using hypothesis H22.
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H74:  start_byte + 11 + dns_types__header_bits div 8 < 8192
<S>  New H125:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) >= 
          dns_types__packet_length_range__first
<S>  New H126:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) <= 
          dns_types__packet_length_range__last
<S>  New H129:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= dns_types__packet_length_range__first
<S>  New H130:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= dns_types__packet_length_range__last
<S>  New H154:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= 0
<S>  New H155:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 255
<S>  New H158:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H159:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 
          dns_types__packet_length_range__base__last
<S>  New H165:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= 0
<S>  New H166:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 255
<S>  New H169:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H170:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 
          dns_types__packet_length_range__base__last
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H42:  start_byte + 12 >= dns_types__packet_length_range__first
<S>  New H43:  start_byte + 12 <= dns_types__packet_length_range__last
<S>  New H46:  start_byte + 12 >= dns_types__packet_bytes_range__base__first
<S>  New H47:  start_byte <= 2147483635
<S>  New H48:  12 >= dns_types__packet_bytes_range__first
<S>  New H49:  true
<S>  New H50:  12 >= system__min_int
<S>  New H51:  12 <= system__max_int
<S>  New H53:  start_byte + 11 + 12 >= integer__base__first
<S>  New H54:  start_byte + 11 + 12 <= integer__base__last
<S>  New H64:  query_end_byte + 11 + 12 >= integer__base__first
<S>  New H65:  query_end_byte + 11 + 12 <= integer__base__last
<S>  New H73:  query_end_byte + 11 + 12 <= input_bytes
<S>  New H74:  start_byte + 11 < 8180
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of dns_types__udp_max_size 
          by:
          512.
<S>  New H40:  512 >= dns_types__packet_length_range__first
<S>  New H41:  512 <= dns_types__packet_length_range__last
<S>  New H129:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= dns_types__packet_length_range__first
<S>  New H130:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= dns_types__packet_length_range__last
<S>  New H154:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= 0
<S>  New H155:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 255
<S>  New H158:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H159:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 
          dns_types__packet_length_range__base__last
<S>  New H165:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= 0
<S>  New H166:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 255
<S>  New H169:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H170:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 
          dns_types__packet_length_range__base__last
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H50:  true
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H51:  true
-S-  Applied substitution rule create_respo_rules(16).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H60:  start_byte >= - 2147483648
<S>  New H62:  input_bytes >= - 2147483648
<S>  New H71:  query_end_byte >= - 2147483648
-S-  Applied substitution rule create_respo_rules(17).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H61:  start_byte <= 2147483647
<S>  New H63:  input_bytes <= 2147483647
<S>  New H72:  query_end_byte <= 2147483647
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H58:  start_byte >= - 2147483659
<S>  New H69:  query_end_byte >= - 2147483659
<S>  New H53:  start_byte >= - 2147483671
<S>  New H64:  query_end_byte >= - 2147483671
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H59:  start_byte <= 2147483636
<S>  New H70:  query_end_byte <= 2147483636
<S>  New H54:  start_byte <= 2147483624
<S>  New H65:  query_end_byte <= 2147483624
-S-  Applied substitution rule create_respo_rules(21).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H75:  element(fld_bytes(input_packet), [query_end_byte + 1]) >= 0
<S>  New H99:  true
-S-  Applied substitution rule create_respo_rules(22).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H76:  element(fld_bytes(input_packet), [query_end_byte + 1]) <= 255
<S>  New H100:  true
-S-  Applied substitution rule create_respo_rules(26).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H17:  input_bytes >= 0
<S>  New H125:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) >= 0
<S>  New H42:  start_byte >= - 12
<S>  New H40:  true
<S>  New H129:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= 0
-S-  Applied substitution rule create_respo_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H18:  input_bytes <= 8192
<S>  New H126:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) <= 8192
<S>  New H43:  start_byte <= 8180
<S>  New H41:  true
<S>  New H130:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= 8192
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__first by:
          - 2147483648.
<S>  New H158:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= - 2147483648
<S>  New H169:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= - 2147483648
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__last by:
          2147483647.
<S>  New H159:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 2147483647
<S>  New H170:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 2147483647
-S-  Applied substitution rule create_respo_rules(31).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= 255)
<S>  New H19:  query_end_byte >= 1
<S>  New H21:  start_byte >= 1
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
<S>  New H79:  query_end_byte >= 0
<S>  New H87:  query_end_byte >= - 2
<S>  New H95:  query_end_byte >= - 1
<S>  New H107:  query_end_byte >= - 4
<S>  New H115:  query_end_byte >= - 3
<S>  New H121:  query_end_byte >= - 7
<S>  New H133:  start_byte >= 0
<S>  New H139:  start_byte >= - 1
<S>  New H143:  start_byte >= - 2
<S>  New H161:  start_byte >= - 3
<S>  New H172:  start_byte >= - 4
<S>  New H178:  start_byte >= - 5
<S>  New H184:  start_byte >= - 6
<S>  New H48:  true
-S-  Applied substitution rule create_respo_rules(33).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H81:  query_end_byte >= - 2147483649
<S>  New H89:  query_end_byte >= - 2147483651
<S>  New H97:  query_end_byte >= - 2147483650
<S>  New H109:  query_end_byte >= - 2147483653
<S>  New H117:  query_end_byte >= - 2147483652
<S>  New H123:  query_end_byte >= - 2147483656
<S>  New H135:  start_byte >= - 2147483649
<S>  New H141:  start_byte >= - 2147483650
<S>  New H145:  start_byte >= - 2147483651
<S>  New H163:  start_byte >= - 2147483652
<S>  New H174:  start_byte >= - 2147483653
<S>  New H180:  start_byte >= - 2147483654
<S>  New H186:  start_byte >= - 2147483655
<S>  New H46:  start_byte >= - 2147483660
-S-  Applied substitution rule create_respo_rules(44).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H2:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H8:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H10:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H12:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H14:  fld_arcount(fld_header(input_packet)) >= 0
<S>  New H23:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H29:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H31:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H33:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H35:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H38:  additional_count >= 0
<S>  New H85:  element(fld_bytes(input_packet), [query_end_byte + 3]) >= 0
<S>  New H93:  element(fld_bytes(input_packet), [query_end_byte + 2]) >= 0
<S>  New H103:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 5]) >= 0
<S>  New H105:  element(fld_bytes(input_packet), [query_end_byte + 5]) >= 0
<S>  New H113:  element(fld_bytes(input_packet), [query_end_byte + 4]) >= 0
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H1:  additional_count < 65535
<S>  New H3:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H9:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H11:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H13:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H15:  fld_arcount(fld_header(input_packet)) <= 65535
<S>  New H24:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H30:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H32:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H34:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H36:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H39:  additional_count <= 65535
<S>  New H86:  element(fld_bytes(input_packet), [query_end_byte + 3]) <= 65535
<S>  New H94:  element(fld_bytes(input_packet), [query_end_byte + 2]) <= 65535
<S>  New H104:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 5]) <= 65535
<S>  New H106:  element(fld_bytes(input_packet), [query_end_byte + 5]) <= 65535
<S>  New H114:  element(fld_bytes(input_packet), [query_end_byte + 4]) <= 65535
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__base__first by:
          - 2147483648.
<S>  New H83:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) >= - 2147483648
<S>  New H91:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 >= 
          - 2147483648
<S>  New H111:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 >= 
          - 2147483648
<S>  New H151:  from_query_type(dns_types__opt) mod 256 >= - 2147483648
-S-  Applied substitution rule create_respo_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__base__last by:
          2147483647.
<S>  New H84:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) <= 2147483647
<S>  New H92:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 <= 
          2147483647
<S>  New H112:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 <= 
          2147483647
<S>  New H152:  from_query_type(dns_types__opt) mod 256 <= 2147483647
-S-  Applied substitution rule create_respo_rules(50).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H4:  dns_types__query <= fld_opcode(fld_header(input_packet))
<S>  New H25:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(51).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H5:  fld_opcode(fld_header(input_packet)) <= dns_types__status
<S>  New H26:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(76).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H6:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
<S>  New H27:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(77).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H7:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
<S>  New H28:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
%%%  Simplified H73 further, to give:
     %%%  H73:  query_end_byte + 23 <= input_bytes
%%%  Simplified H74 further, to give:
     %%%  H74:  start_byte < 8169
***  Proved C4:  start_byte <= 8172
     using hypothesis H74.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_edns_20.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H6 on reading formula in, to give:
     %%%  H6:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H16 on reading formula in, to give:
     %%%  H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H25 on reading formula in, to give:
     %%%  H25:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H43).
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  true
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H66 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H75).
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H76).
%%%  Simplified H101 on reading formula in, to give:
     %%%  H101:  element(fld_bytes(input_packet), [query_end_byte + 1]) = 0
%%%  Simplified H102 on reading formula in, to give:
     %%%  H102:  to_query_type(element(fld_bytes(input_packet), [query_end_byte 
          + 2]) * 256 + element(fld_bytes(input_packet), [query_end_byte + 3])) 
          = dns_types__opt
%%%  Simplified H125 on reading formula in, to give:
     %%%  H125:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) >= 
          dns_types__packet_length_range__first
%%%  Simplified H126 on reading formula in, to give:
     %%%  H126:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) <= 
          dns_types__packet_length_range__last
---  Hypothesis H127 has been replaced by "true".  (It is already present, as 
          H125).
---  Hypothesis H128 has been replaced by "true".  (It is already present, as 
          H126).
%%%  Simplified H129 on reading formula in, to give:
     %%%  H129:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) >= 
          dns_types__packet_length_range__first
%%%  Simplified H130 on reading formula in, to give:
     %%%  H130:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) <= 
          dns_types__packet_length_range__last
---  Hypothesis H137 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H138 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H149 has been replaced by "true".  (It is already present, as 
          H147).
---  Hypothesis H150 has been replaced by "true".  (It is already present, as 
          H148).
%%%  Simplified H153 on reading formula in, to give:
     %%%  H153:  true
%%%  Simplified H154 on reading formula in, to give:
     %%%  H154:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 >= 
          dns_types__byte__first
%%%  Simplified H155 on reading formula in, to give:
     %%%  H155:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 <= 
          dns_types__byte__last
---  Hypothesis H156 has been replaced by "true".  (It is already present, as 
          H154).
---  Hypothesis H157 has been replaced by "true".  (It is already present, as 
          H155).
%%%  Simplified H158 on reading formula in, to give:
     %%%  H158:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 >= 
          dns_types__packet_length_range__base__first
%%%  Simplified H159 on reading formula in, to give:
     %%%  H159:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 <= 
          dns_types__packet_length_range__base__last
---  Hypothesis H160 has been replaced by "true".  (It is already present, as 
          H153).
%%%  Simplified H165 on reading formula in, to give:
     %%%  H165:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 >= 
          dns_types__byte__first
%%%  Simplified H166 on reading formula in, to give:
     %%%  H166:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 <= 
          dns_types__byte__last
---  Hypothesis H167 has been replaced by "true".  (It is already present, as 
          H165).
---  Hypothesis H168 has been replaced by "true".  (It is already present, as 
          H166).
%%%  Simplified H169 on reading formula in, to give:
     %%%  H169:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 >= 
          dns_types__packet_length_range__base__first
%%%  Simplified H170 on reading formula in, to give:
     %%%  H170:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 <= 
          dns_types__packet_length_range__base__last
---  Hypothesis H171 has been replaced by "true".  (It is already present, as 
          H153).
---  Hypothesis H176 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H177 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H182 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H183 has been replaced by "true".  (It is already present, as 
          H132).
%%%  Simplified H188 on reading formula in, to give:
     %%%  H188:  not bit__and(element(fld_bytes(input_packet), [query_end_byte 
          + 8]), dns_types__dnssecmask) <> 0
***  Proved C1:  0 >= dns_types__byte__first
     using hypothesis H131.
***  Proved C2:  0 <= dns_types__byte__last
     using hypothesis H132.
***  Proved C3:  start_byte + 8 >= dns_types__packet_bytes_range__first
     using hypothesis H21.
***  Proved C5:  start_byte + 8 >= dns_types__packet_bytes_range__base__first
     using hypothesis H135.
-S-  Applied substitution rule create_respo_rules(32).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
          fld_bytes(input_packet), [i___1]) and element(fld_bytes(input_packet)
          , [i___1]) <= dns_types__byte__last)
<S>  New H20:  query_end_byte <= 8180
<S>  New H22:  start_byte <= 8180
<S>  New H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
          fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H49:  dns_types__header_bits div 8 <= 8180
<S>  New H80:  query_end_byte <= 8179
<S>  New H88:  query_end_byte <= 8177
<S>  New H96:  query_end_byte <= 8178
<S>  New H108:  query_end_byte <= 8175
<S>  New H116:  query_end_byte <= 8176
<S>  New H122:  query_end_byte <= 8172
<S>  New H134:  start_byte <= 8179
<S>  New H140:  start_byte <= 8178
<S>  New H144:  start_byte <= 8177
<S>  New H162:  start_byte <= 8176
<S>  New H173:  start_byte <= 8175
<S>  New H179:  start_byte <= 8174
<S>  New H185:  start_byte <= 8173
<S>  New C4:  start_byte <= 8172
-S-  Applied substitution rule create_respo_rules(34).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H47:  start_byte + dns_types__header_bits div 8 <= 2147483647
<S>  New H82:  query_end_byte <= 2147483646
<S>  New H90:  query_end_byte <= 2147483644
<S>  New H98:  query_end_byte <= 2147483645
<S>  New H110:  query_end_byte <= 2147483642
<S>  New H118:  query_end_byte <= 2147483643
<S>  New H124:  query_end_byte <= 2147483639
<S>  New H136:  start_byte <= 2147483646
<S>  New H142:  start_byte <= 2147483645
<S>  New H146:  start_byte <= 2147483644
<S>  New H164:  start_byte <= 2147483643
<S>  New H175:  start_byte <= 2147483642
<S>  New H181:  start_byte <= 2147483641
<S>  New H187:  start_byte <= 2147483640
<S>  New C6:  start_byte <= 2147483639
***  Proved C6:  start_byte <= 2147483639
     using hypothesis H22.
>>>  Restructured hypothesis H188 into:
     >>>  H188:  bit__and(element(fld_bytes(input_packet), [query_end_byte + 8])
          , dns_types__dnssecmask) = 0
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H74:  start_byte + 11 + dns_types__header_bits div 8 < 8192
<S>  New H125:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) >= 
          dns_types__packet_length_range__first
<S>  New H126:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) <= 
          dns_types__packet_length_range__last
<S>  New H129:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= dns_types__packet_length_range__first
<S>  New H130:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= dns_types__packet_length_range__last
<S>  New H154:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= dns_types__byte__first
<S>  New H155:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= dns_types__byte__last
<S>  New H158:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H159:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 
          dns_types__packet_length_range__base__last
<S>  New H165:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= dns_types__byte__first
<S>  New H166:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= dns_types__byte__last
<S>  New H169:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H170:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 
          dns_types__packet_length_range__base__last
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H42:  start_byte + 12 >= dns_types__packet_length_range__first
<S>  New H43:  start_byte + 12 <= dns_types__packet_length_range__last
<S>  New H46:  start_byte + 12 >= dns_types__packet_bytes_range__base__first
<S>  New H47:  start_byte <= 2147483635
<S>  New H48:  12 >= dns_types__packet_bytes_range__first
<S>  New H49:  true
<S>  New H50:  12 >= system__min_int
<S>  New H51:  12 <= system__max_int
<S>  New H53:  start_byte + 11 + 12 >= integer__base__first
<S>  New H54:  start_byte + 11 + 12 <= integer__base__last
<S>  New H64:  query_end_byte + 11 + 12 >= integer__base__first
<S>  New H65:  query_end_byte + 11 + 12 <= integer__base__last
<S>  New H73:  query_end_byte + 11 + 12 <= input_bytes
<S>  New H74:  start_byte + 11 < 8180
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of dns_types__udp_max_size 
          by:
          512.
<S>  New H40:  512 >= dns_types__packet_length_range__first
<S>  New H41:  512 <= dns_types__packet_length_range__last
<S>  New H129:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= dns_types__packet_length_range__first
<S>  New H130:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= dns_types__packet_length_range__last
<S>  New H154:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= dns_types__byte__first
<S>  New H155:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= dns_types__byte__last
<S>  New H158:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H159:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 
          dns_types__packet_length_range__base__last
<S>  New H165:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= dns_types__byte__first
<S>  New H166:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= dns_types__byte__last
<S>  New H169:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H170:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 
          dns_types__packet_length_range__base__last
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of dns_types__dnssecmask by:
          128.
<S>  New H188:  bit__and(element(fld_bytes(input_packet), [query_end_byte + 8])
          , 128) = 0
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H50:  true
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H51:  true
-S-  Applied substitution rule create_respo_rules(16).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H60:  start_byte >= - 2147483648
<S>  New H62:  input_bytes >= - 2147483648
<S>  New H71:  query_end_byte >= - 2147483648
-S-  Applied substitution rule create_respo_rules(17).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H61:  start_byte <= 2147483647
<S>  New H63:  input_bytes <= 2147483647
<S>  New H72:  query_end_byte <= 2147483647
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H58:  start_byte >= - 2147483659
<S>  New H69:  query_end_byte >= - 2147483659
<S>  New H53:  start_byte >= - 2147483671
<S>  New H64:  query_end_byte >= - 2147483671
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H59:  start_byte <= 2147483636
<S>  New H70:  query_end_byte <= 2147483636
<S>  New H54:  start_byte <= 2147483624
<S>  New H65:  query_end_byte <= 2147483624
-S-  Applied substitution rule create_respo_rules(21).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H75:  element(fld_bytes(input_packet), [query_end_byte + 1]) >= 0
<S>  New H99:  true
-S-  Applied substitution rule create_respo_rules(22).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H76:  element(fld_bytes(input_packet), [query_end_byte + 1]) <= 255
<S>  New H100:  true
-S-  Applied substitution rule create_respo_rules(26).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H17:  input_bytes >= 0
<S>  New H125:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) >= 0
<S>  New H42:  start_byte >= - 12
<S>  New H40:  true
<S>  New H129:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= 0
-S-  Applied substitution rule create_respo_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H18:  input_bytes <= 8192
<S>  New H126:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) <= 8192
<S>  New H43:  start_byte <= 8180
<S>  New H41:  true
<S>  New H130:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= 8192
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__first by:
          - 2147483648.
<S>  New H158:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= - 2147483648
<S>  New H169:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= - 2147483648
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__last by:
          2147483647.
<S>  New H159:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 2147483647
<S>  New H170:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 2147483647
-S-  Applied substitution rule create_respo_rules(31).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H19:  query_end_byte >= 1
<S>  New H21:  start_byte >= 1
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H79:  query_end_byte >= 0
<S>  New H87:  query_end_byte >= - 2
<S>  New H95:  query_end_byte >= - 1
<S>  New H107:  query_end_byte >= - 4
<S>  New H115:  query_end_byte >= - 3
<S>  New H121:  query_end_byte >= - 7
<S>  New H133:  start_byte >= 0
<S>  New H139:  start_byte >= - 1
<S>  New H143:  start_byte >= - 2
<S>  New H161:  start_byte >= - 3
<S>  New H172:  start_byte >= - 4
<S>  New H178:  start_byte >= - 5
<S>  New H184:  start_byte >= - 6
<S>  New H48:  true
-S-  Applied substitution rule create_respo_rules(33).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H81:  query_end_byte >= - 2147483649
<S>  New H89:  query_end_byte >= - 2147483651
<S>  New H97:  query_end_byte >= - 2147483650
<S>  New H109:  query_end_byte >= - 2147483653
<S>  New H117:  query_end_byte >= - 2147483652
<S>  New H123:  query_end_byte >= - 2147483656
<S>  New H135:  start_byte >= - 2147483649
<S>  New H141:  start_byte >= - 2147483650
<S>  New H145:  start_byte >= - 2147483651
<S>  New H163:  start_byte >= - 2147483652
<S>  New H174:  start_byte >= - 2147483653
<S>  New H180:  start_byte >= - 2147483654
<S>  New H186:  start_byte >= - 2147483655
<S>  New H46:  start_byte >= - 2147483660
-S-  Applied substitution rule create_respo_rules(37).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H119:  element(fld_bytes(input_packet), [query_end_byte + 8]) >= 0
<S>  New H131:  true
<S>  New H147:  from_query_type(dns_types__opt) mod 256 >= 0
<S>  New H154:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= 0
<S>  New H165:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= 0
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= dns_types__byte__last)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(38).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H120:  element(fld_bytes(input_packet), [query_end_byte + 8]) <= 255
<S>  New H132:  true
<S>  New H148:  from_query_type(dns_types__opt) mod 256 <= 255
<S>  New H155:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 255
<S>  New H166:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 255
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= 255)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(44).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H2:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H8:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H10:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H12:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H14:  fld_arcount(fld_header(input_packet)) >= 0
<S>  New H23:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H29:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H31:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H33:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H35:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H38:  additional_count >= 0
<S>  New H85:  element(fld_bytes(input_packet), [query_end_byte + 3]) >= 0
<S>  New H93:  element(fld_bytes(input_packet), [query_end_byte + 2]) >= 0
<S>  New H103:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 5]) >= 0
<S>  New H105:  element(fld_bytes(input_packet), [query_end_byte + 5]) >= 0
<S>  New H113:  element(fld_bytes(input_packet), [query_end_byte + 4]) >= 0
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H1:  additional_count < 65535
<S>  New H3:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H9:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H11:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H13:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H15:  fld_arcount(fld_header(input_packet)) <= 65535
<S>  New H24:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H30:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H32:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H34:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H36:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H39:  additional_count <= 65535
<S>  New H86:  element(fld_bytes(input_packet), [query_end_byte + 3]) <= 65535
<S>  New H94:  element(fld_bytes(input_packet), [query_end_byte + 2]) <= 65535
<S>  New H104:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 5]) <= 65535
<S>  New H106:  element(fld_bytes(input_packet), [query_end_byte + 5]) <= 65535
<S>  New H114:  element(fld_bytes(input_packet), [query_end_byte + 4]) <= 65535
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__base__first by:
          - 2147483648.
<S>  New H83:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) >= - 2147483648
<S>  New H91:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 >= 
          - 2147483648
<S>  New H111:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 >= 
          - 2147483648
<S>  New H151:  from_query_type(dns_types__opt) mod 256 >= - 2147483648
-S-  Applied substitution rule create_respo_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__base__last by:
          2147483647.
<S>  New H84:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) <= 2147483647
<S>  New H92:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 <= 
          2147483647
<S>  New H112:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 <= 
          2147483647
<S>  New H152:  from_query_type(dns_types__opt) mod 256 <= 2147483647
-S-  Applied substitution rule create_respo_rules(50).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H4:  dns_types__query <= fld_opcode(fld_header(input_packet))
<S>  New H25:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(51).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H5:  fld_opcode(fld_header(input_packet)) <= dns_types__status
<S>  New H26:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(76).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H6:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
<S>  New H27:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(77).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H7:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
<S>  New H28:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
%%%  Simplified H73 further, to give:
     %%%  H73:  query_end_byte + 23 <= input_bytes
%%%  Simplified H74 further, to give:
     %%%  H74:  start_byte < 8169
***  Proved C4:  start_byte <= 8172
     using hypothesis H74.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_edns_21.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H6 on reading formula in, to give:
     %%%  H6:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H16 on reading formula in, to give:
     %%%  H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H25 on reading formula in, to give:
     %%%  H25:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H43).
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  true
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H66 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H75).
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H76).
%%%  Simplified H101 on reading formula in, to give:
     %%%  H101:  element(fld_bytes(input_packet), [query_end_byte + 1]) = 0
%%%  Simplified H102 on reading formula in, to give:
     %%%  H102:  to_query_type(element(fld_bytes(input_packet), [query_end_byte 
          + 2]) * 256 + element(fld_bytes(input_packet), [query_end_byte + 3])) 
          = dns_types__opt
%%%  Simplified H125 on reading formula in, to give:
     %%%  H125:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) >= 
          dns_types__packet_length_range__first
%%%  Simplified H126 on reading formula in, to give:
     %%%  H126:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) <= 
          dns_types__packet_length_range__last
---  Hypothesis H127 has been replaced by "true".  (It is already present, as 
          H125).
---  Hypothesis H128 has been replaced by "true".  (It is already present, as 
          H126).
%%%  Simplified H129 on reading formula in, to give:
     %%%  H129:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) >= 
          dns_types__packet_length_range__first
%%%  Simplified H130 on reading formula in, to give:
     %%%  H130:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) <= 
          dns_types__packet_length_range__last
---  Hypothesis H137 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H138 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H149 has been replaced by "true".  (It is already present, as 
          H147).
---  Hypothesis H150 has been replaced by "true".  (It is already present, as 
          H148).
%%%  Simplified H153 on reading formula in, to give:
     %%%  H153:  true
%%%  Simplified H154 on reading formula in, to give:
     %%%  H154:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 >= 
          dns_types__byte__first
%%%  Simplified H155 on reading formula in, to give:
     %%%  H155:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 <= 
          dns_types__byte__last
---  Hypothesis H156 has been replaced by "true".  (It is already present, as 
          H154).
---  Hypothesis H157 has been replaced by "true".  (It is already present, as 
          H155).
%%%  Simplified H158 on reading formula in, to give:
     %%%  H158:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 >= 
          dns_types__packet_length_range__base__first
%%%  Simplified H159 on reading formula in, to give:
     %%%  H159:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 <= 
          dns_types__packet_length_range__base__last
---  Hypothesis H160 has been replaced by "true".  (It is already present, as 
          H153).
%%%  Simplified H165 on reading formula in, to give:
     %%%  H165:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 >= 
          dns_types__byte__first
%%%  Simplified H166 on reading formula in, to give:
     %%%  H166:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 <= 
          dns_types__byte__last
---  Hypothesis H167 has been replaced by "true".  (It is already present, as 
          H165).
---  Hypothesis H168 has been replaced by "true".  (It is already present, as 
          H166).
%%%  Simplified H169 on reading formula in, to give:
     %%%  H169:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 >= 
          dns_types__packet_length_range__base__first
%%%  Simplified H170 on reading formula in, to give:
     %%%  H170:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 <= 
          dns_types__packet_length_range__base__last
---  Hypothesis H171 has been replaced by "true".  (It is already present, as 
          H153).
---  Hypothesis H176 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H177 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H182 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H183 has been replaced by "true".  (It is already present, as 
          H132).
%%%  Simplified H188 on reading formula in, to give:
     %%%  H188:  bit__and(element(fld_bytes(input_packet), [query_end_byte + 8])
          , dns_types__dnssecmask) <> 0
***  Proved C1:  0 >= dns_types__byte__first
     using hypothesis H131.
***  Proved C2:  0 <= dns_types__byte__last
     using hypothesis H132.
***  Proved C3:  start_byte + 9 >= dns_types__packet_bytes_range__first
     using hypothesis H21.
***  Proved C5:  start_byte + 9 >= dns_types__packet_bytes_range__base__first
     using hypothesis H135.
-S-  Applied substitution rule create_respo_rules(32).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
          fld_bytes(input_packet), [i___1]) and element(fld_bytes(input_packet)
          , [i___1]) <= dns_types__byte__last)
<S>  New H20:  query_end_byte <= 8180
<S>  New H22:  start_byte <= 8180
<S>  New H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
          fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H49:  dns_types__header_bits div 8 <= 8180
<S>  New H80:  query_end_byte <= 8179
<S>  New H88:  query_end_byte <= 8177
<S>  New H96:  query_end_byte <= 8178
<S>  New H108:  query_end_byte <= 8175
<S>  New H116:  query_end_byte <= 8176
<S>  New H122:  query_end_byte <= 8172
<S>  New H134:  start_byte <= 8179
<S>  New H140:  start_byte <= 8178
<S>  New H144:  start_byte <= 8177
<S>  New H162:  start_byte <= 8176
<S>  New H173:  start_byte <= 8175
<S>  New H179:  start_byte <= 8174
<S>  New H185:  start_byte <= 8173
<S>  New H192:  start_byte <= 8172
<S>  New C4:  start_byte <= 8171
-S-  Applied substitution rule create_respo_rules(34).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H47:  start_byte + dns_types__header_bits div 8 <= 2147483647
<S>  New H82:  query_end_byte <= 2147483646
<S>  New H90:  query_end_byte <= 2147483644
<S>  New H98:  query_end_byte <= 2147483645
<S>  New H110:  query_end_byte <= 2147483642
<S>  New H118:  query_end_byte <= 2147483643
<S>  New H124:  query_end_byte <= 2147483639
<S>  New H136:  start_byte <= 2147483646
<S>  New H142:  start_byte <= 2147483645
<S>  New H146:  start_byte <= 2147483644
<S>  New H164:  start_byte <= 2147483643
<S>  New H175:  start_byte <= 2147483642
<S>  New H181:  start_byte <= 2147483641
<S>  New H187:  start_byte <= 2147483640
<S>  New H194:  start_byte <= 2147483639
<S>  New C6:  start_byte <= 2147483638
***  Proved C6:  start_byte <= 2147483638
     using hypothesis H22.
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H74:  start_byte + 11 + dns_types__header_bits div 8 < 8192
<S>  New H125:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) >= 
          dns_types__packet_length_range__first
<S>  New H126:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) <= 
          dns_types__packet_length_range__last
<S>  New H129:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= dns_types__packet_length_range__first
<S>  New H130:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= dns_types__packet_length_range__last
<S>  New H154:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= dns_types__byte__first
<S>  New H155:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= dns_types__byte__last
<S>  New H158:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H159:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 
          dns_types__packet_length_range__base__last
<S>  New H165:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= dns_types__byte__first
<S>  New H166:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= dns_types__byte__last
<S>  New H169:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H170:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 
          dns_types__packet_length_range__base__last
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H42:  start_byte + 12 >= dns_types__packet_length_range__first
<S>  New H43:  start_byte + 12 <= dns_types__packet_length_range__last
<S>  New H46:  start_byte + 12 >= dns_types__packet_bytes_range__base__first
<S>  New H47:  start_byte <= 2147483635
<S>  New H48:  12 >= dns_types__packet_bytes_range__first
<S>  New H49:  true
<S>  New H50:  12 >= system__min_int
<S>  New H51:  12 <= system__max_int
<S>  New H53:  start_byte + 11 + 12 >= integer__base__first
<S>  New H54:  start_byte + 11 + 12 <= integer__base__last
<S>  New H64:  query_end_byte + 11 + 12 >= integer__base__first
<S>  New H65:  query_end_byte + 11 + 12 <= integer__base__last
<S>  New H73:  query_end_byte + 11 + 12 <= input_bytes
<S>  New H74:  start_byte + 11 < 8180
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of dns_types__udp_max_size 
          by:
          512.
<S>  New H40:  512 >= dns_types__packet_length_range__first
<S>  New H41:  512 <= dns_types__packet_length_range__last
<S>  New H129:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= dns_types__packet_length_range__first
<S>  New H130:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= dns_types__packet_length_range__last
<S>  New H154:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= dns_types__byte__first
<S>  New H155:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= dns_types__byte__last
<S>  New H158:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H159:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 
          dns_types__packet_length_range__base__last
<S>  New H165:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= dns_types__byte__first
<S>  New H166:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= dns_types__byte__last
<S>  New H169:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H170:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 
          dns_types__packet_length_range__base__last
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of dns_types__dnssecmask by:
          128.
<S>  New H188:  bit__and(element(fld_bytes(input_packet), [query_end_byte + 8])
          , 128) <> 0
<S>  New H189:  128 >= dns_types__byte__first
<S>  New H190:  128 <= dns_types__byte__last
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H50:  true
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H51:  true
-S-  Applied substitution rule create_respo_rules(16).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H60:  start_byte >= - 2147483648
<S>  New H62:  input_bytes >= - 2147483648
<S>  New H71:  query_end_byte >= - 2147483648
-S-  Applied substitution rule create_respo_rules(17).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H61:  start_byte <= 2147483647
<S>  New H63:  input_bytes <= 2147483647
<S>  New H72:  query_end_byte <= 2147483647
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H58:  start_byte >= - 2147483659
<S>  New H69:  query_end_byte >= - 2147483659
<S>  New H53:  start_byte >= - 2147483671
<S>  New H64:  query_end_byte >= - 2147483671
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H59:  start_byte <= 2147483636
<S>  New H70:  query_end_byte <= 2147483636
<S>  New H54:  start_byte <= 2147483624
<S>  New H65:  query_end_byte <= 2147483624
-S-  Applied substitution rule create_respo_rules(21).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H75:  element(fld_bytes(input_packet), [query_end_byte + 1]) >= 0
<S>  New H99:  true
-S-  Applied substitution rule create_respo_rules(22).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H76:  element(fld_bytes(input_packet), [query_end_byte + 1]) <= 255
<S>  New H100:  true
-S-  Applied substitution rule create_respo_rules(26).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H17:  input_bytes >= 0
<S>  New H125:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) >= 0
<S>  New H42:  start_byte >= - 12
<S>  New H40:  true
<S>  New H129:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= 0
-S-  Applied substitution rule create_respo_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H18:  input_bytes <= 8192
<S>  New H126:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) <= 8192
<S>  New H43:  start_byte <= 8180
<S>  New H41:  true
<S>  New H130:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= 8192
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__first by:
          - 2147483648.
<S>  New H158:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= - 2147483648
<S>  New H169:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= - 2147483648
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__last by:
          2147483647.
<S>  New H159:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 2147483647
<S>  New H170:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 2147483647
-S-  Applied substitution rule create_respo_rules(31).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H19:  query_end_byte >= 1
<S>  New H21:  start_byte >= 1
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H79:  query_end_byte >= 0
<S>  New H87:  query_end_byte >= - 2
<S>  New H95:  query_end_byte >= - 1
<S>  New H107:  query_end_byte >= - 4
<S>  New H115:  query_end_byte >= - 3
<S>  New H121:  query_end_byte >= - 7
<S>  New H133:  start_byte >= 0
<S>  New H139:  start_byte >= - 1
<S>  New H143:  start_byte >= - 2
<S>  New H161:  start_byte >= - 3
<S>  New H172:  start_byte >= - 4
<S>  New H178:  start_byte >= - 5
<S>  New H184:  start_byte >= - 6
<S>  New H191:  start_byte >= - 7
<S>  New H48:  true
-S-  Applied substitution rule create_respo_rules(33).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H81:  query_end_byte >= - 2147483649
<S>  New H89:  query_end_byte >= - 2147483651
<S>  New H97:  query_end_byte >= - 2147483650
<S>  New H109:  query_end_byte >= - 2147483653
<S>  New H117:  query_end_byte >= - 2147483652
<S>  New H123:  query_end_byte >= - 2147483656
<S>  New H135:  start_byte >= - 2147483649
<S>  New H141:  start_byte >= - 2147483650
<S>  New H145:  start_byte >= - 2147483651
<S>  New H163:  start_byte >= - 2147483652
<S>  New H174:  start_byte >= - 2147483653
<S>  New H180:  start_byte >= - 2147483654
<S>  New H186:  start_byte >= - 2147483655
<S>  New H193:  start_byte >= - 2147483656
<S>  New H46:  start_byte >= - 2147483660
-S-  Applied substitution rule create_respo_rules(37).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H119:  element(fld_bytes(input_packet), [query_end_byte + 8]) >= 0
<S>  New H131:  true
<S>  New H147:  from_query_type(dns_types__opt) mod 256 >= 0
<S>  New H154:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= 0
<S>  New H165:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= 0
<S>  New H189:  true
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= dns_types__byte__last)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(38).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H120:  element(fld_bytes(input_packet), [query_end_byte + 8]) <= 255
<S>  New H132:  true
<S>  New H148:  from_query_type(dns_types__opt) mod 256 <= 255
<S>  New H155:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 255
<S>  New H166:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 255
<S>  New H190:  true
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= 255)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(44).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H2:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H8:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H10:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H12:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H14:  fld_arcount(fld_header(input_packet)) >= 0
<S>  New H23:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H29:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H31:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H33:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H35:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H38:  additional_count >= 0
<S>  New H85:  element(fld_bytes(input_packet), [query_end_byte + 3]) >= 0
<S>  New H93:  element(fld_bytes(input_packet), [query_end_byte + 2]) >= 0
<S>  New H103:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 5]) >= 0
<S>  New H105:  element(fld_bytes(input_packet), [query_end_byte + 5]) >= 0
<S>  New H113:  element(fld_bytes(input_packet), [query_end_byte + 4]) >= 0
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H1:  additional_count < 65535
<S>  New H3:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H9:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H11:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H13:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H15:  fld_arcount(fld_header(input_packet)) <= 65535
<S>  New H24:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H30:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H32:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H34:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H36:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H39:  additional_count <= 65535
<S>  New H86:  element(fld_bytes(input_packet), [query_end_byte + 3]) <= 65535
<S>  New H94:  element(fld_bytes(input_packet), [query_end_byte + 2]) <= 65535
<S>  New H104:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 5]) <= 65535
<S>  New H106:  element(fld_bytes(input_packet), [query_end_byte + 5]) <= 65535
<S>  New H114:  element(fld_bytes(input_packet), [query_end_byte + 4]) <= 65535
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__base__first by:
          - 2147483648.
<S>  New H83:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) >= - 2147483648
<S>  New H91:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 >= 
          - 2147483648
<S>  New H111:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 >= 
          - 2147483648
<S>  New H151:  from_query_type(dns_types__opt) mod 256 >= - 2147483648
-S-  Applied substitution rule create_respo_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__base__last by:
          2147483647.
<S>  New H84:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) <= 2147483647
<S>  New H92:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 <= 
          2147483647
<S>  New H112:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 <= 
          2147483647
<S>  New H152:  from_query_type(dns_types__opt) mod 256 <= 2147483647
-S-  Applied substitution rule create_respo_rules(50).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H4:  dns_types__query <= fld_opcode(fld_header(input_packet))
<S>  New H25:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(51).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H5:  fld_opcode(fld_header(input_packet)) <= dns_types__status
<S>  New H26:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(76).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H6:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
<S>  New H27:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(77).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H7:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
<S>  New H28:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
%%%  Simplified H73 further, to give:
     %%%  H73:  query_end_byte + 23 <= input_bytes
%%%  Simplified H74 further, to give:
     %%%  H74:  start_byte < 8169
***  Proved C4:  start_byte <= 8171
     using hypothesis H74.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_edns_22.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H6 on reading formula in, to give:
     %%%  H6:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H16 on reading formula in, to give:
     %%%  H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H25 on reading formula in, to give:
     %%%  H25:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H43).
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  true
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H66 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H75).
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H76).
%%%  Simplified H101 on reading formula in, to give:
     %%%  H101:  element(fld_bytes(input_packet), [query_end_byte + 1]) = 0
%%%  Simplified H102 on reading formula in, to give:
     %%%  H102:  to_query_type(element(fld_bytes(input_packet), [query_end_byte 
          + 2]) * 256 + element(fld_bytes(input_packet), [query_end_byte + 3])) 
          = dns_types__opt
%%%  Simplified H125 on reading formula in, to give:
     %%%  H125:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) >= 
          dns_types__packet_length_range__first
%%%  Simplified H126 on reading formula in, to give:
     %%%  H126:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) <= 
          dns_types__packet_length_range__last
---  Hypothesis H127 has been replaced by "true".  (It is already present, as 
          H125).
---  Hypothesis H128 has been replaced by "true".  (It is already present, as 
          H126).
%%%  Simplified H129 on reading formula in, to give:
     %%%  H129:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) >= 
          dns_types__packet_length_range__first
%%%  Simplified H130 on reading formula in, to give:
     %%%  H130:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) <= 
          dns_types__packet_length_range__last
---  Hypothesis H137 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H138 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H149 has been replaced by "true".  (It is already present, as 
          H147).
---  Hypothesis H150 has been replaced by "true".  (It is already present, as 
          H148).
%%%  Simplified H153 on reading formula in, to give:
     %%%  H153:  true
%%%  Simplified H154 on reading formula in, to give:
     %%%  H154:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 >= 
          dns_types__byte__first
%%%  Simplified H155 on reading formula in, to give:
     %%%  H155:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 <= 
          dns_types__byte__last
---  Hypothesis H156 has been replaced by "true".  (It is already present, as 
          H154).
---  Hypothesis H157 has been replaced by "true".  (It is already present, as 
          H155).
%%%  Simplified H158 on reading formula in, to give:
     %%%  H158:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 >= 
          dns_types__packet_length_range__base__first
%%%  Simplified H159 on reading formula in, to give:
     %%%  H159:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 <= 
          dns_types__packet_length_range__base__last
---  Hypothesis H160 has been replaced by "true".  (It is already present, as 
          H153).
%%%  Simplified H165 on reading formula in, to give:
     %%%  H165:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 >= 
          dns_types__byte__first
%%%  Simplified H166 on reading formula in, to give:
     %%%  H166:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 <= 
          dns_types__byte__last
---  Hypothesis H167 has been replaced by "true".  (It is already present, as 
          H165).
---  Hypothesis H168 has been replaced by "true".  (It is already present, as 
          H166).
%%%  Simplified H169 on reading formula in, to give:
     %%%  H169:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 >= 
          dns_types__packet_length_range__base__first
%%%  Simplified H170 on reading formula in, to give:
     %%%  H170:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 <= 
          dns_types__packet_length_range__base__last
---  Hypothesis H171 has been replaced by "true".  (It is already present, as 
          H153).
---  Hypothesis H176 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H177 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H182 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H183 has been replaced by "true".  (It is already present, as 
          H132).
%%%  Simplified H188 on reading formula in, to give:
     %%%  H188:  not bit__and(element(fld_bytes(input_packet), [query_end_byte 
          + 8]), dns_types__dnssecmask) <> 0
---  Hypothesis H189 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H190 has been replaced by "true".  (It is already present, as 
          H132).
***  Proved C1:  0 >= dns_types__byte__first
     using hypothesis H131.
***  Proved C2:  0 <= dns_types__byte__last
     using hypothesis H132.
***  Proved C3:  start_byte + 9 >= dns_types__packet_bytes_range__first
     using hypothesis H21.
***  Proved C5:  start_byte + 9 >= dns_types__packet_bytes_range__base__first
     using hypothesis H135.
-S-  Applied substitution rule create_respo_rules(32).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
          fld_bytes(input_packet), [i___1]) and element(fld_bytes(input_packet)
          , [i___1]) <= dns_types__byte__last)
<S>  New H20:  query_end_byte <= 8180
<S>  New H22:  start_byte <= 8180
<S>  New H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
          fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H49:  dns_types__header_bits div 8 <= 8180
<S>  New H80:  query_end_byte <= 8179
<S>  New H88:  query_end_byte <= 8177
<S>  New H96:  query_end_byte <= 8178
<S>  New H108:  query_end_byte <= 8175
<S>  New H116:  query_end_byte <= 8176
<S>  New H122:  query_end_byte <= 8172
<S>  New H134:  start_byte <= 8179
<S>  New H140:  start_byte <= 8178
<S>  New H144:  start_byte <= 8177
<S>  New H162:  start_byte <= 8176
<S>  New H173:  start_byte <= 8175
<S>  New H179:  start_byte <= 8174
<S>  New H185:  start_byte <= 8173
<S>  New H192:  start_byte <= 8172
<S>  New C4:  start_byte <= 8171
-S-  Applied substitution rule create_respo_rules(34).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H47:  start_byte + dns_types__header_bits div 8 <= 2147483647
<S>  New H82:  query_end_byte <= 2147483646
<S>  New H90:  query_end_byte <= 2147483644
<S>  New H98:  query_end_byte <= 2147483645
<S>  New H110:  query_end_byte <= 2147483642
<S>  New H118:  query_end_byte <= 2147483643
<S>  New H124:  query_end_byte <= 2147483639
<S>  New H136:  start_byte <= 2147483646
<S>  New H142:  start_byte <= 2147483645
<S>  New H146:  start_byte <= 2147483644
<S>  New H164:  start_byte <= 2147483643
<S>  New H175:  start_byte <= 2147483642
<S>  New H181:  start_byte <= 2147483641
<S>  New H187:  start_byte <= 2147483640
<S>  New H194:  start_byte <= 2147483639
<S>  New C6:  start_byte <= 2147483638
***  Proved C6:  start_byte <= 2147483638
     using hypothesis H22.
>>>  Restructured hypothesis H188 into:
     >>>  H188:  bit__and(element(fld_bytes(input_packet), [query_end_byte + 8])
          , dns_types__dnssecmask) = 0
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H74:  start_byte + 11 + dns_types__header_bits div 8 < 8192
<S>  New H125:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) >= 
          dns_types__packet_length_range__first
<S>  New H126:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) <= 
          dns_types__packet_length_range__last
<S>  New H129:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= dns_types__packet_length_range__first
<S>  New H130:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= dns_types__packet_length_range__last
<S>  New H154:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= dns_types__byte__first
<S>  New H155:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= dns_types__byte__last
<S>  New H158:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H159:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 
          dns_types__packet_length_range__base__last
<S>  New H165:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= dns_types__byte__first
<S>  New H166:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= dns_types__byte__last
<S>  New H169:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H170:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 
          dns_types__packet_length_range__base__last
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H42:  start_byte + 12 >= dns_types__packet_length_range__first
<S>  New H43:  start_byte + 12 <= dns_types__packet_length_range__last
<S>  New H46:  start_byte + 12 >= dns_types__packet_bytes_range__base__first
<S>  New H47:  start_byte <= 2147483635
<S>  New H48:  12 >= dns_types__packet_bytes_range__first
<S>  New H49:  true
<S>  New H50:  12 >= system__min_int
<S>  New H51:  12 <= system__max_int
<S>  New H53:  start_byte + 11 + 12 >= integer__base__first
<S>  New H54:  start_byte + 11 + 12 <= integer__base__last
<S>  New H64:  query_end_byte + 11 + 12 >= integer__base__first
<S>  New H65:  query_end_byte + 11 + 12 <= integer__base__last
<S>  New H73:  query_end_byte + 11 + 12 <= input_bytes
<S>  New H74:  start_byte + 11 < 8180
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of dns_types__udp_max_size 
          by:
          512.
<S>  New H40:  512 >= dns_types__packet_length_range__first
<S>  New H41:  512 <= dns_types__packet_length_range__last
<S>  New H129:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= dns_types__packet_length_range__first
<S>  New H130:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= dns_types__packet_length_range__last
<S>  New H154:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= dns_types__byte__first
<S>  New H155:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= dns_types__byte__last
<S>  New H158:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H159:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 
          dns_types__packet_length_range__base__last
<S>  New H165:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= dns_types__byte__first
<S>  New H166:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= dns_types__byte__last
<S>  New H169:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H170:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 
          dns_types__packet_length_range__base__last
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of dns_types__dnssecmask by:
          128.
<S>  New H188:  bit__and(element(fld_bytes(input_packet), [query_end_byte + 8])
          , 128) = 0
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H50:  true
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H51:  true
-S-  Applied substitution rule create_respo_rules(16).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H60:  start_byte >= - 2147483648
<S>  New H62:  input_bytes >= - 2147483648
<S>  New H71:  query_end_byte >= - 2147483648
-S-  Applied substitution rule create_respo_rules(17).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H61:  start_byte <= 2147483647
<S>  New H63:  input_bytes <= 2147483647
<S>  New H72:  query_end_byte <= 2147483647
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H58:  start_byte >= - 2147483659
<S>  New H69:  query_end_byte >= - 2147483659
<S>  New H53:  start_byte >= - 2147483671
<S>  New H64:  query_end_byte >= - 2147483671
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H59:  start_byte <= 2147483636
<S>  New H70:  query_end_byte <= 2147483636
<S>  New H54:  start_byte <= 2147483624
<S>  New H65:  query_end_byte <= 2147483624
-S-  Applied substitution rule create_respo_rules(21).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H75:  element(fld_bytes(input_packet), [query_end_byte + 1]) >= 0
<S>  New H99:  true
-S-  Applied substitution rule create_respo_rules(22).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H76:  element(fld_bytes(input_packet), [query_end_byte + 1]) <= 255
<S>  New H100:  true
-S-  Applied substitution rule create_respo_rules(26).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H17:  input_bytes >= 0
<S>  New H125:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) >= 0
<S>  New H42:  start_byte >= - 12
<S>  New H40:  true
<S>  New H129:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= 0
-S-  Applied substitution rule create_respo_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H18:  input_bytes <= 8192
<S>  New H126:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) <= 8192
<S>  New H43:  start_byte <= 8180
<S>  New H41:  true
<S>  New H130:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= 8192
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__first by:
          - 2147483648.
<S>  New H158:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= - 2147483648
<S>  New H169:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= - 2147483648
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__last by:
          2147483647.
<S>  New H159:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 2147483647
<S>  New H170:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 2147483647
-S-  Applied substitution rule create_respo_rules(31).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H19:  query_end_byte >= 1
<S>  New H21:  start_byte >= 1
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H79:  query_end_byte >= 0
<S>  New H87:  query_end_byte >= - 2
<S>  New H95:  query_end_byte >= - 1
<S>  New H107:  query_end_byte >= - 4
<S>  New H115:  query_end_byte >= - 3
<S>  New H121:  query_end_byte >= - 7
<S>  New H133:  start_byte >= 0
<S>  New H139:  start_byte >= - 1
<S>  New H143:  start_byte >= - 2
<S>  New H161:  start_byte >= - 3
<S>  New H172:  start_byte >= - 4
<S>  New H178:  start_byte >= - 5
<S>  New H184:  start_byte >= - 6
<S>  New H191:  start_byte >= - 7
<S>  New H48:  true
-S-  Applied substitution rule create_respo_rules(33).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H81:  query_end_byte >= - 2147483649
<S>  New H89:  query_end_byte >= - 2147483651
<S>  New H97:  query_end_byte >= - 2147483650
<S>  New H109:  query_end_byte >= - 2147483653
<S>  New H117:  query_end_byte >= - 2147483652
<S>  New H123:  query_end_byte >= - 2147483656
<S>  New H135:  start_byte >= - 2147483649
<S>  New H141:  start_byte >= - 2147483650
<S>  New H145:  start_byte >= - 2147483651
<S>  New H163:  start_byte >= - 2147483652
<S>  New H174:  start_byte >= - 2147483653
<S>  New H180:  start_byte >= - 2147483654
<S>  New H186:  start_byte >= - 2147483655
<S>  New H193:  start_byte >= - 2147483656
<S>  New H46:  start_byte >= - 2147483660
-S-  Applied substitution rule create_respo_rules(37).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H119:  element(fld_bytes(input_packet), [query_end_byte + 8]) >= 0
<S>  New H131:  true
<S>  New H147:  from_query_type(dns_types__opt) mod 256 >= 0
<S>  New H154:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= 0
<S>  New H165:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= 0
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= dns_types__byte__last)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(38).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H120:  element(fld_bytes(input_packet), [query_end_byte + 8]) <= 255
<S>  New H132:  true
<S>  New H148:  from_query_type(dns_types__opt) mod 256 <= 255
<S>  New H155:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 255
<S>  New H166:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 255
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= 255)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(44).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H2:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H8:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H10:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H12:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H14:  fld_arcount(fld_header(input_packet)) >= 0
<S>  New H23:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H29:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H31:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H33:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H35:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H38:  additional_count >= 0
<S>  New H85:  element(fld_bytes(input_packet), [query_end_byte + 3]) >= 0
<S>  New H93:  element(fld_bytes(input_packet), [query_end_byte + 2]) >= 0
<S>  New H103:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 5]) >= 0
<S>  New H105:  element(fld_bytes(input_packet), [query_end_byte + 5]) >= 0
<S>  New H113:  element(fld_bytes(input_packet), [query_end_byte + 4]) >= 0
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H1:  additional_count < 65535
<S>  New H3:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H9:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H11:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H13:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H15:  fld_arcount(fld_header(input_packet)) <= 65535
<S>  New H24:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H30:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H32:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H34:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H36:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H39:  additional_count <= 65535
<S>  New H86:  element(fld_bytes(input_packet), [query_end_byte + 3]) <= 65535
<S>  New H94:  element(fld_bytes(input_packet), [query_end_byte + 2]) <= 65535
<S>  New H104:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 5]) <= 65535
<S>  New H106:  element(fld_bytes(input_packet), [query_end_byte + 5]) <= 65535
<S>  New H114:  element(fld_bytes(input_packet), [query_end_byte + 4]) <= 65535
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__base__first by:
          - 2147483648.
<S>  New H83:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) >= - 2147483648
<S>  New H91:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 >= 
          - 2147483648
<S>  New H111:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 >= 
          - 2147483648
<S>  New H151:  from_query_type(dns_types__opt) mod 256 >= - 2147483648
-S-  Applied substitution rule create_respo_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__base__last by:
          2147483647.
<S>  New H84:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) <= 2147483647
<S>  New H92:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 <= 
          2147483647
<S>  New H112:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 <= 
          2147483647
<S>  New H152:  from_query_type(dns_types__opt) mod 256 <= 2147483647
-S-  Applied substitution rule create_respo_rules(50).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H4:  dns_types__query <= fld_opcode(fld_header(input_packet))
<S>  New H25:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(51).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H5:  fld_opcode(fld_header(input_packet)) <= dns_types__status
<S>  New H26:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(76).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H6:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
<S>  New H27:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(77).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H7:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
<S>  New H28:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
%%%  Simplified H73 further, to give:
     %%%  H73:  query_end_byte + 23 <= input_bytes
%%%  Simplified H74 further, to give:
     %%%  H74:  start_byte < 8169
***  Proved C4:  start_byte <= 8171
     using hypothesis H74.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_edns_23.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H6 on reading formula in, to give:
     %%%  H6:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H16 on reading formula in, to give:
     %%%  H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H25 on reading formula in, to give:
     %%%  H25:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H43).
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  true
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H66 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H75).
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H76).
%%%  Simplified H101 on reading formula in, to give:
     %%%  H101:  element(fld_bytes(input_packet), [query_end_byte + 1]) = 0
%%%  Simplified H102 on reading formula in, to give:
     %%%  H102:  to_query_type(element(fld_bytes(input_packet), [query_end_byte 
          + 2]) * 256 + element(fld_bytes(input_packet), [query_end_byte + 3])) 
          = dns_types__opt
%%%  Simplified H125 on reading formula in, to give:
     %%%  H125:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) >= 
          dns_types__packet_length_range__first
%%%  Simplified H126 on reading formula in, to give:
     %%%  H126:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) <= 
          dns_types__packet_length_range__last
---  Hypothesis H127 has been replaced by "true".  (It is already present, as 
          H125).
---  Hypothesis H128 has been replaced by "true".  (It is already present, as 
          H126).
%%%  Simplified H129 on reading formula in, to give:
     %%%  H129:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) >= 
          dns_types__packet_length_range__first
%%%  Simplified H130 on reading formula in, to give:
     %%%  H130:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) <= 
          dns_types__packet_length_range__last
---  Hypothesis H137 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H138 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H149 has been replaced by "true".  (It is already present, as 
          H147).
---  Hypothesis H150 has been replaced by "true".  (It is already present, as 
          H148).
%%%  Simplified H153 on reading formula in, to give:
     %%%  H153:  true
%%%  Simplified H154 on reading formula in, to give:
     %%%  H154:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 >= 
          dns_types__byte__first
%%%  Simplified H155 on reading formula in, to give:
     %%%  H155:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 <= 
          dns_types__byte__last
---  Hypothesis H156 has been replaced by "true".  (It is already present, as 
          H154).
---  Hypothesis H157 has been replaced by "true".  (It is already present, as 
          H155).
%%%  Simplified H158 on reading formula in, to give:
     %%%  H158:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 >= 
          dns_types__packet_length_range__base__first
%%%  Simplified H159 on reading formula in, to give:
     %%%  H159:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 <= 
          dns_types__packet_length_range__base__last
---  Hypothesis H160 has been replaced by "true".  (It is already present, as 
          H153).
%%%  Simplified H165 on reading formula in, to give:
     %%%  H165:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 >= 
          dns_types__byte__first
%%%  Simplified H166 on reading formula in, to give:
     %%%  H166:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 <= 
          dns_types__byte__last
---  Hypothesis H167 has been replaced by "true".  (It is already present, as 
          H165).
---  Hypothesis H168 has been replaced by "true".  (It is already present, as 
          H166).
%%%  Simplified H169 on reading formula in, to give:
     %%%  H169:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 >= 
          dns_types__packet_length_range__base__first
%%%  Simplified H170 on reading formula in, to give:
     %%%  H170:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 <= 
          dns_types__packet_length_range__base__last
---  Hypothesis H171 has been replaced by "true".  (It is already present, as 
          H153).
---  Hypothesis H176 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H177 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H182 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H183 has been replaced by "true".  (It is already present, as 
          H132).
%%%  Simplified H188 on reading formula in, to give:
     %%%  H188:  bit__and(element(fld_bytes(input_packet), [query_end_byte + 8])
          , dns_types__dnssecmask) <> 0
---  Hypothesis H195 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H196 has been replaced by "true".  (It is already present, as 
          H132).
***  Proved C1:  0 >= dns_types__byte__first
     using hypothesis H131.
***  Proved C2:  0 <= dns_types__byte__last
     using hypothesis H132.
***  Proved C3:  start_byte + 10 >= dns_types__packet_bytes_range__first
     using hypothesis H21.
***  Proved C5:  start_byte + 10 >= dns_types__packet_bytes_range__base__first
     using hypothesis H135.
-S-  Applied substitution rule create_respo_rules(32).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
          fld_bytes(input_packet), [i___1]) and element(fld_bytes(input_packet)
          , [i___1]) <= dns_types__byte__last)
<S>  New H20:  query_end_byte <= 8180
<S>  New H22:  start_byte <= 8180
<S>  New H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
          fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H49:  dns_types__header_bits div 8 <= 8180
<S>  New H80:  query_end_byte <= 8179
<S>  New H88:  query_end_byte <= 8177
<S>  New H96:  query_end_byte <= 8178
<S>  New H108:  query_end_byte <= 8175
<S>  New H116:  query_end_byte <= 8176
<S>  New H122:  query_end_byte <= 8172
<S>  New H134:  start_byte <= 8179
<S>  New H140:  start_byte <= 8178
<S>  New H144:  start_byte <= 8177
<S>  New H162:  start_byte <= 8176
<S>  New H173:  start_byte <= 8175
<S>  New H179:  start_byte <= 8174
<S>  New H185:  start_byte <= 8173
<S>  New H192:  start_byte <= 8172
<S>  New H198:  start_byte <= 8171
<S>  New C4:  start_byte <= 8170
-S-  Applied substitution rule create_respo_rules(34).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H47:  start_byte + dns_types__header_bits div 8 <= 2147483647
<S>  New H82:  query_end_byte <= 2147483646
<S>  New H90:  query_end_byte <= 2147483644
<S>  New H98:  query_end_byte <= 2147483645
<S>  New H110:  query_end_byte <= 2147483642
<S>  New H118:  query_end_byte <= 2147483643
<S>  New H124:  query_end_byte <= 2147483639
<S>  New H136:  start_byte <= 2147483646
<S>  New H142:  start_byte <= 2147483645
<S>  New H146:  start_byte <= 2147483644
<S>  New H164:  start_byte <= 2147483643
<S>  New H175:  start_byte <= 2147483642
<S>  New H181:  start_byte <= 2147483641
<S>  New H187:  start_byte <= 2147483640
<S>  New H194:  start_byte <= 2147483639
<S>  New H200:  start_byte <= 2147483638
<S>  New C6:  start_byte <= 2147483637
***  Proved C6:  start_byte <= 2147483637
     using hypothesis H22.
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H74:  start_byte + 11 + dns_types__header_bits div 8 < 8192
<S>  New H125:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) >= 
          dns_types__packet_length_range__first
<S>  New H126:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) <= 
          dns_types__packet_length_range__last
<S>  New H129:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= dns_types__packet_length_range__first
<S>  New H130:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= dns_types__packet_length_range__last
<S>  New H154:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= dns_types__byte__first
<S>  New H155:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= dns_types__byte__last
<S>  New H158:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H159:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 
          dns_types__packet_length_range__base__last
<S>  New H165:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= dns_types__byte__first
<S>  New H166:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= dns_types__byte__last
<S>  New H169:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H170:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 
          dns_types__packet_length_range__base__last
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H42:  start_byte + 12 >= dns_types__packet_length_range__first
<S>  New H43:  start_byte + 12 <= dns_types__packet_length_range__last
<S>  New H46:  start_byte + 12 >= dns_types__packet_bytes_range__base__first
<S>  New H47:  start_byte <= 2147483635
<S>  New H48:  12 >= dns_types__packet_bytes_range__first
<S>  New H49:  true
<S>  New H50:  12 >= system__min_int
<S>  New H51:  12 <= system__max_int
<S>  New H53:  start_byte + 11 + 12 >= integer__base__first
<S>  New H54:  start_byte + 11 + 12 <= integer__base__last
<S>  New H64:  query_end_byte + 11 + 12 >= integer__base__first
<S>  New H65:  query_end_byte + 11 + 12 <= integer__base__last
<S>  New H73:  query_end_byte + 11 + 12 <= input_bytes
<S>  New H74:  start_byte + 11 < 8180
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of dns_types__udp_max_size 
          by:
          512.
<S>  New H40:  512 >= dns_types__packet_length_range__first
<S>  New H41:  512 <= dns_types__packet_length_range__last
<S>  New H129:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= dns_types__packet_length_range__first
<S>  New H130:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= dns_types__packet_length_range__last
<S>  New H154:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= dns_types__byte__first
<S>  New H155:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= dns_types__byte__last
<S>  New H158:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H159:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 
          dns_types__packet_length_range__base__last
<S>  New H165:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= dns_types__byte__first
<S>  New H166:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= dns_types__byte__last
<S>  New H169:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H170:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 
          dns_types__packet_length_range__base__last
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of dns_types__dnssecmask by:
          128.
<S>  New H188:  bit__and(element(fld_bytes(input_packet), [query_end_byte + 8])
          , 128) <> 0
<S>  New H189:  128 >= dns_types__byte__first
<S>  New H190:  128 <= dns_types__byte__last
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H50:  true
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H51:  true
-S-  Applied substitution rule create_respo_rules(16).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H60:  start_byte >= - 2147483648
<S>  New H62:  input_bytes >= - 2147483648
<S>  New H71:  query_end_byte >= - 2147483648
-S-  Applied substitution rule create_respo_rules(17).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H61:  start_byte <= 2147483647
<S>  New H63:  input_bytes <= 2147483647
<S>  New H72:  query_end_byte <= 2147483647
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H58:  start_byte >= - 2147483659
<S>  New H69:  query_end_byte >= - 2147483659
<S>  New H53:  start_byte >= - 2147483671
<S>  New H64:  query_end_byte >= - 2147483671
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H59:  start_byte <= 2147483636
<S>  New H70:  query_end_byte <= 2147483636
<S>  New H54:  start_byte <= 2147483624
<S>  New H65:  query_end_byte <= 2147483624
-S-  Applied substitution rule create_respo_rules(21).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H75:  element(fld_bytes(input_packet), [query_end_byte + 1]) >= 0
<S>  New H99:  true
-S-  Applied substitution rule create_respo_rules(22).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H76:  element(fld_bytes(input_packet), [query_end_byte + 1]) <= 255
<S>  New H100:  true
-S-  Applied substitution rule create_respo_rules(26).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H17:  input_bytes >= 0
<S>  New H125:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) >= 0
<S>  New H42:  start_byte >= - 12
<S>  New H40:  true
<S>  New H129:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= 0
-S-  Applied substitution rule create_respo_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H18:  input_bytes <= 8192
<S>  New H126:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) <= 8192
<S>  New H43:  start_byte <= 8180
<S>  New H41:  true
<S>  New H130:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= 8192
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__first by:
          - 2147483648.
<S>  New H158:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= - 2147483648
<S>  New H169:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= - 2147483648
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__last by:
          2147483647.
<S>  New H159:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 2147483647
<S>  New H170:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 2147483647
-S-  Applied substitution rule create_respo_rules(31).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H19:  query_end_byte >= 1
<S>  New H21:  start_byte >= 1
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H79:  query_end_byte >= 0
<S>  New H87:  query_end_byte >= - 2
<S>  New H95:  query_end_byte >= - 1
<S>  New H107:  query_end_byte >= - 4
<S>  New H115:  query_end_byte >= - 3
<S>  New H121:  query_end_byte >= - 7
<S>  New H133:  start_byte >= 0
<S>  New H139:  start_byte >= - 1
<S>  New H143:  start_byte >= - 2
<S>  New H161:  start_byte >= - 3
<S>  New H172:  start_byte >= - 4
<S>  New H178:  start_byte >= - 5
<S>  New H184:  start_byte >= - 6
<S>  New H191:  start_byte >= - 7
<S>  New H197:  start_byte >= - 8
<S>  New H48:  true
-S-  Applied substitution rule create_respo_rules(33).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H81:  query_end_byte >= - 2147483649
<S>  New H89:  query_end_byte >= - 2147483651
<S>  New H97:  query_end_byte >= - 2147483650
<S>  New H109:  query_end_byte >= - 2147483653
<S>  New H117:  query_end_byte >= - 2147483652
<S>  New H123:  query_end_byte >= - 2147483656
<S>  New H135:  start_byte >= - 2147483649
<S>  New H141:  start_byte >= - 2147483650
<S>  New H145:  start_byte >= - 2147483651
<S>  New H163:  start_byte >= - 2147483652
<S>  New H174:  start_byte >= - 2147483653
<S>  New H180:  start_byte >= - 2147483654
<S>  New H186:  start_byte >= - 2147483655
<S>  New H193:  start_byte >= - 2147483656
<S>  New H199:  start_byte >= - 2147483657
<S>  New H46:  start_byte >= - 2147483660
-S-  Applied substitution rule create_respo_rules(37).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H119:  element(fld_bytes(input_packet), [query_end_byte + 8]) >= 0
<S>  New H131:  true
<S>  New H147:  from_query_type(dns_types__opt) mod 256 >= 0
<S>  New H154:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= 0
<S>  New H165:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= 0
<S>  New H189:  true
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= dns_types__byte__last)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(38).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H120:  element(fld_bytes(input_packet), [query_end_byte + 8]) <= 255
<S>  New H132:  true
<S>  New H148:  from_query_type(dns_types__opt) mod 256 <= 255
<S>  New H155:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 255
<S>  New H166:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 255
<S>  New H190:  true
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= 255)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(44).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H2:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H8:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H10:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H12:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H14:  fld_arcount(fld_header(input_packet)) >= 0
<S>  New H23:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H29:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H31:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H33:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H35:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H38:  additional_count >= 0
<S>  New H85:  element(fld_bytes(input_packet), [query_end_byte + 3]) >= 0
<S>  New H93:  element(fld_bytes(input_packet), [query_end_byte + 2]) >= 0
<S>  New H103:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 5]) >= 0
<S>  New H105:  element(fld_bytes(input_packet), [query_end_byte + 5]) >= 0
<S>  New H113:  element(fld_bytes(input_packet), [query_end_byte + 4]) >= 0
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H1:  additional_count < 65535
<S>  New H3:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H9:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H11:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H13:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H15:  fld_arcount(fld_header(input_packet)) <= 65535
<S>  New H24:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H30:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H32:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H34:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H36:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H39:  additional_count <= 65535
<S>  New H86:  element(fld_bytes(input_packet), [query_end_byte + 3]) <= 65535
<S>  New H94:  element(fld_bytes(input_packet), [query_end_byte + 2]) <= 65535
<S>  New H104:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 5]) <= 65535
<S>  New H106:  element(fld_bytes(input_packet), [query_end_byte + 5]) <= 65535
<S>  New H114:  element(fld_bytes(input_packet), [query_end_byte + 4]) <= 65535
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__base__first by:
          - 2147483648.
<S>  New H83:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) >= - 2147483648
<S>  New H91:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 >= 
          - 2147483648
<S>  New H111:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 >= 
          - 2147483648
<S>  New H151:  from_query_type(dns_types__opt) mod 256 >= - 2147483648
-S-  Applied substitution rule create_respo_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__base__last by:
          2147483647.
<S>  New H84:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) <= 2147483647
<S>  New H92:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 <= 
          2147483647
<S>  New H112:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 <= 
          2147483647
<S>  New H152:  from_query_type(dns_types__opt) mod 256 <= 2147483647
-S-  Applied substitution rule create_respo_rules(50).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H4:  dns_types__query <= fld_opcode(fld_header(input_packet))
<S>  New H25:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(51).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H5:  fld_opcode(fld_header(input_packet)) <= dns_types__status
<S>  New H26:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(76).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H6:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
<S>  New H27:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(77).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H7:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
<S>  New H28:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
%%%  Simplified H73 further, to give:
     %%%  H73:  query_end_byte + 23 <= input_bytes
%%%  Simplified H74 further, to give:
     %%%  H74:  start_byte < 8169
***  Proved C4:  start_byte <= 8170
     using hypothesis H74.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_edns_24.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H6 on reading formula in, to give:
     %%%  H6:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H16 on reading formula in, to give:
     %%%  H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H25 on reading formula in, to give:
     %%%  H25:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H43).
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  true
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H66 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H75).
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H76).
%%%  Simplified H101 on reading formula in, to give:
     %%%  H101:  element(fld_bytes(input_packet), [query_end_byte + 1]) = 0
%%%  Simplified H102 on reading formula in, to give:
     %%%  H102:  to_query_type(element(fld_bytes(input_packet), [query_end_byte 
          + 2]) * 256 + element(fld_bytes(input_packet), [query_end_byte + 3])) 
          = dns_types__opt
%%%  Simplified H125 on reading formula in, to give:
     %%%  H125:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) >= 
          dns_types__packet_length_range__first
%%%  Simplified H126 on reading formula in, to give:
     %%%  H126:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) <= 
          dns_types__packet_length_range__last
---  Hypothesis H127 has been replaced by "true".  (It is already present, as 
          H125).
---  Hypothesis H128 has been replaced by "true".  (It is already present, as 
          H126).
%%%  Simplified H129 on reading formula in, to give:
     %%%  H129:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) >= 
          dns_types__packet_length_range__first
%%%  Simplified H130 on reading formula in, to give:
     %%%  H130:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) <= 
          dns_types__packet_length_range__last
---  Hypothesis H137 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H138 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H149 has been replaced by "true".  (It is already present, as 
          H147).
---  Hypothesis H150 has been replaced by "true".  (It is already present, as 
          H148).
%%%  Simplified H153 on reading formula in, to give:
     %%%  H153:  true
%%%  Simplified H154 on reading formula in, to give:
     %%%  H154:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 >= 
          dns_types__byte__first
%%%  Simplified H155 on reading formula in, to give:
     %%%  H155:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 <= 
          dns_types__byte__last
---  Hypothesis H156 has been replaced by "true".  (It is already present, as 
          H154).
---  Hypothesis H157 has been replaced by "true".  (It is already present, as 
          H155).
%%%  Simplified H158 on reading formula in, to give:
     %%%  H158:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 >= 
          dns_types__packet_length_range__base__first
%%%  Simplified H159 on reading formula in, to give:
     %%%  H159:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 <= 
          dns_types__packet_length_range__base__last
---  Hypothesis H160 has been replaced by "true".  (It is already present, as 
          H153).
%%%  Simplified H165 on reading formula in, to give:
     %%%  H165:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 >= 
          dns_types__byte__first
%%%  Simplified H166 on reading formula in, to give:
     %%%  H166:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 <= 
          dns_types__byte__last
---  Hypothesis H167 has been replaced by "true".  (It is already present, as 
          H165).
---  Hypothesis H168 has been replaced by "true".  (It is already present, as 
          H166).
%%%  Simplified H169 on reading formula in, to give:
     %%%  H169:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 >= 
          dns_types__packet_length_range__base__first
%%%  Simplified H170 on reading formula in, to give:
     %%%  H170:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 <= 
          dns_types__packet_length_range__base__last
---  Hypothesis H171 has been replaced by "true".  (It is already present, as 
          H153).
---  Hypothesis H176 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H177 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H182 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H183 has been replaced by "true".  (It is already present, as 
          H132).
%%%  Simplified H188 on reading formula in, to give:
     %%%  H188:  not bit__and(element(fld_bytes(input_packet), [query_end_byte 
          + 8]), dns_types__dnssecmask) <> 0
---  Hypothesis H189 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H190 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H195 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H196 has been replaced by "true".  (It is already present, as 
          H132).
***  Proved C1:  0 >= dns_types__byte__first
     using hypothesis H131.
***  Proved C2:  0 <= dns_types__byte__last
     using hypothesis H132.
***  Proved C3:  start_byte + 10 >= dns_types__packet_bytes_range__first
     using hypothesis H21.
***  Proved C5:  start_byte + 10 >= dns_types__packet_bytes_range__base__first
     using hypothesis H135.
-S-  Applied substitution rule create_respo_rules(32).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
          fld_bytes(input_packet), [i___1]) and element(fld_bytes(input_packet)
          , [i___1]) <= dns_types__byte__last)
<S>  New H20:  query_end_byte <= 8180
<S>  New H22:  start_byte <= 8180
<S>  New H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
          fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H49:  dns_types__header_bits div 8 <= 8180
<S>  New H80:  query_end_byte <= 8179
<S>  New H88:  query_end_byte <= 8177
<S>  New H96:  query_end_byte <= 8178
<S>  New H108:  query_end_byte <= 8175
<S>  New H116:  query_end_byte <= 8176
<S>  New H122:  query_end_byte <= 8172
<S>  New H134:  start_byte <= 8179
<S>  New H140:  start_byte <= 8178
<S>  New H144:  start_byte <= 8177
<S>  New H162:  start_byte <= 8176
<S>  New H173:  start_byte <= 8175
<S>  New H179:  start_byte <= 8174
<S>  New H185:  start_byte <= 8173
<S>  New H192:  start_byte <= 8172
<S>  New H198:  start_byte <= 8171
<S>  New C4:  start_byte <= 8170
-S-  Applied substitution rule create_respo_rules(34).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H47:  start_byte + dns_types__header_bits div 8 <= 2147483647
<S>  New H82:  query_end_byte <= 2147483646
<S>  New H90:  query_end_byte <= 2147483644
<S>  New H98:  query_end_byte <= 2147483645
<S>  New H110:  query_end_byte <= 2147483642
<S>  New H118:  query_end_byte <= 2147483643
<S>  New H124:  query_end_byte <= 2147483639
<S>  New H136:  start_byte <= 2147483646
<S>  New H142:  start_byte <= 2147483645
<S>  New H146:  start_byte <= 2147483644
<S>  New H164:  start_byte <= 2147483643
<S>  New H175:  start_byte <= 2147483642
<S>  New H181:  start_byte <= 2147483641
<S>  New H187:  start_byte <= 2147483640
<S>  New H194:  start_byte <= 2147483639
<S>  New H200:  start_byte <= 2147483638
<S>  New C6:  start_byte <= 2147483637
***  Proved C6:  start_byte <= 2147483637
     using hypothesis H22.
>>>  Restructured hypothesis H188 into:
     >>>  H188:  bit__and(element(fld_bytes(input_packet), [query_end_byte + 8])
          , dns_types__dnssecmask) = 0
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H74:  start_byte + 11 + dns_types__header_bits div 8 < 8192
<S>  New H125:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) >= 
          dns_types__packet_length_range__first
<S>  New H126:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) <= 
          dns_types__packet_length_range__last
<S>  New H129:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= dns_types__packet_length_range__first
<S>  New H130:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= dns_types__packet_length_range__last
<S>  New H154:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= dns_types__byte__first
<S>  New H155:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= dns_types__byte__last
<S>  New H158:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H159:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 
          dns_types__packet_length_range__base__last
<S>  New H165:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= dns_types__byte__first
<S>  New H166:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= dns_types__byte__last
<S>  New H169:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H170:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 
          dns_types__packet_length_range__base__last
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H42:  start_byte + 12 >= dns_types__packet_length_range__first
<S>  New H43:  start_byte + 12 <= dns_types__packet_length_range__last
<S>  New H46:  start_byte + 12 >= dns_types__packet_bytes_range__base__first
<S>  New H47:  start_byte <= 2147483635
<S>  New H48:  12 >= dns_types__packet_bytes_range__first
<S>  New H49:  true
<S>  New H50:  12 >= system__min_int
<S>  New H51:  12 <= system__max_int
<S>  New H53:  start_byte + 11 + 12 >= integer__base__first
<S>  New H54:  start_byte + 11 + 12 <= integer__base__last
<S>  New H64:  query_end_byte + 11 + 12 >= integer__base__first
<S>  New H65:  query_end_byte + 11 + 12 <= integer__base__last
<S>  New H73:  query_end_byte + 11 + 12 <= input_bytes
<S>  New H74:  start_byte + 11 < 8180
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of dns_types__udp_max_size 
          by:
          512.
<S>  New H40:  512 >= dns_types__packet_length_range__first
<S>  New H41:  512 <= dns_types__packet_length_range__last
<S>  New H129:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= dns_types__packet_length_range__first
<S>  New H130:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= dns_types__packet_length_range__last
<S>  New H154:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= dns_types__byte__first
<S>  New H155:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= dns_types__byte__last
<S>  New H158:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H159:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 
          dns_types__packet_length_range__base__last
<S>  New H165:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= dns_types__byte__first
<S>  New H166:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= dns_types__byte__last
<S>  New H169:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H170:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 
          dns_types__packet_length_range__base__last
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of dns_types__dnssecmask by:
          128.
<S>  New H188:  bit__and(element(fld_bytes(input_packet), [query_end_byte + 8])
          , 128) = 0
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H50:  true
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H51:  true
-S-  Applied substitution rule create_respo_rules(16).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H60:  start_byte >= - 2147483648
<S>  New H62:  input_bytes >= - 2147483648
<S>  New H71:  query_end_byte >= - 2147483648
-S-  Applied substitution rule create_respo_rules(17).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H61:  start_byte <= 2147483647
<S>  New H63:  input_bytes <= 2147483647
<S>  New H72:  query_end_byte <= 2147483647
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H58:  start_byte >= - 2147483659
<S>  New H69:  query_end_byte >= - 2147483659
<S>  New H53:  start_byte >= - 2147483671
<S>  New H64:  query_end_byte >= - 2147483671
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H59:  start_byte <= 2147483636
<S>  New H70:  query_end_byte <= 2147483636
<S>  New H54:  start_byte <= 2147483624
<S>  New H65:  query_end_byte <= 2147483624
-S-  Applied substitution rule create_respo_rules(21).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H75:  element(fld_bytes(input_packet), [query_end_byte + 1]) >= 0
<S>  New H99:  true
-S-  Applied substitution rule create_respo_rules(22).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H76:  element(fld_bytes(input_packet), [query_end_byte + 1]) <= 255
<S>  New H100:  true
-S-  Applied substitution rule create_respo_rules(26).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H17:  input_bytes >= 0
<S>  New H125:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) >= 0
<S>  New H42:  start_byte >= - 12
<S>  New H40:  true
<S>  New H129:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= 0
-S-  Applied substitution rule create_respo_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H18:  input_bytes <= 8192
<S>  New H126:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) <= 8192
<S>  New H43:  start_byte <= 8180
<S>  New H41:  true
<S>  New H130:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= 8192
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__first by:
          - 2147483648.
<S>  New H158:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= - 2147483648
<S>  New H169:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= - 2147483648
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__last by:
          2147483647.
<S>  New H159:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 2147483647
<S>  New H170:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 2147483647
-S-  Applied substitution rule create_respo_rules(31).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H19:  query_end_byte >= 1
<S>  New H21:  start_byte >= 1
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H79:  query_end_byte >= 0
<S>  New H87:  query_end_byte >= - 2
<S>  New H95:  query_end_byte >= - 1
<S>  New H107:  query_end_byte >= - 4
<S>  New H115:  query_end_byte >= - 3
<S>  New H121:  query_end_byte >= - 7
<S>  New H133:  start_byte >= 0
<S>  New H139:  start_byte >= - 1
<S>  New H143:  start_byte >= - 2
<S>  New H161:  start_byte >= - 3
<S>  New H172:  start_byte >= - 4
<S>  New H178:  start_byte >= - 5
<S>  New H184:  start_byte >= - 6
<S>  New H191:  start_byte >= - 7
<S>  New H197:  start_byte >= - 8
<S>  New H48:  true
-S-  Applied substitution rule create_respo_rules(33).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H81:  query_end_byte >= - 2147483649
<S>  New H89:  query_end_byte >= - 2147483651
<S>  New H97:  query_end_byte >= - 2147483650
<S>  New H109:  query_end_byte >= - 2147483653
<S>  New H117:  query_end_byte >= - 2147483652
<S>  New H123:  query_end_byte >= - 2147483656
<S>  New H135:  start_byte >= - 2147483649
<S>  New H141:  start_byte >= - 2147483650
<S>  New H145:  start_byte >= - 2147483651
<S>  New H163:  start_byte >= - 2147483652
<S>  New H174:  start_byte >= - 2147483653
<S>  New H180:  start_byte >= - 2147483654
<S>  New H186:  start_byte >= - 2147483655
<S>  New H193:  start_byte >= - 2147483656
<S>  New H199:  start_byte >= - 2147483657
<S>  New H46:  start_byte >= - 2147483660
-S-  Applied substitution rule create_respo_rules(37).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H119:  element(fld_bytes(input_packet), [query_end_byte + 8]) >= 0
<S>  New H131:  true
<S>  New H147:  from_query_type(dns_types__opt) mod 256 >= 0
<S>  New H154:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= 0
<S>  New H165:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= 0
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= dns_types__byte__last)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(38).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H120:  element(fld_bytes(input_packet), [query_end_byte + 8]) <= 255
<S>  New H132:  true
<S>  New H148:  from_query_type(dns_types__opt) mod 256 <= 255
<S>  New H155:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 255
<S>  New H166:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 255
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= 255)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(44).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H2:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H8:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H10:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H12:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H14:  fld_arcount(fld_header(input_packet)) >= 0
<S>  New H23:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H29:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H31:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H33:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H35:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H38:  additional_count >= 0
<S>  New H85:  element(fld_bytes(input_packet), [query_end_byte + 3]) >= 0
<S>  New H93:  element(fld_bytes(input_packet), [query_end_byte + 2]) >= 0
<S>  New H103:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 5]) >= 0
<S>  New H105:  element(fld_bytes(input_packet), [query_end_byte + 5]) >= 0
<S>  New H113:  element(fld_bytes(input_packet), [query_end_byte + 4]) >= 0
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H1:  additional_count < 65535
<S>  New H3:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H9:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H11:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H13:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H15:  fld_arcount(fld_header(input_packet)) <= 65535
<S>  New H24:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H30:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H32:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H34:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H36:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H39:  additional_count <= 65535
<S>  New H86:  element(fld_bytes(input_packet), [query_end_byte + 3]) <= 65535
<S>  New H94:  element(fld_bytes(input_packet), [query_end_byte + 2]) <= 65535
<S>  New H104:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 5]) <= 65535
<S>  New H106:  element(fld_bytes(input_packet), [query_end_byte + 5]) <= 65535
<S>  New H114:  element(fld_bytes(input_packet), [query_end_byte + 4]) <= 65535
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__base__first by:
          - 2147483648.
<S>  New H83:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) >= - 2147483648
<S>  New H91:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 >= 
          - 2147483648
<S>  New H111:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 >= 
          - 2147483648
<S>  New H151:  from_query_type(dns_types__opt) mod 256 >= - 2147483648
-S-  Applied substitution rule create_respo_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__base__last by:
          2147483647.
<S>  New H84:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) <= 2147483647
<S>  New H92:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 <= 
          2147483647
<S>  New H112:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 <= 
          2147483647
<S>  New H152:  from_query_type(dns_types__opt) mod 256 <= 2147483647
-S-  Applied substitution rule create_respo_rules(50).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H4:  dns_types__query <= fld_opcode(fld_header(input_packet))
<S>  New H25:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(51).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H5:  fld_opcode(fld_header(input_packet)) <= dns_types__status
<S>  New H26:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(76).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H6:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
<S>  New H27:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(77).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H7:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
<S>  New H28:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
%%%  Simplified H73 further, to give:
     %%%  H73:  query_end_byte + 23 <= input_bytes
%%%  Simplified H74 further, to give:
     %%%  H74:  start_byte < 8169
***  Proved C4:  start_byte <= 8170
     using hypothesis H74.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_edns_25.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H6 on reading formula in, to give:
     %%%  H6:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H16 on reading formula in, to give:
     %%%  H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H25 on reading formula in, to give:
     %%%  H25:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H43).
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  true
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H66 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H75).
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H76).
%%%  Simplified H101 on reading formula in, to give:
     %%%  H101:  element(fld_bytes(input_packet), [query_end_byte + 1]) = 0
%%%  Simplified H102 on reading formula in, to give:
     %%%  H102:  to_query_type(element(fld_bytes(input_packet), [query_end_byte 
          + 2]) * 256 + element(fld_bytes(input_packet), [query_end_byte + 3])) 
          = dns_types__opt
%%%  Simplified H125 on reading formula in, to give:
     %%%  H125:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) >= 
          dns_types__packet_length_range__first
%%%  Simplified H126 on reading formula in, to give:
     %%%  H126:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) <= 
          dns_types__packet_length_range__last
---  Hypothesis H127 has been replaced by "true".  (It is already present, as 
          H125).
---  Hypothesis H128 has been replaced by "true".  (It is already present, as 
          H126).
%%%  Simplified H129 on reading formula in, to give:
     %%%  H129:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) >= 
          dns_types__packet_length_range__first
%%%  Simplified H130 on reading formula in, to give:
     %%%  H130:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) <= 
          dns_types__packet_length_range__last
---  Hypothesis H137 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H138 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H149 has been replaced by "true".  (It is already present, as 
          H147).
---  Hypothesis H150 has been replaced by "true".  (It is already present, as 
          H148).
%%%  Simplified H153 on reading formula in, to give:
     %%%  H153:  true
%%%  Simplified H154 on reading formula in, to give:
     %%%  H154:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 >= 
          dns_types__byte__first
%%%  Simplified H155 on reading formula in, to give:
     %%%  H155:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 <= 
          dns_types__byte__last
---  Hypothesis H156 has been replaced by "true".  (It is already present, as 
          H154).
---  Hypothesis H157 has been replaced by "true".  (It is already present, as 
          H155).
%%%  Simplified H158 on reading formula in, to give:
     %%%  H158:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 >= 
          dns_types__packet_length_range__base__first
%%%  Simplified H159 on reading formula in, to give:
     %%%  H159:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 <= 
          dns_types__packet_length_range__base__last
---  Hypothesis H160 has been replaced by "true".  (It is already present, as 
          H153).
%%%  Simplified H165 on reading formula in, to give:
     %%%  H165:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 >= 
          dns_types__byte__first
%%%  Simplified H166 on reading formula in, to give:
     %%%  H166:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 <= 
          dns_types__byte__last
---  Hypothesis H167 has been replaced by "true".  (It is already present, as 
          H165).
---  Hypothesis H168 has been replaced by "true".  (It is already present, as 
          H166).
%%%  Simplified H169 on reading formula in, to give:
     %%%  H169:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 >= 
          dns_types__packet_length_range__base__first
%%%  Simplified H170 on reading formula in, to give:
     %%%  H170:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 <= 
          dns_types__packet_length_range__base__last
---  Hypothesis H171 has been replaced by "true".  (It is already present, as 
          H153).
---  Hypothesis H176 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H177 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H182 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H183 has been replaced by "true".  (It is already present, as 
          H132).
%%%  Simplified H188 on reading formula in, to give:
     %%%  H188:  bit__and(element(fld_bytes(input_packet), [query_end_byte + 8])
          , dns_types__dnssecmask) <> 0
---  Hypothesis H195 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H196 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H201 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H202 has been replaced by "true".  (It is already present, as 
          H132).
***  Proved C1:  0 >= dns_types__byte__first
     using hypothesis H131.
***  Proved C2:  0 <= dns_types__byte__last
     using hypothesis H132.
***  Proved C3:  start_byte + 11 >= dns_types__packet_bytes_range__first
     using hypothesis H21.
***  Proved C5:  start_byte + 11 >= dns_types__packet_bytes_range__base__first
     using hypothesis H135.
-S-  Applied substitution rule create_respo_rules(32).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
          fld_bytes(input_packet), [i___1]) and element(fld_bytes(input_packet)
          , [i___1]) <= dns_types__byte__last)
<S>  New H20:  query_end_byte <= 8180
<S>  New H22:  start_byte <= 8180
<S>  New H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
          fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H49:  dns_types__header_bits div 8 <= 8180
<S>  New H80:  query_end_byte <= 8179
<S>  New H88:  query_end_byte <= 8177
<S>  New H96:  query_end_byte <= 8178
<S>  New H108:  query_end_byte <= 8175
<S>  New H116:  query_end_byte <= 8176
<S>  New H122:  query_end_byte <= 8172
<S>  New H134:  start_byte <= 8179
<S>  New H140:  start_byte <= 8178
<S>  New H144:  start_byte <= 8177
<S>  New H162:  start_byte <= 8176
<S>  New H173:  start_byte <= 8175
<S>  New H179:  start_byte <= 8174
<S>  New H185:  start_byte <= 8173
<S>  New H192:  start_byte <= 8172
<S>  New H198:  start_byte <= 8171
<S>  New H204:  start_byte <= 8170
<S>  New C4:  start_byte <= 8169
-S-  Applied substitution rule create_respo_rules(34).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H47:  start_byte + dns_types__header_bits div 8 <= 2147483647
<S>  New H82:  query_end_byte <= 2147483646
<S>  New H90:  query_end_byte <= 2147483644
<S>  New H98:  query_end_byte <= 2147483645
<S>  New H110:  query_end_byte <= 2147483642
<S>  New H118:  query_end_byte <= 2147483643
<S>  New H124:  query_end_byte <= 2147483639
<S>  New H136:  start_byte <= 2147483646
<S>  New H142:  start_byte <= 2147483645
<S>  New H146:  start_byte <= 2147483644
<S>  New H164:  start_byte <= 2147483643
<S>  New H175:  start_byte <= 2147483642
<S>  New H181:  start_byte <= 2147483641
<S>  New H187:  start_byte <= 2147483640
<S>  New H194:  start_byte <= 2147483639
<S>  New H200:  start_byte <= 2147483638
<S>  New H206:  start_byte <= 2147483637
<S>  New C6:  start_byte <= 2147483636
***  Proved C6:  start_byte <= 2147483636
     using hypothesis H22.
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H74:  start_byte + 11 + dns_types__header_bits div 8 < 8192
<S>  New H125:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) >= 
          dns_types__packet_length_range__first
<S>  New H126:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) <= 
          dns_types__packet_length_range__last
<S>  New H129:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= dns_types__packet_length_range__first
<S>  New H130:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= dns_types__packet_length_range__last
<S>  New H154:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= dns_types__byte__first
<S>  New H155:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= dns_types__byte__last
<S>  New H158:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H159:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 
          dns_types__packet_length_range__base__last
<S>  New H165:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= dns_types__byte__first
<S>  New H166:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= dns_types__byte__last
<S>  New H169:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H170:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 
          dns_types__packet_length_range__base__last
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H42:  start_byte + 12 >= dns_types__packet_length_range__first
<S>  New H43:  start_byte + 12 <= dns_types__packet_length_range__last
<S>  New H46:  start_byte + 12 >= dns_types__packet_bytes_range__base__first
<S>  New H47:  start_byte <= 2147483635
<S>  New H48:  12 >= dns_types__packet_bytes_range__first
<S>  New H49:  true
<S>  New H50:  12 >= system__min_int
<S>  New H51:  12 <= system__max_int
<S>  New H53:  start_byte + 11 + 12 >= integer__base__first
<S>  New H54:  start_byte + 11 + 12 <= integer__base__last
<S>  New H64:  query_end_byte + 11 + 12 >= integer__base__first
<S>  New H65:  query_end_byte + 11 + 12 <= integer__base__last
<S>  New H73:  query_end_byte + 11 + 12 <= input_bytes
<S>  New H74:  start_byte + 11 < 8180
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of dns_types__udp_max_size 
          by:
          512.
<S>  New H40:  512 >= dns_types__packet_length_range__first
<S>  New H41:  512 <= dns_types__packet_length_range__last
<S>  New H129:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= dns_types__packet_length_range__first
<S>  New H130:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= dns_types__packet_length_range__last
<S>  New H154:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= dns_types__byte__first
<S>  New H155:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= dns_types__byte__last
<S>  New H158:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H159:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 
          dns_types__packet_length_range__base__last
<S>  New H165:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= dns_types__byte__first
<S>  New H166:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= dns_types__byte__last
<S>  New H169:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H170:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 
          dns_types__packet_length_range__base__last
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of dns_types__dnssecmask by:
          128.
<S>  New H188:  bit__and(element(fld_bytes(input_packet), [query_end_byte + 8])
          , 128) <> 0
<S>  New H189:  128 >= dns_types__byte__first
<S>  New H190:  128 <= dns_types__byte__last
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H50:  true
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H51:  true
-S-  Applied substitution rule create_respo_rules(16).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H60:  start_byte >= - 2147483648
<S>  New H62:  input_bytes >= - 2147483648
<S>  New H71:  query_end_byte >= - 2147483648
-S-  Applied substitution rule create_respo_rules(17).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H61:  start_byte <= 2147483647
<S>  New H63:  input_bytes <= 2147483647
<S>  New H72:  query_end_byte <= 2147483647
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H58:  start_byte >= - 2147483659
<S>  New H69:  query_end_byte >= - 2147483659
<S>  New H53:  start_byte >= - 2147483671
<S>  New H64:  query_end_byte >= - 2147483671
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H59:  start_byte <= 2147483636
<S>  New H70:  query_end_byte <= 2147483636
<S>  New H54:  start_byte <= 2147483624
<S>  New H65:  query_end_byte <= 2147483624
-S-  Applied substitution rule create_respo_rules(21).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H75:  element(fld_bytes(input_packet), [query_end_byte + 1]) >= 0
<S>  New H99:  true
-S-  Applied substitution rule create_respo_rules(22).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H76:  element(fld_bytes(input_packet), [query_end_byte + 1]) <= 255
<S>  New H100:  true
-S-  Applied substitution rule create_respo_rules(26).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H17:  input_bytes >= 0
<S>  New H125:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) >= 0
<S>  New H42:  start_byte >= - 12
<S>  New H40:  true
<S>  New H129:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= 0
-S-  Applied substitution rule create_respo_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H18:  input_bytes <= 8192
<S>  New H126:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) <= 8192
<S>  New H43:  start_byte <= 8180
<S>  New H41:  true
<S>  New H130:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= 8192
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__first by:
          - 2147483648.
<S>  New H158:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= - 2147483648
<S>  New H169:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= - 2147483648
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__last by:
          2147483647.
<S>  New H159:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 2147483647
<S>  New H170:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 2147483647
-S-  Applied substitution rule create_respo_rules(31).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H19:  query_end_byte >= 1
<S>  New H21:  start_byte >= 1
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H79:  query_end_byte >= 0
<S>  New H87:  query_end_byte >= - 2
<S>  New H95:  query_end_byte >= - 1
<S>  New H107:  query_end_byte >= - 4
<S>  New H115:  query_end_byte >= - 3
<S>  New H121:  query_end_byte >= - 7
<S>  New H133:  start_byte >= 0
<S>  New H139:  start_byte >= - 1
<S>  New H143:  start_byte >= - 2
<S>  New H161:  start_byte >= - 3
<S>  New H172:  start_byte >= - 4
<S>  New H178:  start_byte >= - 5
<S>  New H184:  start_byte >= - 6
<S>  New H191:  start_byte >= - 7
<S>  New H197:  start_byte >= - 8
<S>  New H203:  start_byte >= - 9
<S>  New H48:  true
-S-  Applied substitution rule create_respo_rules(33).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H81:  query_end_byte >= - 2147483649
<S>  New H89:  query_end_byte >= - 2147483651
<S>  New H97:  query_end_byte >= - 2147483650
<S>  New H109:  query_end_byte >= - 2147483653
<S>  New H117:  query_end_byte >= - 2147483652
<S>  New H123:  query_end_byte >= - 2147483656
<S>  New H135:  start_byte >= - 2147483649
<S>  New H141:  start_byte >= - 2147483650
<S>  New H145:  start_byte >= - 2147483651
<S>  New H163:  start_byte >= - 2147483652
<S>  New H174:  start_byte >= - 2147483653
<S>  New H180:  start_byte >= - 2147483654
<S>  New H186:  start_byte >= - 2147483655
<S>  New H193:  start_byte >= - 2147483656
<S>  New H199:  start_byte >= - 2147483657
<S>  New H205:  start_byte >= - 2147483658
<S>  New H46:  start_byte >= - 2147483660
-S-  Applied substitution rule create_respo_rules(37).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H119:  element(fld_bytes(input_packet), [query_end_byte + 8]) >= 0
<S>  New H131:  true
<S>  New H147:  from_query_type(dns_types__opt) mod 256 >= 0
<S>  New H154:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= 0
<S>  New H165:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= 0
<S>  New H189:  true
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= dns_types__byte__last)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(38).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H120:  element(fld_bytes(input_packet), [query_end_byte + 8]) <= 255
<S>  New H132:  true
<S>  New H148:  from_query_type(dns_types__opt) mod 256 <= 255
<S>  New H155:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 255
<S>  New H166:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 255
<S>  New H190:  true
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= 255)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(44).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H2:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H8:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H10:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H12:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H14:  fld_arcount(fld_header(input_packet)) >= 0
<S>  New H23:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H29:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H31:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H33:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H35:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H38:  additional_count >= 0
<S>  New H85:  element(fld_bytes(input_packet), [query_end_byte + 3]) >= 0
<S>  New H93:  element(fld_bytes(input_packet), [query_end_byte + 2]) >= 0
<S>  New H103:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 5]) >= 0
<S>  New H105:  element(fld_bytes(input_packet), [query_end_byte + 5]) >= 0
<S>  New H113:  element(fld_bytes(input_packet), [query_end_byte + 4]) >= 0
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H1:  additional_count < 65535
<S>  New H3:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H9:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H11:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H13:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H15:  fld_arcount(fld_header(input_packet)) <= 65535
<S>  New H24:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H30:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H32:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H34:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H36:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H39:  additional_count <= 65535
<S>  New H86:  element(fld_bytes(input_packet), [query_end_byte + 3]) <= 65535
<S>  New H94:  element(fld_bytes(input_packet), [query_end_byte + 2]) <= 65535
<S>  New H104:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 5]) <= 65535
<S>  New H106:  element(fld_bytes(input_packet), [query_end_byte + 5]) <= 65535
<S>  New H114:  element(fld_bytes(input_packet), [query_end_byte + 4]) <= 65535
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__base__first by:
          - 2147483648.
<S>  New H83:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) >= - 2147483648
<S>  New H91:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 >= 
          - 2147483648
<S>  New H111:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 >= 
          - 2147483648
<S>  New H151:  from_query_type(dns_types__opt) mod 256 >= - 2147483648
-S-  Applied substitution rule create_respo_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__base__last by:
          2147483647.
<S>  New H84:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) <= 2147483647
<S>  New H92:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 <= 
          2147483647
<S>  New H112:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 <= 
          2147483647
<S>  New H152:  from_query_type(dns_types__opt) mod 256 <= 2147483647
-S-  Applied substitution rule create_respo_rules(50).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H4:  dns_types__query <= fld_opcode(fld_header(input_packet))
<S>  New H25:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(51).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H5:  fld_opcode(fld_header(input_packet)) <= dns_types__status
<S>  New H26:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(76).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H6:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
<S>  New H27:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(77).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H7:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
<S>  New H28:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
%%%  Simplified H73 further, to give:
     %%%  H73:  query_end_byte + 23 <= input_bytes
%%%  Simplified H74 further, to give:
     %%%  H74:  start_byte < 8169
***  Proved C4:  start_byte <= 8169
     using hypothesis H74.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_edns_26.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H6 on reading formula in, to give:
     %%%  H6:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H16 on reading formula in, to give:
     %%%  H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H25 on reading formula in, to give:
     %%%  H25:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H43).
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  true
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H66 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H75).
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H76).
%%%  Simplified H101 on reading formula in, to give:
     %%%  H101:  element(fld_bytes(input_packet), [query_end_byte + 1]) = 0
%%%  Simplified H102 on reading formula in, to give:
     %%%  H102:  to_query_type(element(fld_bytes(input_packet), [query_end_byte 
          + 2]) * 256 + element(fld_bytes(input_packet), [query_end_byte + 3])) 
          = dns_types__opt
%%%  Simplified H125 on reading formula in, to give:
     %%%  H125:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) >= 
          dns_types__packet_length_range__first
%%%  Simplified H126 on reading formula in, to give:
     %%%  H126:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) <= 
          dns_types__packet_length_range__last
---  Hypothesis H127 has been replaced by "true".  (It is already present, as 
          H125).
---  Hypothesis H128 has been replaced by "true".  (It is already present, as 
          H126).
%%%  Simplified H129 on reading formula in, to give:
     %%%  H129:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) >= 
          dns_types__packet_length_range__first
%%%  Simplified H130 on reading formula in, to give:
     %%%  H130:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) <= 
          dns_types__packet_length_range__last
---  Hypothesis H137 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H138 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H149 has been replaced by "true".  (It is already present, as 
          H147).
---  Hypothesis H150 has been replaced by "true".  (It is already present, as 
          H148).
%%%  Simplified H153 on reading formula in, to give:
     %%%  H153:  true
%%%  Simplified H154 on reading formula in, to give:
     %%%  H154:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 >= 
          dns_types__byte__first
%%%  Simplified H155 on reading formula in, to give:
     %%%  H155:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 <= 
          dns_types__byte__last
---  Hypothesis H156 has been replaced by "true".  (It is already present, as 
          H154).
---  Hypothesis H157 has been replaced by "true".  (It is already present, as 
          H155).
%%%  Simplified H158 on reading formula in, to give:
     %%%  H158:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 >= 
          dns_types__packet_length_range__base__first
%%%  Simplified H159 on reading formula in, to give:
     %%%  H159:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 <= 
          dns_types__packet_length_range__base__last
---  Hypothesis H160 has been replaced by "true".  (It is already present, as 
          H153).
%%%  Simplified H165 on reading formula in, to give:
     %%%  H165:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 >= 
          dns_types__byte__first
%%%  Simplified H166 on reading formula in, to give:
     %%%  H166:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 <= 
          dns_types__byte__last
---  Hypothesis H167 has been replaced by "true".  (It is already present, as 
          H165).
---  Hypothesis H168 has been replaced by "true".  (It is already present, as 
          H166).
%%%  Simplified H169 on reading formula in, to give:
     %%%  H169:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 >= 
          dns_types__packet_length_range__base__first
%%%  Simplified H170 on reading formula in, to give:
     %%%  H170:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 <= 
          dns_types__packet_length_range__base__last
---  Hypothesis H171 has been replaced by "true".  (It is already present, as 
          H153).
---  Hypothesis H176 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H177 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H182 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H183 has been replaced by "true".  (It is already present, as 
          H132).
%%%  Simplified H188 on reading formula in, to give:
     %%%  H188:  not bit__and(element(fld_bytes(input_packet), [query_end_byte 
          + 8]), dns_types__dnssecmask) <> 0
---  Hypothesis H189 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H190 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H195 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H196 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H201 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H202 has been replaced by "true".  (It is already present, as 
          H132).
***  Proved C1:  0 >= dns_types__byte__first
     using hypothesis H131.
***  Proved C2:  0 <= dns_types__byte__last
     using hypothesis H132.
***  Proved C3:  start_byte + 11 >= dns_types__packet_bytes_range__first
     using hypothesis H21.
***  Proved C5:  start_byte + 11 >= dns_types__packet_bytes_range__base__first
     using hypothesis H135.
-S-  Applied substitution rule create_respo_rules(32).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
          fld_bytes(input_packet), [i___1]) and element(fld_bytes(input_packet)
          , [i___1]) <= dns_types__byte__last)
<S>  New H20:  query_end_byte <= 8180
<S>  New H22:  start_byte <= 8180
<S>  New H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
          fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H49:  dns_types__header_bits div 8 <= 8180
<S>  New H80:  query_end_byte <= 8179
<S>  New H88:  query_end_byte <= 8177
<S>  New H96:  query_end_byte <= 8178
<S>  New H108:  query_end_byte <= 8175
<S>  New H116:  query_end_byte <= 8176
<S>  New H122:  query_end_byte <= 8172
<S>  New H134:  start_byte <= 8179
<S>  New H140:  start_byte <= 8178
<S>  New H144:  start_byte <= 8177
<S>  New H162:  start_byte <= 8176
<S>  New H173:  start_byte <= 8175
<S>  New H179:  start_byte <= 8174
<S>  New H185:  start_byte <= 8173
<S>  New H192:  start_byte <= 8172
<S>  New H198:  start_byte <= 8171
<S>  New H204:  start_byte <= 8170
<S>  New C4:  start_byte <= 8169
-S-  Applied substitution rule create_respo_rules(34).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H47:  start_byte + dns_types__header_bits div 8 <= 2147483647
<S>  New H82:  query_end_byte <= 2147483646
<S>  New H90:  query_end_byte <= 2147483644
<S>  New H98:  query_end_byte <= 2147483645
<S>  New H110:  query_end_byte <= 2147483642
<S>  New H118:  query_end_byte <= 2147483643
<S>  New H124:  query_end_byte <= 2147483639
<S>  New H136:  start_byte <= 2147483646
<S>  New H142:  start_byte <= 2147483645
<S>  New H146:  start_byte <= 2147483644
<S>  New H164:  start_byte <= 2147483643
<S>  New H175:  start_byte <= 2147483642
<S>  New H181:  start_byte <= 2147483641
<S>  New H187:  start_byte <= 2147483640
<S>  New H194:  start_byte <= 2147483639
<S>  New H200:  start_byte <= 2147483638
<S>  New H206:  start_byte <= 2147483637
<S>  New C6:  start_byte <= 2147483636
***  Proved C6:  start_byte <= 2147483636
     using hypothesis H22.
>>>  Restructured hypothesis H188 into:
     >>>  H188:  bit__and(element(fld_bytes(input_packet), [query_end_byte + 8])
          , dns_types__dnssecmask) = 0
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H74:  start_byte + 11 + dns_types__header_bits div 8 < 8192
<S>  New H125:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) >= 
          dns_types__packet_length_range__first
<S>  New H126:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) <= 
          dns_types__packet_length_range__last
<S>  New H129:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= dns_types__packet_length_range__first
<S>  New H130:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= dns_types__packet_length_range__last
<S>  New H154:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= dns_types__byte__first
<S>  New H155:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= dns_types__byte__last
<S>  New H158:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H159:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 
          dns_types__packet_length_range__base__last
<S>  New H165:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= dns_types__byte__first
<S>  New H166:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= dns_types__byte__last
<S>  New H169:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H170:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 
          dns_types__packet_length_range__base__last
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H42:  start_byte + 12 >= dns_types__packet_length_range__first
<S>  New H43:  start_byte + 12 <= dns_types__packet_length_range__last
<S>  New H46:  start_byte + 12 >= dns_types__packet_bytes_range__base__first
<S>  New H47:  start_byte <= 2147483635
<S>  New H48:  12 >= dns_types__packet_bytes_range__first
<S>  New H49:  true
<S>  New H50:  12 >= system__min_int
<S>  New H51:  12 <= system__max_int
<S>  New H53:  start_byte + 11 + 12 >= integer__base__first
<S>  New H54:  start_byte + 11 + 12 <= integer__base__last
<S>  New H64:  query_end_byte + 11 + 12 >= integer__base__first
<S>  New H65:  query_end_byte + 11 + 12 <= integer__base__last
<S>  New H73:  query_end_byte + 11 + 12 <= input_bytes
<S>  New H74:  start_byte + 11 < 8180
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of dns_types__udp_max_size 
          by:
          512.
<S>  New H40:  512 >= dns_types__packet_length_range__first
<S>  New H41:  512 <= dns_types__packet_length_range__last
<S>  New H129:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= dns_types__packet_length_range__first
<S>  New H130:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= dns_types__packet_length_range__last
<S>  New H154:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= dns_types__byte__first
<S>  New H155:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= dns_types__byte__last
<S>  New H158:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H159:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 
          dns_types__packet_length_range__base__last
<S>  New H165:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= dns_types__byte__first
<S>  New H166:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= dns_types__byte__last
<S>  New H169:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H170:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 
          dns_types__packet_length_range__base__last
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of dns_types__dnssecmask by:
          128.
<S>  New H188:  bit__and(element(fld_bytes(input_packet), [query_end_byte + 8])
          , 128) = 0
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H50:  true
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H51:  true
-S-  Applied substitution rule create_respo_rules(16).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H60:  start_byte >= - 2147483648
<S>  New H62:  input_bytes >= - 2147483648
<S>  New H71:  query_end_byte >= - 2147483648
-S-  Applied substitution rule create_respo_rules(17).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H61:  start_byte <= 2147483647
<S>  New H63:  input_bytes <= 2147483647
<S>  New H72:  query_end_byte <= 2147483647
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H58:  start_byte >= - 2147483659
<S>  New H69:  query_end_byte >= - 2147483659
<S>  New H53:  start_byte >= - 2147483671
<S>  New H64:  query_end_byte >= - 2147483671
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H59:  start_byte <= 2147483636
<S>  New H70:  query_end_byte <= 2147483636
<S>  New H54:  start_byte <= 2147483624
<S>  New H65:  query_end_byte <= 2147483624
-S-  Applied substitution rule create_respo_rules(21).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H75:  element(fld_bytes(input_packet), [query_end_byte + 1]) >= 0
<S>  New H99:  true
-S-  Applied substitution rule create_respo_rules(22).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H76:  element(fld_bytes(input_packet), [query_end_byte + 1]) <= 255
<S>  New H100:  true
-S-  Applied substitution rule create_respo_rules(26).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H17:  input_bytes >= 0
<S>  New H125:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) >= 0
<S>  New H42:  start_byte >= - 12
<S>  New H40:  true
<S>  New H129:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= 0
-S-  Applied substitution rule create_respo_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H18:  input_bytes <= 8192
<S>  New H126:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) <= 8192
<S>  New H43:  start_byte <= 8180
<S>  New H41:  true
<S>  New H130:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= 8192
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__first by:
          - 2147483648.
<S>  New H158:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= - 2147483648
<S>  New H169:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= - 2147483648
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__last by:
          2147483647.
<S>  New H159:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 2147483647
<S>  New H170:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 2147483647
-S-  Applied substitution rule create_respo_rules(31).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H19:  query_end_byte >= 1
<S>  New H21:  start_byte >= 1
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H79:  query_end_byte >= 0
<S>  New H87:  query_end_byte >= - 2
<S>  New H95:  query_end_byte >= - 1
<S>  New H107:  query_end_byte >= - 4
<S>  New H115:  query_end_byte >= - 3
<S>  New H121:  query_end_byte >= - 7
<S>  New H133:  start_byte >= 0
<S>  New H139:  start_byte >= - 1
<S>  New H143:  start_byte >= - 2
<S>  New H161:  start_byte >= - 3
<S>  New H172:  start_byte >= - 4
<S>  New H178:  start_byte >= - 5
<S>  New H184:  start_byte >= - 6
<S>  New H191:  start_byte >= - 7
<S>  New H197:  start_byte >= - 8
<S>  New H203:  start_byte >= - 9
<S>  New H48:  true
-S-  Applied substitution rule create_respo_rules(33).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H81:  query_end_byte >= - 2147483649
<S>  New H89:  query_end_byte >= - 2147483651
<S>  New H97:  query_end_byte >= - 2147483650
<S>  New H109:  query_end_byte >= - 2147483653
<S>  New H117:  query_end_byte >= - 2147483652
<S>  New H123:  query_end_byte >= - 2147483656
<S>  New H135:  start_byte >= - 2147483649
<S>  New H141:  start_byte >= - 2147483650
<S>  New H145:  start_byte >= - 2147483651
<S>  New H163:  start_byte >= - 2147483652
<S>  New H174:  start_byte >= - 2147483653
<S>  New H180:  start_byte >= - 2147483654
<S>  New H186:  start_byte >= - 2147483655
<S>  New H193:  start_byte >= - 2147483656
<S>  New H199:  start_byte >= - 2147483657
<S>  New H205:  start_byte >= - 2147483658
<S>  New H46:  start_byte >= - 2147483660
-S-  Applied substitution rule create_respo_rules(37).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H119:  element(fld_bytes(input_packet), [query_end_byte + 8]) >= 0
<S>  New H131:  true
<S>  New H147:  from_query_type(dns_types__opt) mod 256 >= 0
<S>  New H154:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= 0
<S>  New H165:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= 0
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= dns_types__byte__last)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(38).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H120:  element(fld_bytes(input_packet), [query_end_byte + 8]) <= 255
<S>  New H132:  true
<S>  New H148:  from_query_type(dns_types__opt) mod 256 <= 255
<S>  New H155:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 255
<S>  New H166:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 255
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= 255)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(44).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H2:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H8:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H10:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H12:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H14:  fld_arcount(fld_header(input_packet)) >= 0
<S>  New H23:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H29:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H31:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H33:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H35:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H38:  additional_count >= 0
<S>  New H85:  element(fld_bytes(input_packet), [query_end_byte + 3]) >= 0
<S>  New H93:  element(fld_bytes(input_packet), [query_end_byte + 2]) >= 0
<S>  New H103:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 5]) >= 0
<S>  New H105:  element(fld_bytes(input_packet), [query_end_byte + 5]) >= 0
<S>  New H113:  element(fld_bytes(input_packet), [query_end_byte + 4]) >= 0
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H1:  additional_count < 65535
<S>  New H3:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H9:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H11:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H13:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H15:  fld_arcount(fld_header(input_packet)) <= 65535
<S>  New H24:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H30:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H32:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H34:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H36:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H39:  additional_count <= 65535
<S>  New H86:  element(fld_bytes(input_packet), [query_end_byte + 3]) <= 65535
<S>  New H94:  element(fld_bytes(input_packet), [query_end_byte + 2]) <= 65535
<S>  New H104:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 5]) <= 65535
<S>  New H106:  element(fld_bytes(input_packet), [query_end_byte + 5]) <= 65535
<S>  New H114:  element(fld_bytes(input_packet), [query_end_byte + 4]) <= 65535
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__base__first by:
          - 2147483648.
<S>  New H83:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) >= - 2147483648
<S>  New H91:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 >= 
          - 2147483648
<S>  New H111:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 >= 
          - 2147483648
<S>  New H151:  from_query_type(dns_types__opt) mod 256 >= - 2147483648
-S-  Applied substitution rule create_respo_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__base__last by:
          2147483647.
<S>  New H84:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) <= 2147483647
<S>  New H92:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 <= 
          2147483647
<S>  New H112:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 <= 
          2147483647
<S>  New H152:  from_query_type(dns_types__opt) mod 256 <= 2147483647
-S-  Applied substitution rule create_respo_rules(50).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H4:  dns_types__query <= fld_opcode(fld_header(input_packet))
<S>  New H25:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(51).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H5:  fld_opcode(fld_header(input_packet)) <= dns_types__status
<S>  New H26:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(76).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H6:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
<S>  New H27:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(77).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H7:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
<S>  New H28:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
%%%  Simplified H73 further, to give:
     %%%  H73:  query_end_byte + 23 <= input_bytes
%%%  Simplified H74 further, to give:
     %%%  H74:  start_byte < 8169
***  Proved C4:  start_byte <= 8169
     using hypothesis H74.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_edns_27.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H6 on reading formula in, to give:
     %%%  H6:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H16 on reading formula in, to give:
     %%%  H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H25 on reading formula in, to give:
     %%%  H25:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H43).
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  true
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H66 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H75).
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H76).
%%%  Simplified H101 on reading formula in, to give:
     %%%  H101:  element(fld_bytes(input_packet), [query_end_byte + 1]) = 0
%%%  Simplified H102 on reading formula in, to give:
     %%%  H102:  to_query_type(element(fld_bytes(input_packet), [query_end_byte 
          + 2]) * 256 + element(fld_bytes(input_packet), [query_end_byte + 3])) 
          = dns_types__opt
%%%  Simplified H125 on reading formula in, to give:
     %%%  H125:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) >= 
          dns_types__packet_length_range__first
%%%  Simplified H126 on reading formula in, to give:
     %%%  H126:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) <= 
          dns_types__packet_length_range__last
---  Hypothesis H127 has been replaced by "true".  (It is already present, as 
          H125).
---  Hypothesis H128 has been replaced by "true".  (It is already present, as 
          H126).
%%%  Simplified H129 on reading formula in, to give:
     %%%  H129:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) >= 
          dns_types__packet_length_range__first
%%%  Simplified H130 on reading formula in, to give:
     %%%  H130:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) <= 
          dns_types__packet_length_range__last
---  Hypothesis H137 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H138 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H149 has been replaced by "true".  (It is already present, as 
          H147).
---  Hypothesis H150 has been replaced by "true".  (It is already present, as 
          H148).
%%%  Simplified H153 on reading formula in, to give:
     %%%  H153:  true
%%%  Simplified H154 on reading formula in, to give:
     %%%  H154:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 >= 
          dns_types__byte__first
%%%  Simplified H155 on reading formula in, to give:
     %%%  H155:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 <= 
          dns_types__byte__last
---  Hypothesis H156 has been replaced by "true".  (It is already present, as 
          H154).
---  Hypothesis H157 has been replaced by "true".  (It is already present, as 
          H155).
%%%  Simplified H158 on reading formula in, to give:
     %%%  H158:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 >= 
          dns_types__packet_length_range__base__first
%%%  Simplified H159 on reading formula in, to give:
     %%%  H159:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 <= 
          dns_types__packet_length_range__base__last
---  Hypothesis H160 has been replaced by "true".  (It is already present, as 
          H153).
%%%  Simplified H165 on reading formula in, to give:
     %%%  H165:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 >= 
          dns_types__byte__first
%%%  Simplified H166 on reading formula in, to give:
     %%%  H166:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 <= 
          dns_types__byte__last
---  Hypothesis H167 has been replaced by "true".  (It is already present, as 
          H165).
---  Hypothesis H168 has been replaced by "true".  (It is already present, as 
          H166).
%%%  Simplified H169 on reading formula in, to give:
     %%%  H169:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 >= 
          dns_types__packet_length_range__base__first
%%%  Simplified H170 on reading formula in, to give:
     %%%  H170:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 <= 
          dns_types__packet_length_range__base__last
---  Hypothesis H171 has been replaced by "true".  (It is already present, as 
          H153).
---  Hypothesis H176 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H177 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H182 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H183 has been replaced by "true".  (It is already present, as 
          H132).
%%%  Simplified H188 on reading formula in, to give:
     %%%  H188:  bit__and(element(fld_bytes(input_packet), [query_end_byte + 8])
          , dns_types__dnssecmask) <> 0
---  Hypothesis H195 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H196 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H201 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H202 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H207 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H208 has been replaced by "true".  (It is already present, as 
          H132).
***  Proved C1:  additional_count + 1 >= dns_types__unsigned_short__first
     using hypothesis H38.
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H1:  additional_count < 65535
<S>  New H3:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H9:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H11:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H13:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H15:  fld_arcount(fld_header(input_packet)) <= 65535
<S>  New H24:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H30:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H32:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H34:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H36:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H39:  additional_count <= 65535
<S>  New H86:  element(fld_bytes(input_packet), [query_end_byte + 3]) <= 65535
<S>  New H94:  element(fld_bytes(input_packet), [query_end_byte + 2]) <= 65535
<S>  New H104:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 5]) <= 65535
<S>  New H106:  element(fld_bytes(input_packet), [query_end_byte + 5]) <= 65535
<S>  New H114:  element(fld_bytes(input_packet), [query_end_byte + 4]) <= 65535
<S>  New C2:  additional_count <= 65534
***  Proved C2:  additional_count <= 65534
     using hypothesis H1.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_edns_28.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H6 on reading formula in, to give:
     %%%  H6:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H16 on reading formula in, to give:
     %%%  H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H25 on reading formula in, to give:
     %%%  H25:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H43).
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  true
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H66 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H75).
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H76).
%%%  Simplified H101 on reading formula in, to give:
     %%%  H101:  element(fld_bytes(input_packet), [query_end_byte + 1]) = 0
%%%  Simplified H102 on reading formula in, to give:
     %%%  H102:  to_query_type(element(fld_bytes(input_packet), [query_end_byte 
          + 2]) * 256 + element(fld_bytes(input_packet), [query_end_byte + 3])) 
          = dns_types__opt
%%%  Simplified H125 on reading formula in, to give:
     %%%  H125:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) >= 
          dns_types__packet_length_range__first
%%%  Simplified H126 on reading formula in, to give:
     %%%  H126:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) <= 
          dns_types__packet_length_range__last
---  Hypothesis H127 has been replaced by "true".  (It is already present, as 
          H125).
---  Hypothesis H128 has been replaced by "true".  (It is already present, as 
          H126).
%%%  Simplified H129 on reading formula in, to give:
     %%%  H129:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) >= 
          dns_types__packet_length_range__first
%%%  Simplified H130 on reading formula in, to give:
     %%%  H130:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) <= 
          dns_types__packet_length_range__last
---  Hypothesis H137 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H138 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H149 has been replaced by "true".  (It is already present, as 
          H147).
---  Hypothesis H150 has been replaced by "true".  (It is already present, as 
          H148).
%%%  Simplified H153 on reading formula in, to give:
     %%%  H153:  true
%%%  Simplified H154 on reading formula in, to give:
     %%%  H154:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 >= 
          dns_types__byte__first
%%%  Simplified H155 on reading formula in, to give:
     %%%  H155:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 <= 
          dns_types__byte__last
---  Hypothesis H156 has been replaced by "true".  (It is already present, as 
          H154).
---  Hypothesis H157 has been replaced by "true".  (It is already present, as 
          H155).
%%%  Simplified H158 on reading formula in, to give:
     %%%  H158:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 >= 
          dns_types__packet_length_range__base__first
%%%  Simplified H159 on reading formula in, to give:
     %%%  H159:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 <= 
          dns_types__packet_length_range__base__last
---  Hypothesis H160 has been replaced by "true".  (It is already present, as 
          H153).
%%%  Simplified H165 on reading formula in, to give:
     %%%  H165:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 >= 
          dns_types__byte__first
%%%  Simplified H166 on reading formula in, to give:
     %%%  H166:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 <= 
          dns_types__byte__last
---  Hypothesis H167 has been replaced by "true".  (It is already present, as 
          H165).
---  Hypothesis H168 has been replaced by "true".  (It is already present, as 
          H166).
%%%  Simplified H169 on reading formula in, to give:
     %%%  H169:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 >= 
          dns_types__packet_length_range__base__first
%%%  Simplified H170 on reading formula in, to give:
     %%%  H170:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 <= 
          dns_types__packet_length_range__base__last
---  Hypothesis H171 has been replaced by "true".  (It is already present, as 
          H153).
---  Hypothesis H176 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H177 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H182 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H183 has been replaced by "true".  (It is already present, as 
          H132).
%%%  Simplified H188 on reading formula in, to give:
     %%%  H188:  not bit__and(element(fld_bytes(input_packet), [query_end_byte 
          + 8]), dns_types__dnssecmask) <> 0
---  Hypothesis H189 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H190 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H195 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H196 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H201 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H202 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H207 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H208 has been replaced by "true".  (It is already present, as 
          H132).
***  Proved C1:  additional_count + 1 >= dns_types__unsigned_short__first
     using hypothesis H38.
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H1:  additional_count < 65535
<S>  New H3:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H9:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H11:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H13:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H15:  fld_arcount(fld_header(input_packet)) <= 65535
<S>  New H24:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H30:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H32:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H34:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H36:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H39:  additional_count <= 65535
<S>  New H86:  element(fld_bytes(input_packet), [query_end_byte + 3]) <= 65535
<S>  New H94:  element(fld_bytes(input_packet), [query_end_byte + 2]) <= 65535
<S>  New H104:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 5]) <= 65535
<S>  New H106:  element(fld_bytes(input_packet), [query_end_byte + 5]) <= 65535
<S>  New H114:  element(fld_bytes(input_packet), [query_end_byte + 4]) <= 65535
<S>  New C2:  additional_count <= 65534
***  Proved C2:  additional_count <= 65534
     using hypothesis H1.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_edns_29.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H6 on reading formula in, to give:
     %%%  H6:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H16 on reading formula in, to give:
     %%%  H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H25 on reading formula in, to give:
     %%%  H25:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H43).
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  true
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H66 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H75).
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H76).
%%%  Simplified H101 on reading formula in, to give:
     %%%  H101:  element(fld_bytes(input_packet), [query_end_byte + 1]) = 0
%%%  Simplified H102 on reading formula in, to give:
     %%%  H102:  to_query_type(element(fld_bytes(input_packet), [query_end_byte 
          + 2]) * 256 + element(fld_bytes(input_packet), [query_end_byte + 3])) 
          = dns_types__opt
%%%  Simplified H125 on reading formula in, to give:
     %%%  H125:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) >= 
          dns_types__packet_length_range__first
%%%  Simplified H126 on reading formula in, to give:
     %%%  H126:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) <= 
          dns_types__packet_length_range__last
---  Hypothesis H127 has been replaced by "true".  (It is already present, as 
          H125).
---  Hypothesis H128 has been replaced by "true".  (It is already present, as 
          H126).
%%%  Simplified H129 on reading formula in, to give:
     %%%  H129:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) >= 
          dns_types__packet_length_range__first
%%%  Simplified H130 on reading formula in, to give:
     %%%  H130:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) <= 
          dns_types__packet_length_range__last
---  Hypothesis H137 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H138 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H149 has been replaced by "true".  (It is already present, as 
          H147).
---  Hypothesis H150 has been replaced by "true".  (It is already present, as 
          H148).
%%%  Simplified H153 on reading formula in, to give:
     %%%  H153:  true
%%%  Simplified H154 on reading formula in, to give:
     %%%  H154:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 >= 
          dns_types__byte__first
%%%  Simplified H155 on reading formula in, to give:
     %%%  H155:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 <= 
          dns_types__byte__last
---  Hypothesis H156 has been replaced by "true".  (It is already present, as 
          H154).
---  Hypothesis H157 has been replaced by "true".  (It is already present, as 
          H155).
%%%  Simplified H158 on reading formula in, to give:
     %%%  H158:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 >= 
          dns_types__packet_length_range__base__first
%%%  Simplified H159 on reading formula in, to give:
     %%%  H159:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 <= 
          dns_types__packet_length_range__base__last
---  Hypothesis H160 has been replaced by "true".  (It is already present, as 
          H153).
%%%  Simplified H165 on reading formula in, to give:
     %%%  H165:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 >= 
          dns_types__byte__first
%%%  Simplified H166 on reading formula in, to give:
     %%%  H166:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 <= 
          dns_types__byte__last
---  Hypothesis H167 has been replaced by "true".  (It is already present, as 
          H165).
---  Hypothesis H168 has been replaced by "true".  (It is already present, as 
          H166).
%%%  Simplified H169 on reading formula in, to give:
     %%%  H169:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 >= 
          dns_types__packet_length_range__base__first
%%%  Simplified H170 on reading formula in, to give:
     %%%  H170:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 <= 
          dns_types__packet_length_range__base__last
---  Hypothesis H171 has been replaced by "true".  (It is already present, as 
          H153).
---  Hypothesis H176 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H177 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H182 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H183 has been replaced by "true".  (It is already present, as 
          H132).
%%%  Simplified H188 on reading formula in, to give:
     %%%  H188:  bit__and(element(fld_bytes(input_packet), [query_end_byte + 8])
          , dns_types__dnssecmask) <> 0
---  Hypothesis H195 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H196 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H201 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H202 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H207 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H208 has been replaced by "true".  (It is already present, as 
          H132).
%%%  Simplified C11 on reading formula in, to give:
     %%%  C11:  true
***  Proved C7:  dns_types__header_bits div 8 >= 
          dns_types__packet_bytes_range__first
     using hypothesis H48.
***  Proved C8:  dns_types__header_bits div 8 <= 
          dns_types__packet_bytes_range__last
     using hypothesis H49.
***  Proved C9:  dns_types__header_bits div 8 >= system__min_int
     using hypothesis H50.
***  Proved C10:  dns_types__header_bits div 8 <= system__max_int
     using hypothesis H51.
***  Proved C11:  true
***  Proved C12:  start_byte + 11 >= dns_types__packet_bytes_range__base__first
     using hypothesis H211.
***  Proved C13:  start_byte + 11 <= dns_types__packet_bytes_range__base__last
     using hypothesis H212.
-S-  Applied substitution rule create_respo_rules(26).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H17:  input_bytes >= 0
<S>  New H40:  dns_types__udp_max_size >= 0
<S>  New H42:  start_byte + dns_types__header_bits div 8 >= 0
<S>  New H125:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) >= 0
<S>  New H129:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) >= 0
<S>  New C1:  start_byte + 11 + dns_types__header_bits div 8 >= 0
<S>  New C3:  start_byte + 11 + dns_types__header_bits div 8 >= 0
-S-  Applied substitution rule create_respo_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H18:  input_bytes <= 8192
<S>  New H41:  dns_types__udp_max_size <= 8192
<S>  New H43:  start_byte + dns_types__header_bits div 8 <= 8192
<S>  New H126:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) <= 8192
<S>  New H130:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) <= 8192
<S>  New C2:  start_byte + 11 + dns_types__header_bits div 8 <= 8192
<S>  New C4:  start_byte + 11 + dns_types__header_bits div 8 <= 8192
-S-  Applied substitution rule create_respo_rules(33).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H46:  start_byte + dns_types__header_bits div 8 >= - 2147483648
<S>  New H81:  query_end_byte >= - 2147483649
<S>  New H89:  query_end_byte >= - 2147483651
<S>  New H97:  query_end_byte >= - 2147483650
<S>  New H109:  query_end_byte >= - 2147483653
<S>  New H117:  query_end_byte >= - 2147483652
<S>  New H123:  query_end_byte >= - 2147483656
<S>  New H135:  start_byte >= - 2147483649
<S>  New H141:  start_byte >= - 2147483650
<S>  New H145:  start_byte >= - 2147483651
<S>  New H163:  start_byte >= - 2147483652
<S>  New H174:  start_byte >= - 2147483653
<S>  New H180:  start_byte >= - 2147483654
<S>  New H186:  start_byte >= - 2147483655
<S>  New H193:  start_byte >= - 2147483656
<S>  New H199:  start_byte >= - 2147483657
<S>  New H205:  start_byte >= - 2147483658
<S>  New H211:  start_byte >= - 2147483659
<S>  New C5:  start_byte + 11 + dns_types__header_bits div 8 >= - 2147483648
-S-  Applied substitution rule create_respo_rules(34).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H47:  start_byte + dns_types__header_bits div 8 <= 2147483647
<S>  New H82:  query_end_byte <= 2147483646
<S>  New H90:  query_end_byte <= 2147483644
<S>  New H98:  query_end_byte <= 2147483645
<S>  New H110:  query_end_byte <= 2147483642
<S>  New H118:  query_end_byte <= 2147483643
<S>  New H124:  query_end_byte <= 2147483639
<S>  New H136:  start_byte <= 2147483646
<S>  New H142:  start_byte <= 2147483645
<S>  New H146:  start_byte <= 2147483644
<S>  New H164:  start_byte <= 2147483643
<S>  New H175:  start_byte <= 2147483642
<S>  New H181:  start_byte <= 2147483641
<S>  New H187:  start_byte <= 2147483640
<S>  New H194:  start_byte <= 2147483639
<S>  New H200:  start_byte <= 2147483638
<S>  New H206:  start_byte <= 2147483637
<S>  New H212:  start_byte <= 2147483636
<S>  New C6:  start_byte + 11 + dns_types__header_bits div 8 <= 2147483647
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H74:  start_byte + 11 + dns_types__header_bits div 8 < 8192
<S>  New H125:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) >= 0
<S>  New H126:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) <= 8192
<S>  New H129:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= 0
<S>  New H130:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= 8192
<S>  New H154:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= dns_types__byte__first
<S>  New H155:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= dns_types__byte__last
<S>  New H158:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H159:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 
          dns_types__packet_length_range__base__last
<S>  New H165:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= dns_types__byte__first
<S>  New H166:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= dns_types__byte__last
<S>  New H169:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H170:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 
          dns_types__packet_length_range__base__last
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H42:  start_byte >= - 12
<S>  New H43:  start_byte <= 8180
<S>  New H46:  start_byte >= - 2147483660
<S>  New H47:  start_byte <= 2147483635
<S>  New H48:  12 >= dns_types__packet_bytes_range__first
<S>  New H49:  12 <= dns_types__packet_bytes_range__last
<S>  New H50:  12 >= system__min_int
<S>  New H51:  12 <= system__max_int
<S>  New H53:  start_byte + 11 + 12 >= integer__base__first
<S>  New H54:  start_byte + 11 + 12 <= integer__base__last
<S>  New H64:  query_end_byte + 11 + 12 >= integer__base__first
<S>  New H65:  query_end_byte + 11 + 12 <= integer__base__last
<S>  New H73:  query_end_byte + 11 + 12 <= input_bytes
<S>  New H74:  start_byte + 11 < 8180
<S>  New C1:  start_byte + 11 >= - 12
<S>  New C3:  start_byte + 11 >= - 12
<S>  New C2:  start_byte + 11 <= 8180
<S>  New C4:  start_byte + 11 <= 8180
<S>  New C5:  start_byte + 11 >= - 2147483660
<S>  New C6:  start_byte + 11 <= 2147483635
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of dns_types__udp_max_size 
          by:
          512.
<S>  New H40:  true
<S>  New H41:  true
<S>  New H129:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= 0
<S>  New H130:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= 8192
<S>  New H154:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= dns_types__byte__first
<S>  New H155:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= dns_types__byte__last
<S>  New H158:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H159:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 
          dns_types__packet_length_range__base__last
<S>  New H165:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= dns_types__byte__first
<S>  New H166:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= dns_types__byte__last
<S>  New H169:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H170:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 
          dns_types__packet_length_range__base__last
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of dns_types__dnssecmask by:
          128.
<S>  New H188:  bit__and(element(fld_bytes(input_packet), [query_end_byte + 8])
          , 128) <> 0
<S>  New H189:  128 >= dns_types__byte__first
<S>  New H190:  128 <= dns_types__byte__last
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H50:  true
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H51:  true
-S-  Applied substitution rule create_respo_rules(16).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H60:  start_byte >= - 2147483648
<S>  New H62:  input_bytes >= - 2147483648
<S>  New H71:  query_end_byte >= - 2147483648
-S-  Applied substitution rule create_respo_rules(17).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H61:  start_byte <= 2147483647
<S>  New H63:  input_bytes <= 2147483647
<S>  New H72:  query_end_byte <= 2147483647
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H58:  start_byte >= - 2147483659
<S>  New H69:  query_end_byte >= - 2147483659
<S>  New H53:  start_byte >= - 2147483671
<S>  New H64:  query_end_byte >= - 2147483671
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H59:  start_byte <= 2147483636
<S>  New H70:  query_end_byte <= 2147483636
<S>  New H54:  start_byte <= 2147483624
<S>  New H65:  query_end_byte <= 2147483624
-S-  Applied substitution rule create_respo_rules(21).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H75:  element(fld_bytes(input_packet), [query_end_byte + 1]) >= 0
<S>  New H99:  true
-S-  Applied substitution rule create_respo_rules(22).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H76:  element(fld_bytes(input_packet), [query_end_byte + 1]) <= 255
<S>  New H100:  true
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__first by:
          - 2147483648.
<S>  New H158:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= - 2147483648
<S>  New H169:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= - 2147483648
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__last by:
          2147483647.
<S>  New H159:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 2147483647
<S>  New H170:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 2147483647
-S-  Applied substitution rule create_respo_rules(31).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= dns_types__byte__last)
<S>  New H19:  query_end_byte >= 1
<S>  New H21:  start_byte >= 1
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H79:  query_end_byte >= 0
<S>  New H87:  query_end_byte >= - 2
<S>  New H95:  query_end_byte >= - 1
<S>  New H107:  query_end_byte >= - 4
<S>  New H115:  query_end_byte >= - 3
<S>  New H121:  query_end_byte >= - 7
<S>  New H133:  start_byte >= 0
<S>  New H139:  start_byte >= - 1
<S>  New H143:  start_byte >= - 2
<S>  New H161:  start_byte >= - 3
<S>  New H172:  start_byte >= - 4
<S>  New H178:  start_byte >= - 5
<S>  New H184:  start_byte >= - 6
<S>  New H191:  start_byte >= - 7
<S>  New H197:  start_byte >= - 8
<S>  New H203:  start_byte >= - 9
<S>  New H209:  start_byte >= - 10
<S>  New H48:  true
-S-  Applied substitution rule create_respo_rules(32).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H20:  query_end_byte <= 8180
<S>  New H22:  start_byte <= 8180
<S>  New H80:  query_end_byte <= 8179
<S>  New H88:  query_end_byte <= 8177
<S>  New H96:  query_end_byte <= 8178
<S>  New H108:  query_end_byte <= 8175
<S>  New H116:  query_end_byte <= 8176
<S>  New H122:  query_end_byte <= 8172
<S>  New H134:  start_byte <= 8179
<S>  New H140:  start_byte <= 8178
<S>  New H144:  start_byte <= 8177
<S>  New H162:  start_byte <= 8176
<S>  New H173:  start_byte <= 8175
<S>  New H179:  start_byte <= 8174
<S>  New H185:  start_byte <= 8173
<S>  New H192:  start_byte <= 8172
<S>  New H198:  start_byte <= 8171
<S>  New H204:  start_byte <= 8170
<S>  New H210:  start_byte <= 8169
<S>  New H49:  true
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(37).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H119:  element(fld_bytes(input_packet), [query_end_byte + 8]) >= 0
<S>  New H131:  true
<S>  New H147:  from_query_type(dns_types__opt) mod 256 >= 0
<S>  New H154:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= 0
<S>  New H165:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= 0
<S>  New H189:  true
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= dns_types__byte__last)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(38).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H120:  element(fld_bytes(input_packet), [query_end_byte + 8]) <= 255
<S>  New H132:  true
<S>  New H148:  from_query_type(dns_types__opt) mod 256 <= 255
<S>  New H155:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 255
<S>  New H166:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 255
<S>  New H190:  true
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= 255)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(44).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H2:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H8:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H10:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H12:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H14:  fld_arcount(fld_header(input_packet)) >= 0
<S>  New H23:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H29:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H31:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H33:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H35:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H38:  additional_count >= 0
<S>  New H85:  element(fld_bytes(input_packet), [query_end_byte + 3]) >= 0
<S>  New H93:  element(fld_bytes(input_packet), [query_end_byte + 2]) >= 0
<S>  New H103:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 5]) >= 0
<S>  New H105:  element(fld_bytes(input_packet), [query_end_byte + 5]) >= 0
<S>  New H113:  element(fld_bytes(input_packet), [query_end_byte + 4]) >= 0
<S>  New H213:  additional_count >= - 1
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H1:  additional_count < 65535
<S>  New H3:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H9:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H11:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H13:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H15:  fld_arcount(fld_header(input_packet)) <= 65535
<S>  New H24:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H30:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H32:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H34:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H36:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H39:  additional_count <= 65535
<S>  New H86:  element(fld_bytes(input_packet), [query_end_byte + 3]) <= 65535
<S>  New H94:  element(fld_bytes(input_packet), [query_end_byte + 2]) <= 65535
<S>  New H104:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 5]) <= 65535
<S>  New H106:  element(fld_bytes(input_packet), [query_end_byte + 5]) <= 65535
<S>  New H114:  element(fld_bytes(input_packet), [query_end_byte + 4]) <= 65535
<S>  New H214:  additional_count <= 65534
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__base__first by:
          - 2147483648.
<S>  New H83:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) >= - 2147483648
<S>  New H91:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 >= 
          - 2147483648
<S>  New H111:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 >= 
          - 2147483648
<S>  New H151:  from_query_type(dns_types__opt) mod 256 >= - 2147483648
-S-  Applied substitution rule create_respo_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__base__last by:
          2147483647.
<S>  New H84:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) <= 2147483647
<S>  New H92:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 <= 
          2147483647
<S>  New H112:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 <= 
          2147483647
<S>  New H152:  from_query_type(dns_types__opt) mod 256 <= 2147483647
-S-  Applied substitution rule create_respo_rules(50).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H4:  dns_types__query <= fld_opcode(fld_header(input_packet))
<S>  New H25:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(51).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H5:  fld_opcode(fld_header(input_packet)) <= dns_types__status
<S>  New H26:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(76).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H6:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
<S>  New H27:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(77).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H7:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
<S>  New H28:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
%%%  Simplified H73 further, to give:
     %%%  H73:  query_end_byte + 23 <= input_bytes
%%%  Simplified H74 further, to give:
     %%%  H74:  start_byte < 8169
%%%  Simplified C1 further, to give:
     %%%  C1:  start_byte >= - 23
%%%  Simplified C2 further, to give:
     %%%  C2:  start_byte <= 8169
%%%  Simplified C3 further, to give:
     %%%  C3:  start_byte >= - 23
%%%  Simplified C4 further, to give:
     %%%  C4:  start_byte <= 8169
%%%  Simplified C5 further, to give:
     %%%  C5:  start_byte >= - 2147483671
%%%  Simplified C6 further, to give:
     %%%  C6:  start_byte <= 2147483624
***  Proved C1:  start_byte >= - 23
     using hypothesis H42.
***  Proved C2:  start_byte <= 8169
     using hypothesis H210.
***  Proved C3:  start_byte >= - 23
     using hypothesis H42.
***  Proved C4:  start_byte <= 8169
     using hypothesis H210.
***  Proved C5:  start_byte >= - 2147483671
     using hypothesis H53.
***  Proved C6:  start_byte <= 2147483624
     using hypothesis H54.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_edns_30.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H6 on reading formula in, to give:
     %%%  H6:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H16 on reading formula in, to give:
     %%%  H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H25 on reading formula in, to give:
     %%%  H25:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H43).
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  true
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H66 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H75).
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H76).
%%%  Simplified H101 on reading formula in, to give:
     %%%  H101:  element(fld_bytes(input_packet), [query_end_byte + 1]) = 0
%%%  Simplified H102 on reading formula in, to give:
     %%%  H102:  to_query_type(element(fld_bytes(input_packet), [query_end_byte 
          + 2]) * 256 + element(fld_bytes(input_packet), [query_end_byte + 3])) 
          = dns_types__opt
%%%  Simplified H125 on reading formula in, to give:
     %%%  H125:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) >= 
          dns_types__packet_length_range__first
%%%  Simplified H126 on reading formula in, to give:
     %%%  H126:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) <= 
          dns_types__packet_length_range__last
---  Hypothesis H127 has been replaced by "true".  (It is already present, as 
          H125).
---  Hypothesis H128 has been replaced by "true".  (It is already present, as 
          H126).
%%%  Simplified H129 on reading formula in, to give:
     %%%  H129:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) >= 
          dns_types__packet_length_range__first
%%%  Simplified H130 on reading formula in, to give:
     %%%  H130:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) <= 
          dns_types__packet_length_range__last
---  Hypothesis H137 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H138 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H149 has been replaced by "true".  (It is already present, as 
          H147).
---  Hypothesis H150 has been replaced by "true".  (It is already present, as 
          H148).
%%%  Simplified H153 on reading formula in, to give:
     %%%  H153:  true
%%%  Simplified H154 on reading formula in, to give:
     %%%  H154:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 >= 
          dns_types__byte__first
%%%  Simplified H155 on reading formula in, to give:
     %%%  H155:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 <= 
          dns_types__byte__last
---  Hypothesis H156 has been replaced by "true".  (It is already present, as 
          H154).
---  Hypothesis H157 has been replaced by "true".  (It is already present, as 
          H155).
%%%  Simplified H158 on reading formula in, to give:
     %%%  H158:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 >= 
          dns_types__packet_length_range__base__first
%%%  Simplified H159 on reading formula in, to give:
     %%%  H159:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 <= 
          dns_types__packet_length_range__base__last
---  Hypothesis H160 has been replaced by "true".  (It is already present, as 
          H153).
%%%  Simplified H165 on reading formula in, to give:
     %%%  H165:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 >= 
          dns_types__byte__first
%%%  Simplified H166 on reading formula in, to give:
     %%%  H166:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 <= 
          dns_types__byte__last
---  Hypothesis H167 has been replaced by "true".  (It is already present, as 
          H165).
---  Hypothesis H168 has been replaced by "true".  (It is already present, as 
          H166).
%%%  Simplified H169 on reading formula in, to give:
     %%%  H169:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 >= 
          dns_types__packet_length_range__base__first
%%%  Simplified H170 on reading formula in, to give:
     %%%  H170:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 <= 
          dns_types__packet_length_range__base__last
---  Hypothesis H171 has been replaced by "true".  (It is already present, as 
          H153).
---  Hypothesis H176 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H177 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H182 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H183 has been replaced by "true".  (It is already present, as 
          H132).
%%%  Simplified H188 on reading formula in, to give:
     %%%  H188:  not bit__and(element(fld_bytes(input_packet), [query_end_byte 
          + 8]), dns_types__dnssecmask) <> 0
---  Hypothesis H189 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H190 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H195 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H196 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H201 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H202 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H207 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H208 has been replaced by "true".  (It is already present, as 
          H132).
%%%  Simplified C11 on reading formula in, to give:
     %%%  C11:  true
***  Proved C7:  dns_types__header_bits div 8 >= 
          dns_types__packet_bytes_range__first
     using hypothesis H48.
***  Proved C8:  dns_types__header_bits div 8 <= 
          dns_types__packet_bytes_range__last
     using hypothesis H49.
***  Proved C9:  dns_types__header_bits div 8 >= system__min_int
     using hypothesis H50.
***  Proved C10:  dns_types__header_bits div 8 <= system__max_int
     using hypothesis H51.
***  Proved C11:  true
***  Proved C12:  start_byte + 11 >= dns_types__packet_bytes_range__base__first
     using hypothesis H211.
***  Proved C13:  start_byte + 11 <= dns_types__packet_bytes_range__base__last
     using hypothesis H212.
-S-  Applied substitution rule create_respo_rules(26).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H17:  input_bytes >= 0
<S>  New H40:  dns_types__udp_max_size >= 0
<S>  New H42:  start_byte + dns_types__header_bits div 8 >= 0
<S>  New H125:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) >= 0
<S>  New H129:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) >= 0
<S>  New C1:  start_byte + 11 + dns_types__header_bits div 8 >= 0
<S>  New C3:  start_byte + 11 + dns_types__header_bits div 8 >= 0
-S-  Applied substitution rule create_respo_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H18:  input_bytes <= 8192
<S>  New H41:  dns_types__udp_max_size <= 8192
<S>  New H43:  start_byte + dns_types__header_bits div 8 <= 8192
<S>  New H126:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) <= 8192
<S>  New H130:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) <= 8192
<S>  New C2:  start_byte + 11 + dns_types__header_bits div 8 <= 8192
<S>  New C4:  start_byte + 11 + dns_types__header_bits div 8 <= 8192
-S-  Applied substitution rule create_respo_rules(33).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H46:  start_byte + dns_types__header_bits div 8 >= - 2147483648
<S>  New H81:  query_end_byte >= - 2147483649
<S>  New H89:  query_end_byte >= - 2147483651
<S>  New H97:  query_end_byte >= - 2147483650
<S>  New H109:  query_end_byte >= - 2147483653
<S>  New H117:  query_end_byte >= - 2147483652
<S>  New H123:  query_end_byte >= - 2147483656
<S>  New H135:  start_byte >= - 2147483649
<S>  New H141:  start_byte >= - 2147483650
<S>  New H145:  start_byte >= - 2147483651
<S>  New H163:  start_byte >= - 2147483652
<S>  New H174:  start_byte >= - 2147483653
<S>  New H180:  start_byte >= - 2147483654
<S>  New H186:  start_byte >= - 2147483655
<S>  New H193:  start_byte >= - 2147483656
<S>  New H199:  start_byte >= - 2147483657
<S>  New H205:  start_byte >= - 2147483658
<S>  New H211:  start_byte >= - 2147483659
<S>  New C5:  start_byte + 11 + dns_types__header_bits div 8 >= - 2147483648
-S-  Applied substitution rule create_respo_rules(34).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H47:  start_byte + dns_types__header_bits div 8 <= 2147483647
<S>  New H82:  query_end_byte <= 2147483646
<S>  New H90:  query_end_byte <= 2147483644
<S>  New H98:  query_end_byte <= 2147483645
<S>  New H110:  query_end_byte <= 2147483642
<S>  New H118:  query_end_byte <= 2147483643
<S>  New H124:  query_end_byte <= 2147483639
<S>  New H136:  start_byte <= 2147483646
<S>  New H142:  start_byte <= 2147483645
<S>  New H146:  start_byte <= 2147483644
<S>  New H164:  start_byte <= 2147483643
<S>  New H175:  start_byte <= 2147483642
<S>  New H181:  start_byte <= 2147483641
<S>  New H187:  start_byte <= 2147483640
<S>  New H194:  start_byte <= 2147483639
<S>  New H200:  start_byte <= 2147483638
<S>  New H206:  start_byte <= 2147483637
<S>  New H212:  start_byte <= 2147483636
<S>  New C6:  start_byte + 11 + dns_types__header_bits div 8 <= 2147483647
>>>  Restructured hypothesis H188 into:
     >>>  H188:  bit__and(element(fld_bytes(input_packet), [query_end_byte + 8])
          , dns_types__dnssecmask) = 0
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H74:  start_byte + 11 + dns_types__header_bits div 8 < 8192
<S>  New H125:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) >= 0
<S>  New H126:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) <= 8192
<S>  New H129:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= 0
<S>  New H130:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= 8192
<S>  New H154:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= dns_types__byte__first
<S>  New H155:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= dns_types__byte__last
<S>  New H158:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H159:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 
          dns_types__packet_length_range__base__last
<S>  New H165:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= dns_types__byte__first
<S>  New H166:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= dns_types__byte__last
<S>  New H169:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H170:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 
          dns_types__packet_length_range__base__last
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H42:  start_byte >= - 12
<S>  New H43:  start_byte <= 8180
<S>  New H46:  start_byte >= - 2147483660
<S>  New H47:  start_byte <= 2147483635
<S>  New H48:  12 >= dns_types__packet_bytes_range__first
<S>  New H49:  12 <= dns_types__packet_bytes_range__last
<S>  New H50:  12 >= system__min_int
<S>  New H51:  12 <= system__max_int
<S>  New H53:  start_byte + 11 + 12 >= integer__base__first
<S>  New H54:  start_byte + 11 + 12 <= integer__base__last
<S>  New H64:  query_end_byte + 11 + 12 >= integer__base__first
<S>  New H65:  query_end_byte + 11 + 12 <= integer__base__last
<S>  New H73:  query_end_byte + 11 + 12 <= input_bytes
<S>  New H74:  start_byte + 11 < 8180
<S>  New C1:  start_byte + 11 >= - 12
<S>  New C3:  start_byte + 11 >= - 12
<S>  New C2:  start_byte + 11 <= 8180
<S>  New C4:  start_byte + 11 <= 8180
<S>  New C5:  start_byte + 11 >= - 2147483660
<S>  New C6:  start_byte + 11 <= 2147483635
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of dns_types__udp_max_size 
          by:
          512.
<S>  New H40:  true
<S>  New H41:  true
<S>  New H129:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= 0
<S>  New H130:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= 8192
<S>  New H154:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= dns_types__byte__first
<S>  New H155:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= dns_types__byte__last
<S>  New H158:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H159:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 
          dns_types__packet_length_range__base__last
<S>  New H165:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= dns_types__byte__first
<S>  New H166:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= dns_types__byte__last
<S>  New H169:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H170:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 
          dns_types__packet_length_range__base__last
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of dns_types__dnssecmask by:
          128.
<S>  New H188:  bit__and(element(fld_bytes(input_packet), [query_end_byte + 8])
          , 128) = 0
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H50:  true
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H51:  true
-S-  Applied substitution rule create_respo_rules(16).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H60:  start_byte >= - 2147483648
<S>  New H62:  input_bytes >= - 2147483648
<S>  New H71:  query_end_byte >= - 2147483648
-S-  Applied substitution rule create_respo_rules(17).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H61:  start_byte <= 2147483647
<S>  New H63:  input_bytes <= 2147483647
<S>  New H72:  query_end_byte <= 2147483647
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H58:  start_byte >= - 2147483659
<S>  New H69:  query_end_byte >= - 2147483659
<S>  New H53:  start_byte >= - 2147483671
<S>  New H64:  query_end_byte >= - 2147483671
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H59:  start_byte <= 2147483636
<S>  New H70:  query_end_byte <= 2147483636
<S>  New H54:  start_byte <= 2147483624
<S>  New H65:  query_end_byte <= 2147483624
-S-  Applied substitution rule create_respo_rules(21).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H75:  element(fld_bytes(input_packet), [query_end_byte + 1]) >= 0
<S>  New H99:  true
-S-  Applied substitution rule create_respo_rules(22).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H76:  element(fld_bytes(input_packet), [query_end_byte + 1]) <= 255
<S>  New H100:  true
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__first by:
          - 2147483648.
<S>  New H158:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= - 2147483648
<S>  New H169:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= - 2147483648
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__last by:
          2147483647.
<S>  New H159:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 2147483647
<S>  New H170:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 2147483647
-S-  Applied substitution rule create_respo_rules(31).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= dns_types__byte__last)
<S>  New H19:  query_end_byte >= 1
<S>  New H21:  start_byte >= 1
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H79:  query_end_byte >= 0
<S>  New H87:  query_end_byte >= - 2
<S>  New H95:  query_end_byte >= - 1
<S>  New H107:  query_end_byte >= - 4
<S>  New H115:  query_end_byte >= - 3
<S>  New H121:  query_end_byte >= - 7
<S>  New H133:  start_byte >= 0
<S>  New H139:  start_byte >= - 1
<S>  New H143:  start_byte >= - 2
<S>  New H161:  start_byte >= - 3
<S>  New H172:  start_byte >= - 4
<S>  New H178:  start_byte >= - 5
<S>  New H184:  start_byte >= - 6
<S>  New H191:  start_byte >= - 7
<S>  New H197:  start_byte >= - 8
<S>  New H203:  start_byte >= - 9
<S>  New H209:  start_byte >= - 10
<S>  New H48:  true
-S-  Applied substitution rule create_respo_rules(32).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H20:  query_end_byte <= 8180
<S>  New H22:  start_byte <= 8180
<S>  New H80:  query_end_byte <= 8179
<S>  New H88:  query_end_byte <= 8177
<S>  New H96:  query_end_byte <= 8178
<S>  New H108:  query_end_byte <= 8175
<S>  New H116:  query_end_byte <= 8176
<S>  New H122:  query_end_byte <= 8172
<S>  New H134:  start_byte <= 8179
<S>  New H140:  start_byte <= 8178
<S>  New H144:  start_byte <= 8177
<S>  New H162:  start_byte <= 8176
<S>  New H173:  start_byte <= 8175
<S>  New H179:  start_byte <= 8174
<S>  New H185:  start_byte <= 8173
<S>  New H192:  start_byte <= 8172
<S>  New H198:  start_byte <= 8171
<S>  New H204:  start_byte <= 8170
<S>  New H210:  start_byte <= 8169
<S>  New H49:  true
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(37).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H119:  element(fld_bytes(input_packet), [query_end_byte + 8]) >= 0
<S>  New H131:  true
<S>  New H147:  from_query_type(dns_types__opt) mod 256 >= 0
<S>  New H154:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= 0
<S>  New H165:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= 0
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= dns_types__byte__last)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(38).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H120:  element(fld_bytes(input_packet), [query_end_byte + 8]) <= 255
<S>  New H132:  true
<S>  New H148:  from_query_type(dns_types__opt) mod 256 <= 255
<S>  New H155:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 255
<S>  New H166:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 255
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= 255)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(44).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H2:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H8:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H10:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H12:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H14:  fld_arcount(fld_header(input_packet)) >= 0
<S>  New H23:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H29:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H31:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H33:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H35:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H38:  additional_count >= 0
<S>  New H85:  element(fld_bytes(input_packet), [query_end_byte + 3]) >= 0
<S>  New H93:  element(fld_bytes(input_packet), [query_end_byte + 2]) >= 0
<S>  New H103:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 5]) >= 0
<S>  New H105:  element(fld_bytes(input_packet), [query_end_byte + 5]) >= 0
<S>  New H113:  element(fld_bytes(input_packet), [query_end_byte + 4]) >= 0
<S>  New H213:  additional_count >= - 1
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H1:  additional_count < 65535
<S>  New H3:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H9:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H11:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H13:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H15:  fld_arcount(fld_header(input_packet)) <= 65535
<S>  New H24:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H30:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H32:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H34:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H36:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H39:  additional_count <= 65535
<S>  New H86:  element(fld_bytes(input_packet), [query_end_byte + 3]) <= 65535
<S>  New H94:  element(fld_bytes(input_packet), [query_end_byte + 2]) <= 65535
<S>  New H104:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 5]) <= 65535
<S>  New H106:  element(fld_bytes(input_packet), [query_end_byte + 5]) <= 65535
<S>  New H114:  element(fld_bytes(input_packet), [query_end_byte + 4]) <= 65535
<S>  New H214:  additional_count <= 65534
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__base__first by:
          - 2147483648.
<S>  New H83:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) >= - 2147483648
<S>  New H91:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 >= 
          - 2147483648
<S>  New H111:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 >= 
          - 2147483648
<S>  New H151:  from_query_type(dns_types__opt) mod 256 >= - 2147483648
-S-  Applied substitution rule create_respo_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__base__last by:
          2147483647.
<S>  New H84:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) <= 2147483647
<S>  New H92:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 <= 
          2147483647
<S>  New H112:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 <= 
          2147483647
<S>  New H152:  from_query_type(dns_types__opt) mod 256 <= 2147483647
-S-  Applied substitution rule create_respo_rules(50).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H4:  dns_types__query <= fld_opcode(fld_header(input_packet))
<S>  New H25:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(51).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H5:  fld_opcode(fld_header(input_packet)) <= dns_types__status
<S>  New H26:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(76).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H6:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
<S>  New H27:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(77).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H7:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
<S>  New H28:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
%%%  Simplified H73 further, to give:
     %%%  H73:  query_end_byte + 23 <= input_bytes
%%%  Simplified H74 further, to give:
     %%%  H74:  start_byte < 8169
%%%  Simplified C1 further, to give:
     %%%  C1:  start_byte >= - 23
%%%  Simplified C2 further, to give:
     %%%  C2:  start_byte <= 8169
%%%  Simplified C3 further, to give:
     %%%  C3:  start_byte >= - 23
%%%  Simplified C4 further, to give:
     %%%  C4:  start_byte <= 8169
%%%  Simplified C5 further, to give:
     %%%  C5:  start_byte >= - 2147483671
%%%  Simplified C6 further, to give:
     %%%  C6:  start_byte <= 2147483624
***  Proved C1:  start_byte >= - 23
     using hypothesis H42.
***  Proved C2:  start_byte <= 8169
     using hypothesis H210.
***  Proved C3:  start_byte >= - 23
     using hypothesis H42.
***  Proved C4:  start_byte <= 8169
     using hypothesis H210.
***  Proved C5:  start_byte >= - 2147483671
     using hypothesis H53.
***  Proved C6:  start_byte <= 2147483624
     using hypothesis H54.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_edns_31.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H6 on reading formula in, to give:
     %%%  H6:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H16 on reading formula in, to give:
     %%%  H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H25 on reading formula in, to give:
     %%%  H25:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H43).
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  true
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H66 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H75).
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H76).
%%%  Simplified H101 on reading formula in, to give:
     %%%  H101:  element(fld_bytes(input_packet), [query_end_byte + 1]) = 0
%%%  Simplified H102 on reading formula in, to give:
     %%%  H102:  to_query_type(element(fld_bytes(input_packet), [query_end_byte 
          + 2]) * 256 + element(fld_bytes(input_packet), [query_end_byte + 3])) 
          = dns_types__opt
%%%  Simplified H125 on reading formula in, to give:
     %%%  H125:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) >= 
          dns_types__packet_length_range__first
%%%  Simplified H126 on reading formula in, to give:
     %%%  H126:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) <= 
          dns_types__packet_length_range__last
---  Hypothesis H127 has been replaced by "true".  (It is already present, as 
          H125).
---  Hypothesis H128 has been replaced by "true".  (It is already present, as 
          H126).
%%%  Simplified H129 on reading formula in, to give:
     %%%  H129:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) >= 
          dns_types__packet_length_range__first
%%%  Simplified H130 on reading formula in, to give:
     %%%  H130:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) <= 
          dns_types__packet_length_range__last
---  Hypothesis H137 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H138 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H149 has been replaced by "true".  (It is already present, as 
          H147).
---  Hypothesis H150 has been replaced by "true".  (It is already present, as 
          H148).
%%%  Simplified H153 on reading formula in, to give:
     %%%  H153:  true
%%%  Simplified H154 on reading formula in, to give:
     %%%  H154:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 >= 
          dns_types__byte__first
%%%  Simplified H155 on reading formula in, to give:
     %%%  H155:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 <= 
          dns_types__byte__last
---  Hypothesis H156 has been replaced by "true".  (It is already present, as 
          H154).
---  Hypothesis H157 has been replaced by "true".  (It is already present, as 
          H155).
%%%  Simplified H158 on reading formula in, to give:
     %%%  H158:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 >= 
          dns_types__packet_length_range__base__first
%%%  Simplified H159 on reading formula in, to give:
     %%%  H159:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 <= 
          dns_types__packet_length_range__base__last
---  Hypothesis H160 has been replaced by "true".  (It is already present, as 
          H153).
%%%  Simplified H165 on reading formula in, to give:
     %%%  H165:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 >= 
          dns_types__byte__first
%%%  Simplified H166 on reading formula in, to give:
     %%%  H166:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 <= 
          dns_types__byte__last
---  Hypothesis H167 has been replaced by "true".  (It is already present, as 
          H165).
---  Hypothesis H168 has been replaced by "true".  (It is already present, as 
          H166).
%%%  Simplified H169 on reading formula in, to give:
     %%%  H169:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 >= 
          dns_types__packet_length_range__base__first
%%%  Simplified H170 on reading formula in, to give:
     %%%  H170:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 <= 
          dns_types__packet_length_range__base__last
---  Hypothesis H171 has been replaced by "true".  (It is already present, as 
          H153).
---  Hypothesis H176 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H177 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H182 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H183 has been replaced by "true".  (It is already present, as 
          H132).
%%%  Simplified H188 on reading formula in, to give:
     %%%  H188:  bit__and(element(fld_bytes(input_packet), [query_end_byte + 8])
          , dns_types__dnssecmask) <> 0
---  Hypothesis H195 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H196 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H201 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H202 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H207 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H208 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H217 has been replaced by "true".  (It is already present, as 
          H215).
---  Hypothesis H218 has been replaced by "true".  (It is already present, as 
          H216).
---  Hypothesis H221 has been replaced by "true".  (It is already present, as 
          H48).
---  Hypothesis H222 has been replaced by "true".  (It is already present, as 
          H49).
---  Hypothesis H223 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H224 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H225 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H226 has been replaced by "true".  (It is already present, as 
          H211).
---  Hypothesis H227 has been replaced by "true".  (It is already present, as 
          H212).
%%%  Simplified C4 on reading formula in, to give:
     %%%  C4:  true
%%%  Simplified C5 on reading formula in, to give:
     %%%  C5:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) >= 
          dns_types__udp_max_size
%%%  Simplified C6 on reading formula in, to give:
     %%%  C6:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) <= 
          dns_types__packet_size
***  Proved C2:  start_byte + 11 + dns_types__header_bits div 8 <= 
          dns_types__packet_size
     using hypothesis H74.
***  Proved C3:  additional_count + 1 >= additional_count
***  Proved C4:  true
***  Proved C5:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) >= 
          dns_types__udp_max_size
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H74:  start_byte + 11 + dns_types__header_bits div 8 < 8192
<S>  New H125:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) >= 
          dns_types__packet_length_range__first
<S>  New H126:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) <= 
          dns_types__packet_length_range__last
<S>  New H129:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= dns_types__packet_length_range__first
<S>  New H130:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= dns_types__packet_length_range__last
<S>  New H154:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= dns_types__byte__first
<S>  New H155:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= dns_types__byte__last
<S>  New H158:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H159:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 
          dns_types__packet_length_range__base__last
<S>  New H165:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= dns_types__byte__first
<S>  New H166:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= dns_types__byte__last
<S>  New H169:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H170:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 
          dns_types__packet_length_range__base__last
<S>  New C6:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= 8192
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H42:  start_byte + 12 >= dns_types__packet_length_range__first
<S>  New H43:  start_byte + 12 <= dns_types__packet_length_range__last
<S>  New H46:  start_byte + 12 >= dns_types__packet_bytes_range__base__first
<S>  New H47:  start_byte + 12 <= dns_types__packet_bytes_range__base__last
<S>  New H48:  12 >= dns_types__packet_bytes_range__first
<S>  New H49:  12 <= dns_types__packet_bytes_range__last
<S>  New H50:  12 >= system__min_int
<S>  New H51:  12 <= system__max_int
<S>  New H53:  start_byte + 11 + 12 >= integer__base__first
<S>  New H54:  start_byte + 11 + 12 <= integer__base__last
<S>  New H64:  query_end_byte + 11 + 12 >= integer__base__first
<S>  New H65:  query_end_byte + 11 + 12 <= integer__base__last
<S>  New H73:  query_end_byte + 11 + 12 <= input_bytes
<S>  New H74:  start_byte + 11 < 8180
<S>  New H215:  start_byte + 11 + 12 >= dns_types__packet_length_range__first
<S>  New H216:  start_byte + 11 + 12 <= dns_types__packet_length_range__last
<S>  New H219:  start_byte + 11 + 12 >= 
          dns_types__packet_bytes_range__base__first
<S>  New H220:  start_byte + 11 + 12 <= 
          dns_types__packet_bytes_range__base__last
<S>  New C1:  start_byte + 11 >= 1
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of dns_types__udp_max_size 
          by:
          512.
<S>  New H40:  512 >= dns_types__packet_length_range__first
<S>  New H41:  512 <= dns_types__packet_length_range__last
<S>  New H129:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= dns_types__packet_length_range__first
<S>  New H130:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= dns_types__packet_length_range__last
<S>  New H154:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= dns_types__byte__first
<S>  New H155:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= dns_types__byte__last
<S>  New H158:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H159:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 
          dns_types__packet_length_range__base__last
<S>  New H165:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= dns_types__byte__first
<S>  New H166:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= dns_types__byte__last
<S>  New H169:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H170:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 
          dns_types__packet_length_range__base__last
<S>  New C6:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= 8192
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of dns_types__dnssecmask by:
          128.
<S>  New H188:  bit__and(element(fld_bytes(input_packet), [query_end_byte + 8])
          , 128) <> 0
<S>  New H189:  128 >= dns_types__byte__first
<S>  New H190:  128 <= dns_types__byte__last
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H50:  true
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H51:  true
-S-  Applied substitution rule create_respo_rules(16).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H60:  start_byte >= - 2147483648
<S>  New H62:  input_bytes >= - 2147483648
<S>  New H71:  query_end_byte >= - 2147483648
-S-  Applied substitution rule create_respo_rules(17).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H61:  start_byte <= 2147483647
<S>  New H63:  input_bytes <= 2147483647
<S>  New H72:  query_end_byte <= 2147483647
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H58:  start_byte >= - 2147483659
<S>  New H69:  query_end_byte >= - 2147483659
<S>  New H53:  start_byte >= - 2147483671
<S>  New H64:  query_end_byte >= - 2147483671
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H59:  start_byte <= 2147483636
<S>  New H70:  query_end_byte <= 2147483636
<S>  New H54:  start_byte <= 2147483624
<S>  New H65:  query_end_byte <= 2147483624
-S-  Applied substitution rule create_respo_rules(21).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H75:  element(fld_bytes(input_packet), [query_end_byte + 1]) >= 0
<S>  New H99:  true
-S-  Applied substitution rule create_respo_rules(22).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H76:  element(fld_bytes(input_packet), [query_end_byte + 1]) <= 255
<S>  New H100:  true
-S-  Applied substitution rule create_respo_rules(26).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H17:  input_bytes >= 0
<S>  New H125:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) >= 0
<S>  New H42:  start_byte >= - 12
<S>  New H215:  start_byte >= - 23
<S>  New H40:  true
<S>  New H129:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= 0
-S-  Applied substitution rule create_respo_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H18:  input_bytes <= 8192
<S>  New H126:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) <= 8192
<S>  New H43:  start_byte <= 8180
<S>  New H216:  start_byte <= 8169
<S>  New H41:  true
<S>  New H130:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= 8192
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__first by:
          - 2147483648.
<S>  New H158:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= - 2147483648
<S>  New H169:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= - 2147483648
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__last by:
          2147483647.
<S>  New H159:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 2147483647
<S>  New H170:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 2147483647
-S-  Applied substitution rule create_respo_rules(31).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= dns_types__byte__last)
<S>  New H19:  query_end_byte >= 1
<S>  New H21:  start_byte >= 1
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H79:  query_end_byte >= 0
<S>  New H87:  query_end_byte >= - 2
<S>  New H95:  query_end_byte >= - 1
<S>  New H107:  query_end_byte >= - 4
<S>  New H115:  query_end_byte >= - 3
<S>  New H121:  query_end_byte >= - 7
<S>  New H133:  start_byte >= 0
<S>  New H139:  start_byte >= - 1
<S>  New H143:  start_byte >= - 2
<S>  New H161:  start_byte >= - 3
<S>  New H172:  start_byte >= - 4
<S>  New H178:  start_byte >= - 5
<S>  New H184:  start_byte >= - 6
<S>  New H191:  start_byte >= - 7
<S>  New H197:  start_byte >= - 8
<S>  New H203:  start_byte >= - 9
<S>  New H209:  start_byte >= - 10
<S>  New H48:  true
-S-  Applied substitution rule create_respo_rules(32).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H20:  query_end_byte <= 8180
<S>  New H22:  start_byte <= 8180
<S>  New H80:  query_end_byte <= 8179
<S>  New H88:  query_end_byte <= 8177
<S>  New H96:  query_end_byte <= 8178
<S>  New H108:  query_end_byte <= 8175
<S>  New H116:  query_end_byte <= 8176
<S>  New H122:  query_end_byte <= 8172
<S>  New H134:  start_byte <= 8179
<S>  New H140:  start_byte <= 8178
<S>  New H144:  start_byte <= 8177
<S>  New H162:  start_byte <= 8176
<S>  New H173:  start_byte <= 8175
<S>  New H179:  start_byte <= 8174
<S>  New H185:  start_byte <= 8173
<S>  New H192:  start_byte <= 8172
<S>  New H198:  start_byte <= 8171
<S>  New H204:  start_byte <= 8170
<S>  New H210:  start_byte <= 8169
<S>  New H49:  true
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(33).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H81:  query_end_byte >= - 2147483649
<S>  New H89:  query_end_byte >= - 2147483651
<S>  New H97:  query_end_byte >= - 2147483650
<S>  New H109:  query_end_byte >= - 2147483653
<S>  New H117:  query_end_byte >= - 2147483652
<S>  New H123:  query_end_byte >= - 2147483656
<S>  New H135:  start_byte >= - 2147483649
<S>  New H141:  start_byte >= - 2147483650
<S>  New H145:  start_byte >= - 2147483651
<S>  New H163:  start_byte >= - 2147483652
<S>  New H174:  start_byte >= - 2147483653
<S>  New H180:  start_byte >= - 2147483654
<S>  New H186:  start_byte >= - 2147483655
<S>  New H193:  start_byte >= - 2147483656
<S>  New H199:  start_byte >= - 2147483657
<S>  New H205:  start_byte >= - 2147483658
<S>  New H211:  start_byte >= - 2147483659
<S>  New H46:  start_byte >= - 2147483660
<S>  New H219:  start_byte >= - 2147483671
-S-  Applied substitution rule create_respo_rules(34).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H82:  query_end_byte <= 2147483646
<S>  New H90:  query_end_byte <= 2147483644
<S>  New H98:  query_end_byte <= 2147483645
<S>  New H110:  query_end_byte <= 2147483642
<S>  New H118:  query_end_byte <= 2147483643
<S>  New H124:  query_end_byte <= 2147483639
<S>  New H136:  start_byte <= 2147483646
<S>  New H142:  start_byte <= 2147483645
<S>  New H146:  start_byte <= 2147483644
<S>  New H164:  start_byte <= 2147483643
<S>  New H175:  start_byte <= 2147483642
<S>  New H181:  start_byte <= 2147483641
<S>  New H187:  start_byte <= 2147483640
<S>  New H194:  start_byte <= 2147483639
<S>  New H200:  start_byte <= 2147483638
<S>  New H206:  start_byte <= 2147483637
<S>  New H212:  start_byte <= 2147483636
<S>  New H47:  start_byte <= 2147483635
<S>  New H220:  start_byte <= 2147483624
-S-  Applied substitution rule create_respo_rules(37).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H119:  element(fld_bytes(input_packet), [query_end_byte + 8]) >= 0
<S>  New H131:  true
<S>  New H147:  from_query_type(dns_types__opt) mod 256 >= 0
<S>  New H154:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= 0
<S>  New H165:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= 0
<S>  New H189:  true
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= dns_types__byte__last)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(38).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H120:  element(fld_bytes(input_packet), [query_end_byte + 8]) <= 255
<S>  New H132:  true
<S>  New H148:  from_query_type(dns_types__opt) mod 256 <= 255
<S>  New H155:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 255
<S>  New H166:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 255
<S>  New H190:  true
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= 255)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(44).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H2:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H8:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H10:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H12:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H14:  fld_arcount(fld_header(input_packet)) >= 0
<S>  New H23:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H29:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H31:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H33:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H35:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H38:  additional_count >= 0
<S>  New H85:  element(fld_bytes(input_packet), [query_end_byte + 3]) >= 0
<S>  New H93:  element(fld_bytes(input_packet), [query_end_byte + 2]) >= 0
<S>  New H103:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 5]) >= 0
<S>  New H105:  element(fld_bytes(input_packet), [query_end_byte + 5]) >= 0
<S>  New H113:  element(fld_bytes(input_packet), [query_end_byte + 4]) >= 0
<S>  New H213:  additional_count >= - 1
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H1:  additional_count < 65535
<S>  New H3:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H9:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H11:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H13:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H15:  fld_arcount(fld_header(input_packet)) <= 65535
<S>  New H24:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H30:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H32:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H34:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H36:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H39:  additional_count <= 65535
<S>  New H86:  element(fld_bytes(input_packet), [query_end_byte + 3]) <= 65535
<S>  New H94:  element(fld_bytes(input_packet), [query_end_byte + 2]) <= 65535
<S>  New H104:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 5]) <= 65535
<S>  New H106:  element(fld_bytes(input_packet), [query_end_byte + 5]) <= 65535
<S>  New H114:  element(fld_bytes(input_packet), [query_end_byte + 4]) <= 65535
<S>  New H214:  additional_count <= 65534
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__base__first by:
          - 2147483648.
<S>  New H83:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) >= - 2147483648
<S>  New H91:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 >= 
          - 2147483648
<S>  New H111:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 >= 
          - 2147483648
<S>  New H151:  from_query_type(dns_types__opt) mod 256 >= - 2147483648
-S-  Applied substitution rule create_respo_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__base__last by:
          2147483647.
<S>  New H84:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) <= 2147483647
<S>  New H92:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 <= 
          2147483647
<S>  New H112:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 <= 
          2147483647
<S>  New H152:  from_query_type(dns_types__opt) mod 256 <= 2147483647
-S-  Applied substitution rule create_respo_rules(50).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H4:  dns_types__query <= fld_opcode(fld_header(input_packet))
<S>  New H25:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(51).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H5:  fld_opcode(fld_header(input_packet)) <= dns_types__status
<S>  New H26:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(76).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H6:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
<S>  New H27:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(77).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H7:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
<S>  New H28:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
%%%  Simplified H73 further, to give:
     %%%  H73:  query_end_byte + 23 <= input_bytes
%%%  Simplified H74 further, to give:
     %%%  H74:  start_byte < 8169
%%%  Simplified C1 further, to give:
     %%%  C1:  start_byte >= - 10
***  Proved C6:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= 8192
     using hypothesis H130.
***  Proved C1:  start_byte >= - 10
     using hypothesis H209.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_edns_32.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H6 on reading formula in, to give:
     %%%  H6:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H16 on reading formula in, to give:
     %%%  H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H25 on reading formula in, to give:
     %%%  H25:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H43).
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  true
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H66 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H75).
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H76).
%%%  Simplified H101 on reading formula in, to give:
     %%%  H101:  element(fld_bytes(input_packet), [query_end_byte + 1]) = 0
%%%  Simplified H102 on reading formula in, to give:
     %%%  H102:  to_query_type(element(fld_bytes(input_packet), [query_end_byte 
          + 2]) * 256 + element(fld_bytes(input_packet), [query_end_byte + 3])) 
          = dns_types__opt
%%%  Simplified H125 on reading formula in, to give:
     %%%  H125:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) >= 
          dns_types__packet_length_range__first
%%%  Simplified H126 on reading formula in, to give:
     %%%  H126:  dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5])) <= 
          dns_types__packet_length_range__last
---  Hypothesis H127 has been replaced by "true".  (It is already present, as 
          H125).
---  Hypothesis H128 has been replaced by "true".  (It is already present, as 
          H126).
%%%  Simplified H129 on reading formula in, to give:
     %%%  H129:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) >= 
          dns_types__packet_length_range__first
%%%  Simplified H130 on reading formula in, to give:
     %%%  H130:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) <= 
          dns_types__packet_length_range__last
---  Hypothesis H137 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H138 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H149 has been replaced by "true".  (It is already present, as 
          H147).
---  Hypothesis H150 has been replaced by "true".  (It is already present, as 
          H148).
%%%  Simplified H153 on reading formula in, to give:
     %%%  H153:  true
%%%  Simplified H154 on reading formula in, to give:
     %%%  H154:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 >= 
          dns_types__byte__first
%%%  Simplified H155 on reading formula in, to give:
     %%%  H155:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 <= 
          dns_types__byte__last
---  Hypothesis H156 has been replaced by "true".  (It is already present, as 
          H154).
---  Hypothesis H157 has been replaced by "true".  (It is already present, as 
          H155).
%%%  Simplified H158 on reading formula in, to give:
     %%%  H158:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 >= 
          dns_types__packet_length_range__base__first
%%%  Simplified H159 on reading formula in, to give:
     %%%  H159:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) div 256 <= 
          dns_types__packet_length_range__base__last
---  Hypothesis H160 has been replaced by "true".  (It is already present, as 
          H153).
%%%  Simplified H165 on reading formula in, to give:
     %%%  H165:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 >= 
          dns_types__byte__first
%%%  Simplified H166 on reading formula in, to give:
     %%%  H166:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 <= 
          dns_types__byte__last
---  Hypothesis H167 has been replaced by "true".  (It is already present, as 
          H165).
---  Hypothesis H168 has been replaced by "true".  (It is already present, as 
          H166).
%%%  Simplified H169 on reading formula in, to give:
     %%%  H169:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 >= 
          dns_types__packet_length_range__base__first
%%%  Simplified H170 on reading formula in, to give:
     %%%  H170:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) mod 256 <= 
          dns_types__packet_length_range__base__last
---  Hypothesis H171 has been replaced by "true".  (It is already present, as 
          H153).
---  Hypothesis H176 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H177 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H182 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H183 has been replaced by "true".  (It is already present, as 
          H132).
%%%  Simplified H188 on reading formula in, to give:
     %%%  H188:  not bit__and(element(fld_bytes(input_packet), [query_end_byte 
          + 8]), dns_types__dnssecmask) <> 0
---  Hypothesis H189 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H190 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H195 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H196 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H201 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H202 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H207 has been replaced by "true".  (It is already present, as 
          H131).
---  Hypothesis H208 has been replaced by "true".  (It is already present, as 
          H132).
---  Hypothesis H217 has been replaced by "true".  (It is already present, as 
          H215).
---  Hypothesis H218 has been replaced by "true".  (It is already present, as 
          H216).
---  Hypothesis H221 has been replaced by "true".  (It is already present, as 
          H48).
---  Hypothesis H222 has been replaced by "true".  (It is already present, as 
          H49).
---  Hypothesis H223 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H224 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H225 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H226 has been replaced by "true".  (It is already present, as 
          H211).
---  Hypothesis H227 has been replaced by "true".  (It is already present, as 
          H212).
%%%  Simplified C4 on reading formula in, to give:
     %%%  C4:  true
%%%  Simplified C5 on reading formula in, to give:
     %%%  C5:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) >= 
          dns_types__udp_max_size
%%%  Simplified C6 on reading formula in, to give:
     %%%  C6:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) <= 
          dns_types__packet_size
***  Proved C2:  start_byte + 11 + dns_types__header_bits div 8 <= 
          dns_types__packet_size
     using hypothesis H74.
***  Proved C3:  additional_count + 1 >= additional_count
***  Proved C4:  true
***  Proved C5:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(dns_types__packet_size, element(
          fld_bytes(input_packet), [query_end_byte + 4]) * 256 + element(
          fld_bytes(input_packet), [query_end_byte + 5]))) >= 
          dns_types__udp_max_size
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H74:  start_byte + 11 + dns_types__header_bits div 8 < 8192
<S>  New H125:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) >= 
          dns_types__packet_length_range__first
<S>  New H126:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) <= 
          dns_types__packet_length_range__last
<S>  New H129:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= dns_types__packet_length_range__first
<S>  New H130:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= dns_types__packet_length_range__last
<S>  New H154:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= dns_types__byte__first
<S>  New H155:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= dns_types__byte__last
<S>  New H158:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H159:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 
          dns_types__packet_length_range__base__last
<S>  New H165:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= dns_types__byte__first
<S>  New H166:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= dns_types__byte__last
<S>  New H169:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H170:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 
          dns_types__packet_length_range__base__last
<S>  New C6:  dns_types__packet_length_range__max(dns_types__udp_max_size, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= 8192
>>>  Restructured hypothesis H188 into:
     >>>  H188:  bit__and(element(fld_bytes(input_packet), [query_end_byte + 8])
          , dns_types__dnssecmask) = 0
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H42:  start_byte + 12 >= dns_types__packet_length_range__first
<S>  New H43:  start_byte + 12 <= dns_types__packet_length_range__last
<S>  New H46:  start_byte + 12 >= dns_types__packet_bytes_range__base__first
<S>  New H47:  start_byte + 12 <= dns_types__packet_bytes_range__base__last
<S>  New H48:  12 >= dns_types__packet_bytes_range__first
<S>  New H49:  12 <= dns_types__packet_bytes_range__last
<S>  New H50:  12 >= system__min_int
<S>  New H51:  12 <= system__max_int
<S>  New H53:  start_byte + 11 + 12 >= integer__base__first
<S>  New H54:  start_byte + 11 + 12 <= integer__base__last
<S>  New H64:  query_end_byte + 11 + 12 >= integer__base__first
<S>  New H65:  query_end_byte + 11 + 12 <= integer__base__last
<S>  New H73:  query_end_byte + 11 + 12 <= input_bytes
<S>  New H74:  start_byte + 11 < 8180
<S>  New H215:  start_byte + 11 + 12 >= dns_types__packet_length_range__first
<S>  New H216:  start_byte + 11 + 12 <= dns_types__packet_length_range__last
<S>  New H219:  start_byte + 11 + 12 >= 
          dns_types__packet_bytes_range__base__first
<S>  New H220:  start_byte + 11 + 12 <= 
          dns_types__packet_bytes_range__base__last
<S>  New C1:  start_byte + 11 >= 1
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of dns_types__udp_max_size 
          by:
          512.
<S>  New H40:  512 >= dns_types__packet_length_range__first
<S>  New H41:  512 <= dns_types__packet_length_range__last
<S>  New H129:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= dns_types__packet_length_range__first
<S>  New H130:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= dns_types__packet_length_range__last
<S>  New H154:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= dns_types__byte__first
<S>  New H155:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= dns_types__byte__last
<S>  New H158:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H159:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 
          dns_types__packet_length_range__base__last
<S>  New H165:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= dns_types__byte__first
<S>  New H166:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= dns_types__byte__last
<S>  New H169:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= 
          dns_types__packet_length_range__base__first
<S>  New H170:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 
          dns_types__packet_length_range__base__last
<S>  New C6:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= 8192
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of dns_types__dnssecmask by:
          128.
<S>  New H188:  bit__and(element(fld_bytes(input_packet), [query_end_byte + 8])
          , 128) = 0
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H50:  true
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H51:  true
-S-  Applied substitution rule create_respo_rules(16).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H60:  start_byte >= - 2147483648
<S>  New H62:  input_bytes >= - 2147483648
<S>  New H71:  query_end_byte >= - 2147483648
-S-  Applied substitution rule create_respo_rules(17).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H61:  start_byte <= 2147483647
<S>  New H63:  input_bytes <= 2147483647
<S>  New H72:  query_end_byte <= 2147483647
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H58:  start_byte >= - 2147483659
<S>  New H69:  query_end_byte >= - 2147483659
<S>  New H53:  start_byte >= - 2147483671
<S>  New H64:  query_end_byte >= - 2147483671
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H59:  start_byte <= 2147483636
<S>  New H70:  query_end_byte <= 2147483636
<S>  New H54:  start_byte <= 2147483624
<S>  New H65:  query_end_byte <= 2147483624
-S-  Applied substitution rule create_respo_rules(21).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H75:  element(fld_bytes(input_packet), [query_end_byte + 1]) >= 0
<S>  New H99:  true
-S-  Applied substitution rule create_respo_rules(22).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H76:  element(fld_bytes(input_packet), [query_end_byte + 1]) <= 255
<S>  New H100:  true
-S-  Applied substitution rule create_respo_rules(26).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H17:  input_bytes >= 0
<S>  New H125:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) >= 0
<S>  New H42:  start_byte >= - 12
<S>  New H215:  start_byte >= - 23
<S>  New H40:  true
<S>  New H129:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) >= 0
-S-  Applied substitution rule create_respo_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H18:  input_bytes <= 8192
<S>  New H126:  dns_types__unsigned_short__min(8192, element(fld_bytes(
          input_packet), [query_end_byte + 4]) * 256 + element(fld_bytes(
          input_packet), [query_end_byte + 5])) <= 8192
<S>  New H43:  start_byte <= 8180
<S>  New H216:  start_byte <= 8169
<S>  New H41:  true
<S>  New H130:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= 8192
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__first by:
          - 2147483648.
<S>  New H158:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= - 2147483648
<S>  New H169:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= - 2147483648
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__last by:
          2147483647.
<S>  New H159:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 2147483647
<S>  New H170:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 2147483647
-S-  Applied substitution rule create_respo_rules(31).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= dns_types__byte__last)
<S>  New H19:  query_end_byte >= 1
<S>  New H21:  start_byte >= 1
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H79:  query_end_byte >= 0
<S>  New H87:  query_end_byte >= - 2
<S>  New H95:  query_end_byte >= - 1
<S>  New H107:  query_end_byte >= - 4
<S>  New H115:  query_end_byte >= - 3
<S>  New H121:  query_end_byte >= - 7
<S>  New H133:  start_byte >= 0
<S>  New H139:  start_byte >= - 1
<S>  New H143:  start_byte >= - 2
<S>  New H161:  start_byte >= - 3
<S>  New H172:  start_byte >= - 4
<S>  New H178:  start_byte >= - 5
<S>  New H184:  start_byte >= - 6
<S>  New H191:  start_byte >= - 7
<S>  New H197:  start_byte >= - 8
<S>  New H203:  start_byte >= - 9
<S>  New H209:  start_byte >= - 10
<S>  New H48:  true
-S-  Applied substitution rule create_respo_rules(32).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H20:  query_end_byte <= 8180
<S>  New H22:  start_byte <= 8180
<S>  New H80:  query_end_byte <= 8179
<S>  New H88:  query_end_byte <= 8177
<S>  New H96:  query_end_byte <= 8178
<S>  New H108:  query_end_byte <= 8175
<S>  New H116:  query_end_byte <= 8176
<S>  New H122:  query_end_byte <= 8172
<S>  New H134:  start_byte <= 8179
<S>  New H140:  start_byte <= 8178
<S>  New H144:  start_byte <= 8177
<S>  New H162:  start_byte <= 8176
<S>  New H173:  start_byte <= 8175
<S>  New H179:  start_byte <= 8174
<S>  New H185:  start_byte <= 8173
<S>  New H192:  start_byte <= 8172
<S>  New H198:  start_byte <= 8171
<S>  New H204:  start_byte <= 8170
<S>  New H210:  start_byte <= 8169
<S>  New H49:  true
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(33).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H81:  query_end_byte >= - 2147483649
<S>  New H89:  query_end_byte >= - 2147483651
<S>  New H97:  query_end_byte >= - 2147483650
<S>  New H109:  query_end_byte >= - 2147483653
<S>  New H117:  query_end_byte >= - 2147483652
<S>  New H123:  query_end_byte >= - 2147483656
<S>  New H135:  start_byte >= - 2147483649
<S>  New H141:  start_byte >= - 2147483650
<S>  New H145:  start_byte >= - 2147483651
<S>  New H163:  start_byte >= - 2147483652
<S>  New H174:  start_byte >= - 2147483653
<S>  New H180:  start_byte >= - 2147483654
<S>  New H186:  start_byte >= - 2147483655
<S>  New H193:  start_byte >= - 2147483656
<S>  New H199:  start_byte >= - 2147483657
<S>  New H205:  start_byte >= - 2147483658
<S>  New H211:  start_byte >= - 2147483659
<S>  New H46:  start_byte >= - 2147483660
<S>  New H219:  start_byte >= - 2147483671
-S-  Applied substitution rule create_respo_rules(34).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H82:  query_end_byte <= 2147483646
<S>  New H90:  query_end_byte <= 2147483644
<S>  New H98:  query_end_byte <= 2147483645
<S>  New H110:  query_end_byte <= 2147483642
<S>  New H118:  query_end_byte <= 2147483643
<S>  New H124:  query_end_byte <= 2147483639
<S>  New H136:  start_byte <= 2147483646
<S>  New H142:  start_byte <= 2147483645
<S>  New H146:  start_byte <= 2147483644
<S>  New H164:  start_byte <= 2147483643
<S>  New H175:  start_byte <= 2147483642
<S>  New H181:  start_byte <= 2147483641
<S>  New H187:  start_byte <= 2147483640
<S>  New H194:  start_byte <= 2147483639
<S>  New H200:  start_byte <= 2147483638
<S>  New H206:  start_byte <= 2147483637
<S>  New H212:  start_byte <= 2147483636
<S>  New H47:  start_byte <= 2147483635
<S>  New H220:  start_byte <= 2147483624
-S-  Applied substitution rule create_respo_rules(37).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H119:  element(fld_bytes(input_packet), [query_end_byte + 8]) >= 0
<S>  New H131:  true
<S>  New H147:  from_query_type(dns_types__opt) mod 256 >= 0
<S>  New H154:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 >= 0
<S>  New H165:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 >= 0
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= dns_types__byte__last)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(38).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H120:  element(fld_bytes(input_packet), [query_end_byte + 8]) <= 255
<S>  New H132:  true
<S>  New H148:  from_query_type(dns_types__opt) mod 256 <= 255
<S>  New H155:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) div 256 <= 255
<S>  New H166:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) mod 256 <= 255
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= 255)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(44).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H2:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H8:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H10:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H12:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H14:  fld_arcount(fld_header(input_packet)) >= 0
<S>  New H23:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H29:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H31:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H33:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H35:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H38:  additional_count >= 0
<S>  New H85:  element(fld_bytes(input_packet), [query_end_byte + 3]) >= 0
<S>  New H93:  element(fld_bytes(input_packet), [query_end_byte + 2]) >= 0
<S>  New H103:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 5]) >= 0
<S>  New H105:  element(fld_bytes(input_packet), [query_end_byte + 5]) >= 0
<S>  New H113:  element(fld_bytes(input_packet), [query_end_byte + 4]) >= 0
<S>  New H213:  additional_count >= - 1
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H1:  additional_count < 65535
<S>  New H3:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H9:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H11:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H13:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H15:  fld_arcount(fld_header(input_packet)) <= 65535
<S>  New H24:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H30:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H32:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H34:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H36:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H39:  additional_count <= 65535
<S>  New H86:  element(fld_bytes(input_packet), [query_end_byte + 3]) <= 65535
<S>  New H94:  element(fld_bytes(input_packet), [query_end_byte + 2]) <= 65535
<S>  New H104:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 5]) <= 65535
<S>  New H106:  element(fld_bytes(input_packet), [query_end_byte + 5]) <= 65535
<S>  New H114:  element(fld_bytes(input_packet), [query_end_byte + 4]) <= 65535
<S>  New H214:  additional_count <= 65534
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__base__first by:
          - 2147483648.
<S>  New H83:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) >= - 2147483648
<S>  New H91:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 >= 
          - 2147483648
<S>  New H111:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 >= 
          - 2147483648
<S>  New H151:  from_query_type(dns_types__opt) mod 256 >= - 2147483648
-S-  Applied substitution rule create_respo_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__base__last by:
          2147483647.
<S>  New H84:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) <= 2147483647
<S>  New H92:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 <= 
          2147483647
<S>  New H112:  element(fld_bytes(input_packet), [query_end_byte + 4]) * 256 <= 
          2147483647
<S>  New H152:  from_query_type(dns_types__opt) mod 256 <= 2147483647
-S-  Applied substitution rule create_respo_rules(50).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H4:  dns_types__query <= fld_opcode(fld_header(input_packet))
<S>  New H25:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(51).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H5:  fld_opcode(fld_header(input_packet)) <= dns_types__status
<S>  New H26:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(76).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H6:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
<S>  New H27:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(77).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H7:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
<S>  New H28:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
%%%  Simplified H73 further, to give:
     %%%  H73:  query_end_byte + 23 <= input_bytes
%%%  Simplified H74 further, to give:
     %%%  H74:  start_byte < 8169
%%%  Simplified C1 further, to give:
     %%%  C1:  start_byte >= - 10
***  Proved C6:  dns_types__packet_length_range__max(512, 
          dns_types__unsigned_short__min(8192, element(fld_bytes(input_packet), 
          [query_end_byte + 4]) * 256 + element(fld_bytes(input_packet), [
          query_end_byte + 5]))) <= 8192
     using hypothesis H130.
***  Proved C1:  start_byte >= - 10
     using hypothesis H209.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_edns_33.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H6 on reading formula in, to give:
     %%%  H6:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H16 on reading formula in, to give:
     %%%  H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H25 on reading formula in, to give:
     %%%  H25:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H43).
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  true
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H66 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H75).
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H76).
%%%  Simplified H101 on reading formula in, to give:
     %%%  H101:  not (element(fld_bytes(input_packet), [query_end_byte + 1]) = 
          0 and to_query_type(element(fld_bytes(input_packet), [query_end_byte 
          + 2]) * 256 + element(fld_bytes(input_packet), [query_end_byte + 3])) 
          = dns_types__opt)
%%%  Simplified C3 on reading formula in, to give:
     %%%  C3:  true
%%%  Simplified C5 on reading formula in, to give:
     %%%  C5:  true
***  Proved C3:  true
***  Proved C4:  additional_count <= additional_count + 1
***  Proved C5:  true
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H74:  start_byte + 11 + dns_types__header_bits div 8 < 8192
<S>  New C2:  start_byte + dns_types__header_bits div 8 <= 8192
<S>  New C6:  dns_types__udp_max_size <= 8192
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of dns_types__udp_max_size 
          by:
          512.
<S>  New H40:  512 >= dns_types__packet_length_range__first
<S>  New H41:  512 <= dns_types__packet_length_range__last
<S>  New C6:  true
***  Proved C6:  true
>>>  Restructured hypothesis H101 into:
     >>>  H101:  element(fld_bytes(input_packet), [query_end_byte + 1]) <> 0 or 
          to_query_type(element(fld_bytes(input_packet), [query_end_byte + 2]) 
          * 256 + element(fld_bytes(input_packet), [query_end_byte + 3])) <> 
          dns_types__opt
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H42:  start_byte + 12 >= dns_types__packet_length_range__first
<S>  New H43:  start_byte + 12 <= dns_types__packet_length_range__last
<S>  New H46:  start_byte + 12 >= dns_types__packet_bytes_range__base__first
<S>  New H47:  start_byte + 12 <= dns_types__packet_bytes_range__base__last
<S>  New H48:  12 >= dns_types__packet_bytes_range__first
<S>  New H49:  12 <= dns_types__packet_bytes_range__last
<S>  New H50:  12 >= system__min_int
<S>  New H51:  12 <= system__max_int
<S>  New H53:  start_byte + 11 + 12 >= integer__base__first
<S>  New H54:  start_byte + 11 + 12 <= integer__base__last
<S>  New H64:  query_end_byte + 11 + 12 >= integer__base__first
<S>  New H65:  query_end_byte + 11 + 12 <= integer__base__last
<S>  New H73:  query_end_byte + 11 + 12 <= input_bytes
<S>  New H74:  start_byte + 11 < 8180
<S>  New C1:  start_byte >= 1
<S>  New C2:  start_byte <= 8180
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H50:  true
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H51:  true
-S-  Applied substitution rule create_respo_rules(16).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H60:  start_byte >= - 2147483648
<S>  New H62:  input_bytes >= - 2147483648
<S>  New H71:  query_end_byte >= - 2147483648
-S-  Applied substitution rule create_respo_rules(17).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H61:  start_byte <= 2147483647
<S>  New H63:  input_bytes <= 2147483647
<S>  New H72:  query_end_byte <= 2147483647
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H58:  start_byte >= - 2147483659
<S>  New H69:  query_end_byte >= - 2147483659
<S>  New H53:  start_byte >= - 2147483671
<S>  New H64:  query_end_byte >= - 2147483671
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H59:  start_byte <= 2147483636
<S>  New H70:  query_end_byte <= 2147483636
<S>  New H54:  start_byte <= 2147483624
<S>  New H65:  query_end_byte <= 2147483624
-S-  Applied substitution rule create_respo_rules(21).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H75:  element(fld_bytes(input_packet), [query_end_byte + 1]) >= 0
<S>  New H99:  true
-S-  Applied substitution rule create_respo_rules(22).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H76:  element(fld_bytes(input_packet), [query_end_byte + 1]) <= 255
<S>  New H100:  true
-S-  Applied substitution rule create_respo_rules(26).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H17:  input_bytes >= 0
<S>  New H40:  true
<S>  New H42:  start_byte >= - 12
-S-  Applied substitution rule create_respo_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H18:  input_bytes <= 8192
<S>  New H41:  true
<S>  New H43:  start_byte <= 8180
-S-  Applied substitution rule create_respo_rules(31).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= dns_types__byte__last)
<S>  New H19:  query_end_byte >= 1
<S>  New H21:  start_byte >= 1
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H79:  query_end_byte >= 0
<S>  New H87:  query_end_byte >= - 2
<S>  New H95:  query_end_byte >= - 1
<S>  New H48:  true
-S-  Applied substitution rule create_respo_rules(32).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H20:  query_end_byte <= 8180
<S>  New H22:  start_byte <= 8180
<S>  New H80:  query_end_byte <= 8179
<S>  New H88:  query_end_byte <= 8177
<S>  New H96:  query_end_byte <= 8178
<S>  New H49:  true
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(33).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H81:  query_end_byte >= - 2147483649
<S>  New H89:  query_end_byte >= - 2147483651
<S>  New H97:  query_end_byte >= - 2147483650
<S>  New H46:  start_byte >= - 2147483660
-S-  Applied substitution rule create_respo_rules(34).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H82:  query_end_byte <= 2147483646
<S>  New H90:  query_end_byte <= 2147483644
<S>  New H98:  query_end_byte <= 2147483645
<S>  New H47:  start_byte <= 2147483635
-S-  Applied substitution rule create_respo_rules(37).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= dns_types__byte__last)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(38).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= 255)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(44).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H2:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H8:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H10:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H12:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H14:  fld_arcount(fld_header(input_packet)) >= 0
<S>  New H23:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H29:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H31:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H33:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H35:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H38:  additional_count >= 0
<S>  New H85:  element(fld_bytes(input_packet), [query_end_byte + 3]) >= 0
<S>  New H93:  element(fld_bytes(input_packet), [query_end_byte + 2]) >= 0
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H1:  additional_count < 65535
<S>  New H3:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H9:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H11:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H13:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H15:  fld_arcount(fld_header(input_packet)) <= 65535
<S>  New H24:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H30:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H32:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H34:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H36:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H39:  additional_count <= 65535
<S>  New H86:  element(fld_bytes(input_packet), [query_end_byte + 3]) <= 65535
<S>  New H94:  element(fld_bytes(input_packet), [query_end_byte + 2]) <= 65535
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__base__first by:
          - 2147483648.
<S>  New H83:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) >= - 2147483648
<S>  New H91:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 >= 
          - 2147483648
-S-  Applied substitution rule create_respo_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__base__last by:
          2147483647.
<S>  New H84:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [query_end_byte + 3]) <= 2147483647
<S>  New H92:  element(fld_bytes(input_packet), [query_end_byte + 2]) * 256 <= 
          2147483647
-S-  Applied substitution rule create_respo_rules(50).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H4:  dns_types__query <= fld_opcode(fld_header(input_packet))
<S>  New H25:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(51).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H5:  fld_opcode(fld_header(input_packet)) <= dns_types__status
<S>  New H26:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(76).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H6:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
<S>  New H27:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(77).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H7:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
<S>  New H28:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
%%%  Simplified H73 further, to give:
     %%%  H73:  query_end_byte + 23 <= input_bytes
%%%  Simplified H74 further, to give:
     %%%  H74:  start_byte < 8169
***  Proved C1:  start_byte >= 1
     using hypothesis H21.
***  Proved C2:  start_byte <= 8180
     using hypothesis H43.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_edns_34.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H6 on reading formula in, to give:
     %%%  H6:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H16 on reading formula in, to give:
     %%%  H16:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H25 on reading formula in, to give:
     %%%  H25:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H37 on reading formula in, to give:
     %%%  H37:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H42).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H43).
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  true
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as 
          H52).
---  Hypothesis H66 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H52).
%%%  Simplified C3 on reading formula in, to give:
     %%%  C3:  true
%%%  Simplified C5 on reading formula in, to give:
     %%%  C5:  true
***  Proved C3:  true
***  Proved C4:  additional_count <= additional_count + 1
***  Proved C5:  true
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H73:  not (query_end_byte + 11 + dns_types__header_bits div 8 <= 
          input_bytes and start_byte + 11 + dns_types__header_bits div 8 < 8192)
<S>  New C2:  start_byte + dns_types__header_bits div 8 <= 8192
<S>  New C6:  dns_types__udp_max_size <= 8192
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of dns_types__udp_max_size 
          by:
          512.
<S>  New H40:  512 >= dns_types__packet_length_range__first
<S>  New H41:  512 <= dns_types__packet_length_range__last
<S>  New C6:  true
***  Proved C6:  true
>>>  Restructured hypothesis H73 into:
     >>>  H73:  input_bytes < query_end_byte + 11 + dns_types__header_bits div 
          8 or 8192 <= start_byte + 11 + dns_types__header_bits div 8
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H42:  start_byte + 12 >= dns_types__packet_length_range__first
<S>  New H43:  start_byte + 12 <= dns_types__packet_length_range__last
<S>  New H46:  start_byte + 12 >= dns_types__packet_bytes_range__base__first
<S>  New H47:  start_byte + 12 <= dns_types__packet_bytes_range__base__last
<S>  New H48:  12 >= dns_types__packet_bytes_range__first
<S>  New H49:  12 <= dns_types__packet_bytes_range__last
<S>  New H50:  12 >= system__min_int
<S>  New H51:  12 <= system__max_int
<S>  New H53:  start_byte + 11 + 12 >= integer__base__first
<S>  New H54:  start_byte + 11 + 12 <= integer__base__last
<S>  New H64:  query_end_byte + 11 + 12 >= integer__base__first
<S>  New H65:  query_end_byte + 11 + 12 <= integer__base__last
<S>  New H73:  input_bytes < query_end_byte + 11 + 12 or 8180 <= start_byte + 11
<S>  New C1:  start_byte >= 1
<S>  New C2:  start_byte <= 8180
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H50:  true
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H51:  true
-S-  Applied substitution rule create_respo_rules(16).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H60:  start_byte >= - 2147483648
<S>  New H62:  input_bytes >= - 2147483648
<S>  New H71:  query_end_byte >= - 2147483648
-S-  Applied substitution rule create_respo_rules(17).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H61:  start_byte <= 2147483647
<S>  New H63:  input_bytes <= 2147483647
<S>  New H72:  query_end_byte <= 2147483647
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H58:  start_byte >= - 2147483659
<S>  New H69:  query_end_byte >= - 2147483659
<S>  New H53:  start_byte >= - 2147483671
<S>  New H64:  query_end_byte >= - 2147483671
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H59:  start_byte <= 2147483636
<S>  New H70:  query_end_byte <= 2147483636
<S>  New H54:  start_byte <= 2147483624
<S>  New H65:  query_end_byte <= 2147483624
-S-  Applied substitution rule create_respo_rules(26).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H17:  input_bytes >= 0
<S>  New H40:  true
<S>  New H42:  start_byte >= - 12
-S-  Applied substitution rule create_respo_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H18:  input_bytes <= 8192
<S>  New H41:  true
<S>  New H43:  start_byte <= 8180
-S-  Applied substitution rule create_respo_rules(31).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= dns_types__byte__last)
<S>  New H19:  query_end_byte >= 1
<S>  New H21:  start_byte >= 1
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H48:  true
-S-  Applied substitution rule create_respo_rules(32).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H20:  query_end_byte <= 8180
<S>  New H22:  start_byte <= 8180
<S>  New H49:  true
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(input_packet), [i___1]) 
          and element(fld_bytes(input_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(33).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H46:  start_byte >= - 2147483660
-S-  Applied substitution rule create_respo_rules(34).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H47:  start_byte <= 2147483635
-S-  Applied substitution rule create_respo_rules(37).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= dns_types__byte__last)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(38).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H16:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(input_packet), [i___1]) and element(fld_bytes(
          input_packet), [i___1]) <= 255)
<S>  New H37:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(44).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H2:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H8:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H10:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H12:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H14:  fld_arcount(fld_header(input_packet)) >= 0
<S>  New H23:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H29:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H31:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H33:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H35:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H38:  additional_count >= 0
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H1:  additional_count < 65535
<S>  New H3:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H9:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H11:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H13:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H15:  fld_arcount(fld_header(input_packet)) <= 65535
<S>  New H24:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H30:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H32:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H34:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H36:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H39:  additional_count <= 65535
-S-  Applied substitution rule create_respo_rules(50).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H4:  dns_types__query <= fld_opcode(fld_header(input_packet))
<S>  New H25:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(51).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H5:  fld_opcode(fld_header(input_packet)) <= dns_types__status
<S>  New H26:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(76).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H6:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
<S>  New H27:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(77).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H7:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
<S>  New H28:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
%%%  Simplified H73 further, to give:
     %%%  H73:  input_bytes < query_end_byte + 23 or 8169 <= start_byte
***  Proved C1:  start_byte >= 1
     using hypothesis H21.
***  Proved C2:  start_byte <= 8180
     using hypothesis H43.
***  PROVED VC.

