*****************************************************************************
                       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.Get_Query_Name_Type_Class






@@@@@@@@@@  VC: procedure_get_query_name_type_class_1.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  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)
-S-  Applied substitution rule get_query_na_rules(12).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New C1:  true
-S-  Applied substitution rule get_query_na_rules(13).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New C2:  true
***  Proved C1:  true
***  Proved C2:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_2.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  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 C1 on reading formula in, to give:
     %%%  C1:  dns_types__packet_bytes_range__first <= input_bytes - 5 -> 
          dns_types__packet_bytes_range__first <= 
          dns_types__packet_bytes_range__last
-S-  Applied substitution rule get_query_na_rules(7).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New C2:  input_bytes >= - 2147483643
<S>  New C6:  dns_types__packet_bytes_range__first >= - 2147483648
-S-  Applied substitution rule get_query_na_rules(8).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New C3:  input_bytes <= 2147483652
<S>  New C7:  dns_types__packet_bytes_range__first <= 2147483647
-S-  Applied substitution rule get_query_na_rules(24).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__first by:
          - 2147483648.
<S>  New C4:  input_bytes >= - 2147483643
-S-  Applied substitution rule get_query_na_rules(25).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__last by:
          2147483647.
<S>  New C5:  input_bytes <= 2147483652
-S-  Applied substitution rule get_query_na_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H17:  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 C1:  6 <= input_bytes -> 1 <= dns_types__packet_bytes_range__last
<S>  New C6:  true
<S>  New C7:  true
***  Proved C3:  input_bytes <= 2147483652
     using hypothesis H2.
***  Proved C5:  input_bytes <= 2147483652
     using hypothesis H2.
***  Proved C6:  true
***  Proved C7:  true
-S-  Applied substitution rule get_query_na_rules(1).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H1:  input_bytes >= 13
-S-  Applied substitution rule get_query_na_rules(12).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H20:  true
-S-  Applied substitution rule get_query_na_rules(13).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H21:  true
-S-  Applied substitution rule get_query_na_rules(22).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H18:  input_bytes >= 0
-S-  Applied substitution rule get_query_na_rules(23).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H19:  input_bytes <= 8192
-S-  Applied substitution rule get_query_na_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H17:  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 C1:  true
-S-  Applied substitution rule get_query_na_rules(33).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H17:  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-  Applied substitution rule get_query_na_rules(34).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H17:  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-  Applied substitution rule get_query_na_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H3:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H9:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H11:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H13:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H15:  fld_arcount(fld_header(input_packet)) >= 0
-S-  Applied substitution rule get_query_na_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H4:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H10:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H12:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H14:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H16:  fld_arcount(fld_header(input_packet)) <= 65535
-S-  Applied substitution rule get_query_na_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H5:  dns_types__query <= fld_opcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H6:  fld_opcode(fld_header(input_packet)) <= dns_types__status
-S-  Applied substitution rule get_query_na_rules(72).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H7:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(73).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H8:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
***  Proved C2:  input_bytes >= - 2147483643
     using hypothesis H1.
***  Proved C4:  input_bytes >= - 2147483643
     using hypothesis H1.
***  Proved C1:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_3.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H19 on reading formula in, to give:
     %%%  H19:  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)
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H27 has been replaced by "true".  (It is already present, as 
          H25).
---  Hypothesis H28 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H30 has been replaced by "true".  (It is already present, as H1)
          .
***  Proved C1:  byte + 1 <= input_bytes - 5 -> byte + 1 >= 
          dns_types__packet_bytes_range__first and byte + 1 <= 
          dns_types__packet_bytes_range__last
     using hypotheses H34 & H35.
-S-  Applied substitution rule get_query_na_rules(7).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New C2:  input_bytes >= - 2147483643
<S>  New C6:  byte >= - 2147483649
-S-  Applied substitution rule get_query_na_rules(8).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New C3:  input_bytes <= 2147483652
<S>  New C7:  byte <= 2147483646
-S-  Applied substitution rule get_query_na_rules(24).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__first by:
          - 2147483648.
<S>  New C4:  input_bytes >= - 2147483643
-S-  Applied substitution rule get_query_na_rules(25).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__last by:
          2147483647.
<S>  New C5:  input_bytes <= 2147483652
***  Proved C3:  input_bytes <= 2147483652
     using hypothesis H23.
***  Proved C7:  byte <= 2147483646
     using hypotheses H4 & H23.
***  Proved C5:  input_bytes <= 2147483652
     using hypothesis H23.
-S-  Applied substitution rule get_query_na_rules(1).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H22:  input_bytes >= 13
-S-  Applied substitution rule get_query_na_rules(12).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H24:  element(fld_bytes(input_packet), [byte]) >= 0
-S-  Applied substitution rule get_query_na_rules(13).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H25:  element(fld_bytes(input_packet), [byte]) <= 255
-S-  Applied substitution rule get_query_na_rules(17).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H32:  i >= - 1
-S-  Applied substitution rule get_query_na_rules(18).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H33:  i <= 2147483646
-S-  Applied substitution rule get_query_na_rules(22).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H20:  input_bytes >= 0
-S-  Applied substitution rule get_query_na_rules(23).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H21:  input_bytes <= 8192
-S-  Applied substitution rule get_query_na_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H3:  byte >= 1
<S>  New H19:  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 H34:  byte >= 0
-S-  Applied substitution rule get_query_na_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H29:  byte <= 8180
<S>  New H35:  byte <= 8179
<S>  New H19:  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-  Applied substitution rule get_query_na_rules(33).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H19:  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-  Applied substitution rule get_query_na_rules(34).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H19:  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-  Applied substitution rule get_query_na_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H5:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H11:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H13:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H15:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H17:  fld_arcount(fld_header(input_packet)) >= 0
-S-  Applied substitution rule get_query_na_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H6:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H12:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H14:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H16:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H18:  fld_arcount(fld_header(input_packet)) <= 65535
-S-  Applied substitution rule get_query_na_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H7:  dns_types__query <= fld_opcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H8:  fld_opcode(fld_header(input_packet)) <= dns_types__status
-S-  Applied substitution rule get_query_na_rules(72).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H9:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(73).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H10:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S-  Applied substitution rule get_query_na_rules(196).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H1:  i >= 1
-S-  Applied substitution rule get_query_na_rules(197).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H2:  i < 129
<S>  New H31:  i <= 129
***  Proved C2:  input_bytes >= - 2147483643
     using hypothesis H22.
***  Proved C6:  byte >= - 2147483649
     using hypothesis H3.
***  Proved C4:  input_bytes >= - 2147483643
     using hypothesis H22.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_4.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  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 H22 on reading formula in, to give:
     %%%  H22:  dns_types__packet_bytes_range__first <= input_bytes - 5 -> 
          dns_types__packet_bytes_range__first <= 
          dns_types__packet_bytes_range__last
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  true
%%%  Simplified C3 on reading formula in, to give:
     %%%  C3:  true
%%%  Simplified C7 on reading formula in, to give:
     %%%  C7:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified C9 on reading formula in, to give:
     %%%  C9:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified C19 on reading formula in, to give:
     %%%  C19:  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)
***  Proved C1:  true
***  Proved C2:  rr_type__wirestringtypeindex__first < 
          rr_type__wirestringtypeindex__last
     using hypothesis H31.
***  Proved C3:  true
***  Proved C4:  dns_types__packet_bytes_range__first <= input_bytes - 5
     using hypothesis H29.
***  Proved C5:  fld_messageid(fld_header(input_packet)) >= 
          dns_types__unsigned_short__first
     using hypothesis H3.
***  Proved C6:  fld_messageid(fld_header(input_packet)) <= 
          dns_types__unsigned_short__last
     using hypothesis H4.
***  Proved C7:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
     using hypothesis H5.
***  Proved C8:  fld_opcode(fld_header(input_packet)) <= 
          dns_types__opcode_type__last
     using hypothesis H6.
***  Proved C9:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
     using hypothesis H7.
***  Proved C10:  fld_rcode(fld_header(input_packet)) <= 
          dns_types__response_code__last
     using hypothesis H8.
***  Proved C11:  fld_qdcount(fld_header(input_packet)) >= 
          dns_types__unsigned_short__first
     using hypothesis H9.
***  Proved C12:  fld_qdcount(fld_header(input_packet)) <= 
          dns_types__unsigned_short__last
     using hypothesis H10.
***  Proved C13:  fld_ancount(fld_header(input_packet)) >= 
          dns_types__unsigned_short__first
     using hypothesis H11.
***  Proved C14:  fld_ancount(fld_header(input_packet)) <= 
          dns_types__unsigned_short__last
     using hypothesis H12.
***  Proved C15:  fld_nscount(fld_header(input_packet)) >= 
          dns_types__unsigned_short__first
     using hypothesis H13.
***  Proved C16:  fld_nscount(fld_header(input_packet)) <= 
          dns_types__unsigned_short__last
     using hypothesis H14.
***  Proved C17:  fld_arcount(fld_header(input_packet)) >= 
          dns_types__unsigned_short__first
     using hypothesis H15.
***  Proved C18:  fld_arcount(fld_header(input_packet)) <= 
          dns_types__unsigned_short__last
     using hypothesis H16.
***  Proved C19:  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)
     using hypothesis H17.
***  Proved C20:  input_bytes >= dns_types__packet_length_range__first
     using hypothesis H18.
***  Proved C21:  input_bytes <= dns_types__packet_length_range__last
     using hypothesis H19.
***  Proved C22:  input_bytes >= dns_types__header_bits div 8 + 1
     using hypothesis H1.
***  Proved C23:  input_bytes < 1000
     using hypothesis H2.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_5.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H19 on reading formula in, to give:
     %%%  H19:  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)
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H27 has been replaced by "true".  (It is already present, as 
          H25).
---  Hypothesis H28 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H30 has been replaced by "true".  (It is already present, as H1)
          .
%%%  Simplified C7 on reading formula in, to give:
     %%%  C7:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified C9 on reading formula in, to give:
     %%%  C9:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified C19 on reading formula in, to give:
     %%%  C19:  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)
***  Proved C1:  i + 1 >= rr_type__wirestringtypeindex__first
     using hypothesis H1.
***  Proved C2:  i + 1 < rr_type__wirestringtypeindex__last
     using hypothesis H45.
***  Proved C3:  byte + 1 >= dns_types__packet_bytes_range__first
     using hypothesis H34.
***  Proved C4:  byte + 1 <= input_bytes - 5
     using hypothesis H43.
***  Proved C5:  fld_messageid(fld_header(input_packet)) >= 
          dns_types__unsigned_short__first
     using hypothesis H5.
***  Proved C6:  fld_messageid(fld_header(input_packet)) <= 
          dns_types__unsigned_short__last
     using hypothesis H6.
***  Proved C7:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
     using hypothesis H7.
***  Proved C8:  fld_opcode(fld_header(input_packet)) <= 
          dns_types__opcode_type__last
     using hypothesis H8.
***  Proved C9:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
     using hypothesis H9.
***  Proved C10:  fld_rcode(fld_header(input_packet)) <= 
          dns_types__response_code__last
     using hypothesis H10.
***  Proved C11:  fld_qdcount(fld_header(input_packet)) >= 
          dns_types__unsigned_short__first
     using hypothesis H11.
***  Proved C12:  fld_qdcount(fld_header(input_packet)) <= 
          dns_types__unsigned_short__last
     using hypothesis H12.
***  Proved C13:  fld_ancount(fld_header(input_packet)) >= 
          dns_types__unsigned_short__first
     using hypothesis H13.
***  Proved C14:  fld_ancount(fld_header(input_packet)) <= 
          dns_types__unsigned_short__last
     using hypothesis H14.
***  Proved C15:  fld_nscount(fld_header(input_packet)) >= 
          dns_types__unsigned_short__first
     using hypothesis H15.
***  Proved C16:  fld_nscount(fld_header(input_packet)) <= 
          dns_types__unsigned_short__last
     using hypothesis H16.
***  Proved C17:  fld_arcount(fld_header(input_packet)) >= 
          dns_types__unsigned_short__first
     using hypothesis H17.
***  Proved C18:  fld_arcount(fld_header(input_packet)) <= 
          dns_types__unsigned_short__last
     using hypothesis H18.
***  Proved C19:  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)
     using hypothesis H19.
***  Proved C20:  input_bytes >= dns_types__packet_length_range__first
     using hypothesis H20.
***  Proved C21:  input_bytes <= dns_types__packet_length_range__last
     using hypothesis H21.
***  Proved C22:  input_bytes >= dns_types__header_bits div 8 + 1
     using hypothesis H22.
***  Proved C23:  input_bytes < 1000
     using hypothesis H23.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_6.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H19 on reading formula in, to give:
     %%%  H19:  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)
***  Proved C5:  byte >= dns_types__packet_bytes_range__first
     using hypothesis H3.
***  Proved C7:  i >= rr_type__wirestringtypeindex__first
     using hypothesis H1.
***  Proved C8:  i <= rr_type__wirestringtypeindex__last
     using hypothesis H2.
-S-  Applied substitution rule get_query_na_rules(12).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New C1:  element(fld_bytes(input_packet), [byte]) >= 0
<S>  New C3:  element(fld_bytes(input_packet), [byte]) >= 0
-S-  Applied substitution rule get_query_na_rules(13).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New C2:  element(fld_bytes(input_packet), [byte]) <= 255
<S>  New C4:  element(fld_bytes(input_packet), [byte]) <= 255
-S-  Applied substitution rule get_query_na_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H19:  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 C6:  byte <= 8180
***  Proved C6:  byte <= 8180
     using hypotheses H4 & H23.
-S-  Applied substitution rule get_query_na_rules(1).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H22:  input_bytes >= 13
-S-  Applied substitution rule get_query_na_rules(22).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H20:  input_bytes >= 0
-S-  Applied substitution rule get_query_na_rules(23).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H21:  input_bytes <= 8192
-S-  Applied substitution rule get_query_na_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H3:  byte >= 1
<S>  New H19:  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-  Applied substitution rule get_query_na_rules(33).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H19:  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-  Applied substitution rule get_query_na_rules(34).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H19:  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-  Applied substitution rule get_query_na_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H5:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H11:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H13:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H15:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H17:  fld_arcount(fld_header(input_packet)) >= 0
-S-  Applied substitution rule get_query_na_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H6:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H12:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H14:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H16:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H18:  fld_arcount(fld_header(input_packet)) <= 65535
-S-  Applied substitution rule get_query_na_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H7:  dns_types__query <= fld_opcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H8:  fld_opcode(fld_header(input_packet)) <= dns_types__status
-S-  Applied substitution rule get_query_na_rules(72).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H9:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(73).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H10:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S-  Applied substitution rule get_query_na_rules(196).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H1:  i >= 1
-S-  Applied substitution rule get_query_na_rules(197).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H2:  i < 129
***  Proved C1:  element(fld_bytes(input_packet), [byte]) >= 0
     using hypotheses H3, H4, H19 & H23.
***  Proved C3:  element(fld_bytes(input_packet), [byte]) >= 0
     using hypotheses H3, H4, H19 & H23.
***  Proved C2:  element(fld_bytes(input_packet), [byte]) <= 255
     using hypotheses H3, H4, H19 & H23.
***  Proved C4:  element(fld_bytes(input_packet), [byte]) <= 255
     using hypotheses H3, H4, H19 & H23.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_7.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H19 on reading formula in, to give:
     %%%  H19:  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)
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H27 has been replaced by "true".  (It is already present, as 
          H25).
---  Hypothesis H28 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H30 has been replaced by "true".  (It is already present, as H1)
          .
-S-  Applied substitution rule get_query_na_rules(17).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New C1:  i >= - 1
-S-  Applied substitution rule get_query_na_rules(18).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New C2:  i <= 2147483646
-S-  Applied substitution rule get_query_na_rules(1).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H22:  input_bytes >= 13
-S-  Applied substitution rule get_query_na_rules(12).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H24:  element(fld_bytes(input_packet), [byte]) >= 0
-S-  Applied substitution rule get_query_na_rules(13).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H25:  element(fld_bytes(input_packet), [byte]) <= 255
-S-  Applied substitution rule get_query_na_rules(22).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H20:  input_bytes >= 0
-S-  Applied substitution rule get_query_na_rules(23).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H21:  input_bytes <= 8192
-S-  Applied substitution rule get_query_na_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H3:  byte >= 1
<S>  New H19:  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-  Applied substitution rule get_query_na_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H29:  byte <= 8180
<S>  New H19:  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-  Applied substitution rule get_query_na_rules(33).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H19:  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-  Applied substitution rule get_query_na_rules(34).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H19:  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-  Applied substitution rule get_query_na_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H5:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H11:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H13:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H15:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H17:  fld_arcount(fld_header(input_packet)) >= 0
-S-  Applied substitution rule get_query_na_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H6:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H12:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H14:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H16:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H18:  fld_arcount(fld_header(input_packet)) <= 65535
-S-  Applied substitution rule get_query_na_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H7:  dns_types__query <= fld_opcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H8:  fld_opcode(fld_header(input_packet)) <= dns_types__status
-S-  Applied substitution rule get_query_na_rules(72).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H9:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(73).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H10:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S-  Applied substitution rule get_query_na_rules(196).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H1:  i >= 1
-S-  Applied substitution rule get_query_na_rules(197).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H2:  i < 129
<S>  New H31:  i <= 129
***  Proved C1:  i >= - 1
     using hypothesis H1.
***  Proved C2:  i <= 2147483646
     using hypothesis H2.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_8.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H19 on reading formula in, to give:
     %%%  H19:  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)
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H27 has been replaced by "true".  (It is already present, as 
          H25).
---  Hypothesis H28 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H30 has been replaced by "true".  (It is already present, as H1)
          .
***  Proved C1:  byte + 1 >= dns_types__packet_bytes_range__first
     using hypothesis H3.
-S-  Applied substitution rule get_query_na_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H19:  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 H29:  byte <= 8180
<S>  New C2:  byte <= 8179
***  Proved C2:  byte <= 8179
     using hypotheses H4 & H23.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_9.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  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 H22 on reading formula in, to give:
     %%%  H22:  dns_types__packet_bytes_range__first <= input_bytes - 5 -> 
          dns_types__packet_bytes_range__first <= 
          dns_types__packet_bytes_range__last
%%%  Simplified C5 on reading formula in, to give:
     %%%  C5:  true
***  Proved C2:  0 <= character__last
     using hypothesis H21.
***  Proved C4:  0 <= character__last
     using hypothesis H21.
***  Proved C5:  true
-S-  Applied substitution rule get_query_na_rules(12).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H20:  true
<S>  New C1:  true
<S>  New C3:  true
-S-  Applied substitution rule get_query_na_rules(196).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H29:  not (dns_types__packet_bytes_range__first <= input_bytes - 5 and 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first]) <> 0 and 1 < 
          rr_type__wirestringtypeindex__last)
<S>  New C6:  1 <= rr_type__wirestringtypeindex__last
-S-  Applied substitution rule get_query_na_rules(197).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H29:  not (dns_types__packet_bytes_range__first <= input_bytes - 5 and 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first]) <> 0)
<S>  New C6:  true
***  Proved C1:  true
***  Proved C3:  true
***  Proved C6:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_10.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H19 on reading formula in, to give:
     %%%  H19:  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)
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H27 has been replaced by "true".  (It is already present, as 
          H25).
---  Hypothesis H28 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H30 has been replaced by "true".  (It is already present, as H1)
          .
***  Proved C5:  i + 1 >= rr_type__wirestringtypeindex__first
     using hypothesis H1.
-S-  Applied substitution rule get_query_na_rules(12).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H24:  element(fld_bytes(input_packet), [byte]) >= 0
<S>  New C1:  true
<S>  New C3:  true
-S-  Applied substitution rule get_query_na_rules(13).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H25:  element(fld_bytes(input_packet), [byte]) <= 255
<S>  New C2:  true
<S>  New C4:  true
-S-  Applied substitution rule get_query_na_rules(197).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H2:  i < 129
<S>  New H31:  i <= 129
<S>  New H43:  not (byte + 1 <= input_bytes - 5 and element(fld_bytes(
          input_packet), [byte + 1]) <> 0 and i < 128)
<S>  New C6:  i <= 128
***  Proved C1:  true
***  Proved C3:  true
***  Proved C2:  true
***  Proved C4:  true
***  Proved C6:  i <= 128
     using hypothesis H2.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_11.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  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 H22 on reading formula in, to give:
     %%%  H22:  dns_types__packet_bytes_range__first <= input_bytes - 5 -> 
          dns_types__packet_bytes_range__first <= 
          dns_types__packet_bytes_range__last
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H31).
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  true
***  Proved C5:  dns_types__packet_bytes_range__first + 2 >= 
          dns_types__packet_bytes_range__first
***  Proved C13:  dns_types__packet_bytes_range__first + 1 >= 
          dns_types__packet_bytes_range__first
-S-  Applied substitution rule get_query_na_rules(17).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New C1:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 2]) >= 0
<S>  New C3:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 2]) >= 0
<S>  New C11:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 1]) >= 0
-S-  Applied substitution rule get_query_na_rules(18).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New C2:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 2]) <= 
          2147483647
<S>  New C4:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 2]) <= 2147483647
<S>  New C12:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 1]) <= 2147483647
-S-  Applied substitution rule get_query_na_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H17:  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 H22:  dns_types__packet_bytes_range__first <= input_bytes - 5 -> 
          dns_types__packet_bytes_range__first <= 8180
<S>  New C6:  dns_types__packet_bytes_range__first <= 8178
<S>  New C14:  dns_types__packet_bytes_range__first <= 8179
-S-  Applied substitution rule get_query_na_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H27:  1 >= integer__first
<S>  New H28:  1 <= integer__last
<S>  New H29:  not (6 <= input_bytes and element(fld_bytes(input_packet), [1]) 
          <> 0 and rr_type__wirestringtypeindex__first < 
          rr_type__wirestringtypeindex__last)
<S>  New H17:  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 H22:  true
<S>  New C7:  3 >= dns_types__packet_bytes_range__base__first
<S>  New C8:  3 <= dns_types__packet_bytes_range__base__last
<S>  New C9:  element(fld_bytes(input_packet), [2]) * 256 >= 
          integer__base__first
<S>  New C10:  element(fld_bytes(input_packet), [2]) * 256 <= 
          integer__base__last
<S>  New C15:  2 >= dns_types__packet_bytes_range__base__first
<S>  New C16:  2 <= dns_types__packet_bytes_range__base__last
<S>  New C1:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) >= 0
<S>  New C3:  element(fld_bytes(input_packet), [3]) >= 0
<S>  New C11:  element(fld_bytes(input_packet), [2]) >= 0
<S>  New C2:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) <= 2147483647
<S>  New C4:  element(fld_bytes(input_packet), [3]) <= 2147483647
<S>  New C12:  element(fld_bytes(input_packet), [2]) <= 2147483647
<S>  New C6:  true
<S>  New C14:  true
-S-  Applied substitution rule get_query_na_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New C7:  true
<S>  New C15:  true
-S-  Applied substitution rule get_query_na_rules(30).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New C8:  true
<S>  New C16:  true
-S-  Applied substitution rule get_query_na_rules(9).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New C9:  element(fld_bytes(input_packet), [2]) * 256 >= - 2147483648
-S-  Applied substitution rule get_query_na_rules(10).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New C10:  element(fld_bytes(input_packet), [2]) * 256 <= 2147483647
***  Proved C6:  true
***  Proved C14:  true
***  Proved C7:  true
***  Proved C15:  true
***  Proved C8:  true
***  Proved C16:  true
>>>  Restructured hypothesis H29 into:
     >>>  H29:  input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or 
          rr_type__wirestringtypeindex__last <= 
          rr_type__wirestringtypeindex__first
-S-  Applied substitution rule get_query_na_rules(1).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H1:  input_bytes >= 13
-S-  Applied substitution rule get_query_na_rules(7).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H23:  input_bytes >= - 2147483643
<S>  New H27:  true
-S-  Applied substitution rule get_query_na_rules(8).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H24:  input_bytes <= 2147483652
<S>  New H28:  true
-S-  Applied substitution rule get_query_na_rules(12).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H20:  true
<S>  New H30:  true
-S-  Applied substitution rule get_query_na_rules(13).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H21:  true
<S>  New H31:  true
-S-  Applied substitution rule get_query_na_rules(22).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H18:  input_bytes >= 0
-S-  Applied substitution rule get_query_na_rules(23).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H19:  input_bytes <= 8192
-S-  Applied substitution rule get_query_na_rules(24).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__first by:
          - 2147483648.
<S>  New H25:  input_bytes >= - 2147483643
-S-  Applied substitution rule get_query_na_rules(25).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__last by:
          2147483647.
<S>  New H26:  input_bytes <= 2147483652
-S-  Applied substitution rule get_query_na_rules(33).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H17:  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-  Applied substitution rule get_query_na_rules(34).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H17:  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-  Applied substitution rule get_query_na_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H3:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H9:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H11:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H13:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H15:  fld_arcount(fld_header(input_packet)) >= 0
-S-  Applied substitution rule get_query_na_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H4:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H10:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H12:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H14:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H16:  fld_arcount(fld_header(input_packet)) <= 65535
-S-  Applied substitution rule get_query_na_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H5:  dns_types__query <= fld_opcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H6:  fld_opcode(fld_header(input_packet)) <= dns_types__status
-S-  Applied substitution rule get_query_na_rules(72).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H7:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(73).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H8:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S-  Applied substitution rule get_query_na_rules(196).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H29:  input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or 
          rr_type__wirestringtypeindex__last <= 1
<S>  New H35:  1 <= rr_type__wirestringtypeindex__last
-S-  Applied substitution rule get_query_na_rules(197).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H29:  input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0
<S>  New H35:  true
***  Proved C3:  element(fld_bytes(input_packet), [3]) >= 0
     using hypothesis H17.
***  Proved C11:  element(fld_bytes(input_packet), [2]) >= 0
     using hypothesis H17.
***  Proved C4:  element(fld_bytes(input_packet), [3]) <= 2147483647
     using hypothesis H17.
***  Proved C12:  element(fld_bytes(input_packet), [2]) <= 2147483647
     using hypothesis H17.
***  Proved C9:  element(fld_bytes(input_packet), [2]) * 256 >= - 2147483648
     using hypothesis H17.
***  Proved C10:  element(fld_bytes(input_packet), [2]) * 256 <= 2147483647
     using hypothesis H17.
---  Eliminated hypothesis H22 (true-hypothesis).
---  Eliminated hypothesis H32 (true-hypothesis).
---  Eliminated hypothesis H33 (true-hypothesis).
---  Eliminated hypothesis H34 (true-hypothesis).
---  Eliminated hypothesis H27 (true-hypothesis).
---  Eliminated hypothesis H28 (true-hypothesis).
---  Eliminated hypothesis H20 (true-hypothesis).
---  Eliminated hypothesis H30 (true-hypothesis).
---  Eliminated hypothesis H21 (true-hypothesis).
---  Eliminated hypothesis H31 (true-hypothesis).
---  Eliminated hypothesis H35 (true-hypothesis).
%%%  Simplified H29 further (given H1), to give:
     %%%  H29:  element(fld_bytes(input_packet), [1]) = 0
---  Eliminated hypothesis H25 (duplicate of H23).
---  Eliminated hypothesis H26 (duplicate of H24).
---  Eliminated hypothesis H18 (redundant, given H1).
---  Eliminated hypothesis H19 (redundant, given H2).
---  Eliminated hypothesis H23 (redundant, given H1).
---  Eliminated hypothesis H24 (redundant, given H2).
***  Proved C1:  element(fld_bytes(input_packet), [2]) * 256 + element(
          fld_bytes(input_packet), [3]) >= 0
     using hypothesis H17.
***  Proved C2:  element(fld_bytes(input_packet), [2]) * 256 + element(
          fld_bytes(input_packet), [3]) <= 2147483647
     using hypothesis H17.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_12.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H19 on reading formula in, to give:
     %%%  H19:  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)
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H27 has been replaced by "true".  (It is already present, as 
          H25).
---  Hypothesis H28 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H30 has been replaced by "true".  (It is already present, as H1)
          .
---  Hypothesis H46 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H47 has been replaced by "true".  (It is already present, as 
          H45).
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified C3 on reading formula in, to give:
     %%%  C3:  element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified C4 on reading formula in, to give:
     %%%  C4:  element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified C5 on reading formula in, to give:
     %%%  C5:  byte + 3 >= dns_types__packet_bytes_range__first
%%%  Simplified C6 on reading formula in, to give:
     %%%  C6:  byte + 3 <= dns_types__packet_bytes_range__last
%%%  Simplified C7 on reading formula in, to give:
     %%%  C7:  byte + 3 >= dns_types__packet_bytes_range__base__first
%%%  Simplified C8 on reading formula in, to give:
     %%%  C8:  byte + 3 <= dns_types__packet_bytes_range__base__last
%%%  Simplified C9 on reading formula in, to give:
     %%%  C9:  element(fld_bytes(input_packet), [byte + 2]) * 256 >= 
          integer__base__first
%%%  Simplified C10 on reading formula in, to give:
     %%%  C10:  element(fld_bytes(input_packet), [byte + 2]) * 256 <= 
          integer__base__last
%%%  Simplified C11 on reading formula in, to give:
     %%%  C11:  element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%%  Simplified C12 on reading formula in, to give:
     %%%  C12:  element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%%  Simplified C13 on reading formula in, to give:
     %%%  C13:  byte + 2 >= dns_types__packet_bytes_range__first
%%%  Simplified C14 on reading formula in, to give:
     %%%  C14:  byte + 2 <= dns_types__packet_bytes_range__last
%%%  Simplified C15 on reading formula in, to give:
     %%%  C15:  byte + 2 >= dns_types__packet_bytes_range__base__first
%%%  Simplified C16 on reading formula in, to give:
     %%%  C16:  byte + 2 <= dns_types__packet_bytes_range__base__last
***  Proved C5:  byte + 3 >= dns_types__packet_bytes_range__first
     using hypothesis H3.
***  Proved C13:  byte + 2 >= dns_types__packet_bytes_range__first
     using hypothesis H3.
-S-  Applied substitution rule get_query_na_rules(17).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H32:  i >= - 1
<S>  New C1:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= 0
<S>  New C3:  element(fld_bytes(input_packet), [byte + 3]) >= 0
<S>  New C11:  element(fld_bytes(input_packet), [byte + 2]) >= 0
-S-  Applied substitution rule get_query_na_rules(18).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H33:  i <= 2147483646
<S>  New C2:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S>  New C4:  element(fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S>  New C12:  element(fld_bytes(input_packet), [byte + 2]) <= 2147483647
-S-  Applied substitution rule get_query_na_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H19:  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 H29:  byte <= 8180
<S>  New H35:  byte <= 8179
<S>  New H36:  byte + 1 <= input_bytes - 5 -> byte + 1 >= 
          dns_types__packet_bytes_range__first and byte <= 8179
<S>  New C6:  byte <= 8177
<S>  New C14:  byte <= 8178
-S-  Applied substitution rule get_query_na_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New C7:  byte >= - 2147483651
<S>  New C15:  byte >= - 2147483650
-S-  Applied substitution rule get_query_na_rules(30).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New C8:  byte <= 2147483644
<S>  New C16:  byte <= 2147483645
-S-  Applied substitution rule get_query_na_rules(9).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New C9:  element(fld_bytes(input_packet), [byte + 2]) * 256 >= - 2147483648
-S-  Applied substitution rule get_query_na_rules(10).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New C10:  element(fld_bytes(input_packet), [byte + 2]) * 256 <= 2147483647
***  Proved C6:  byte <= 8177
     using hypotheses H4 & H23.
***  Proved C14:  byte <= 8178
     using hypotheses H4 & H23.
***  Proved C8:  byte <= 2147483644
     using hypothesis H29.
***  Proved C16:  byte <= 2147483645
     using hypothesis H29.
>>>  Restructured hypothesis H43 into:
     >>>  H43:  input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
          byte + 1]) = 0 or rr_type__wirestringtypeindex__last <= i + 1
-S-  Applied substitution rule get_query_na_rules(1).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H22:  input_bytes >= 13
-S-  Applied substitution rule get_query_na_rules(7).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H37:  input_bytes >= - 2147483643
<S>  New H41:  byte >= - 2147483649
-S-  Applied substitution rule get_query_na_rules(8).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H38:  input_bytes <= 2147483652
<S>  New H42:  byte <= 2147483646
-S-  Applied substitution rule get_query_na_rules(12).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H24:  element(fld_bytes(input_packet), [byte]) >= 0
<S>  New H44:  true
-S-  Applied substitution rule get_query_na_rules(13).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H25:  element(fld_bytes(input_packet), [byte]) <= 255
<S>  New H45:  true
-S-  Applied substitution rule get_query_na_rules(22).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H20:  input_bytes >= 0
-S-  Applied substitution rule get_query_na_rules(23).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H21:  input_bytes <= 8192
-S-  Applied substitution rule get_query_na_rules(24).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__first by:
          - 2147483648.
<S>  New H39:  input_bytes >= - 2147483643
-S-  Applied substitution rule get_query_na_rules(25).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__last by:
          2147483647.
<S>  New H40:  input_bytes <= 2147483652
-S-  Applied substitution rule get_query_na_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H3:  byte >= 1
<S>  New H19:  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 H34:  byte >= 0
<S>  New H36:  byte + 1 <= input_bytes - 5 -> byte >= 0 and byte <= 8179
-S-  Applied substitution rule get_query_na_rules(33).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H19:  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-  Applied substitution rule get_query_na_rules(34).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H19:  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-  Applied substitution rule get_query_na_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H5:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H11:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H13:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H15:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H17:  fld_arcount(fld_header(input_packet)) >= 0
-S-  Applied substitution rule get_query_na_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H6:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H12:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H14:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H16:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H18:  fld_arcount(fld_header(input_packet)) <= 65535
-S-  Applied substitution rule get_query_na_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H7:  dns_types__query <= fld_opcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H8:  fld_opcode(fld_header(input_packet)) <= dns_types__status
-S-  Applied substitution rule get_query_na_rules(72).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H9:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(73).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H10:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S-  Applied substitution rule get_query_na_rules(196).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H1:  i >= 1
<S>  New H48:  i >= 0
-S-  Applied substitution rule get_query_na_rules(197).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H2:  i < 129
<S>  New H31:  i <= 129
<S>  New H43:  input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
          byte + 1]) = 0 or 128 <= i
<S>  New H49:  i <= 128
***  Proved C3:  element(fld_bytes(input_packet), [byte + 3]) >= 0
     using hypotheses H3, H4, H19 & H23.
***  Proved C11:  element(fld_bytes(input_packet), [byte + 2]) >= 0
     using hypotheses H3, H4, H19 & H23.
***  Proved C4:  element(fld_bytes(input_packet), [byte + 3]) <= 2147483647
     using hypotheses H3, H4, H19 & H23.
***  Proved C12:  element(fld_bytes(input_packet), [byte + 2]) <= 2147483647
     using hypotheses H3, H4, H19 & H23.
***  Proved C7:  byte >= - 2147483651
     using hypothesis H41.
***  Proved C15:  byte >= - 2147483650
     using hypothesis H41.
***  Proved C9:  element(fld_bytes(input_packet), [byte + 2]) * 256 >= - 
          2147483648
     using hypotheses H3, H4, H19 & H23.
***  Proved C10:  element(fld_bytes(input_packet), [byte + 2]) * 256 <= 
          2147483647
     using hypotheses H3, H4, H19 & H23.
---  Eliminated hypothesis H26 (true-hypothesis).
---  Eliminated hypothesis H27 (true-hypothesis).
---  Eliminated hypothesis H28 (true-hypothesis).
---  Eliminated hypothesis H30 (true-hypothesis).
---  Eliminated hypothesis H46 (true-hypothesis).
---  Eliminated hypothesis H47 (true-hypothesis).
---  Eliminated hypothesis H44 (true-hypothesis).
---  Eliminated hypothesis H45 (true-hypothesis).
---  Eliminated hypothesis H39 (duplicate of H37).
---  Eliminated hypothesis H40 (duplicate of H38).
---  Eliminated hypothesis H49 (duplicate of H2).
---  Eliminated hypothesis H20 (redundant, given H22).
---  Eliminated hypothesis H21 (redundant, given H23).
---  Eliminated hypothesis H29 (redundant, given H35).
---  Eliminated hypothesis H31 (redundant, given H2).
---  Eliminated hypothesis H32 (redundant, given H1).
---  Eliminated hypothesis H33 (redundant, given H2).
---  Eliminated hypothesis H34 (redundant, given H3).
---  Eliminated hypothesis H35 (redundant, given H4 & H23).
---  Eliminated hypothesis H37 (redundant, given H22).
---  Eliminated hypothesis H38 (redundant, given H23).
---  Eliminated hypothesis H41 (redundant, given H3).
---  Eliminated hypothesis H42 (redundant, given H4 & H23).
---  Eliminated hypothesis H48 (redundant, given H1).
***  Proved C1:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= 0
     using hypotheses H3, H4, H19 & H23.
***  Proved C2:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= 2147483647
     using hypotheses H3, H4, H19 & H23.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_13.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  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 H22 on reading formula in, to give:
     %%%  H22:  dns_types__packet_bytes_range__first <= input_bytes - 5 -> 
          dns_types__packet_bytes_range__first <= 
          dns_types__packet_bytes_range__last
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H31).
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  true
***  Proved C5:  dns_types__packet_bytes_range__first + 4 >= 
          dns_types__packet_bytes_range__first
***  Proved C7:  dns_types__packet_bytes_range__first + 4 >= 
          dns_types__packet_bytes_range__base__first
     using hypothesis H42.
***  Proved C13:  dns_types__packet_bytes_range__first + 3 >= 
          dns_types__packet_bytes_range__first
***  Proved C15:  dns_types__packet_bytes_range__first + 3 >= 
          dns_types__packet_bytes_range__base__first
     using hypothesis H42.
-S-  Applied substitution rule get_query_na_rules(17).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H36:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 2]) >= 0
<S>  New H38:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 2]) >= 0
<S>  New H46:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 1]) >= 0
<S>  New C1:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 4]) >= 0
<S>  New C3:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 4]) >= 0
<S>  New C11:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) >= 0
-S-  Applied substitution rule get_query_na_rules(18).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H37:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 2]) <= 
          2147483647
<S>  New H39:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 2]) <= 2147483647
<S>  New H47:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 1]) <= 2147483647
<S>  New C2:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 4]) <= 
          2147483647
<S>  New C4:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 4]) <= 2147483647
<S>  New C12:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) <= 2147483647
-S-  Applied substitution rule get_query_na_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H17:  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 H22:  dns_types__packet_bytes_range__first <= input_bytes - 5 -> 
          dns_types__packet_bytes_range__first <= 8180
<S>  New H41:  dns_types__packet_bytes_range__first <= 8178
<S>  New H49:  dns_types__packet_bytes_range__first <= 8179
<S>  New C6:  dns_types__packet_bytes_range__first <= 8176
<S>  New C14:  dns_types__packet_bytes_range__first <= 8177
-S-  Applied substitution rule get_query_na_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H27:  1 >= integer__first
<S>  New H28:  1 <= integer__last
<S>  New H29:  not (6 <= input_bytes and element(fld_bytes(input_packet), [1]) 
          <> 0 and rr_type__wirestringtypeindex__first < 
          rr_type__wirestringtypeindex__last)
<S>  New H40:  true
<S>  New H42:  3 >= dns_types__packet_bytes_range__base__first
<S>  New H43:  3 <= dns_types__packet_bytes_range__base__last
<S>  New H44:  element(fld_bytes(input_packet), [2]) * 256 >= 
          integer__base__first
<S>  New H45:  element(fld_bytes(input_packet), [2]) * 256 <= 
          integer__base__last
<S>  New H48:  true
<S>  New H50:  2 >= dns_types__packet_bytes_range__base__first
<S>  New H51:  2 <= dns_types__packet_bytes_range__base__last
<S>  New H36:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) >= 0
<S>  New H38:  element(fld_bytes(input_packet), [3]) >= 0
<S>  New H46:  element(fld_bytes(input_packet), [2]) >= 0
<S>  New H37:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) <= 2147483647
<S>  New H39:  element(fld_bytes(input_packet), [3]) <= 2147483647
<S>  New H47:  element(fld_bytes(input_packet), [2]) <= 2147483647
<S>  New H17:  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 H22:  true
<S>  New H41:  true
<S>  New H49:  true
<S>  New C8:  5 <= dns_types__packet_bytes_range__base__last
<S>  New C9:  element(fld_bytes(input_packet), [4]) * 256 >= 
          integer__base__first
<S>  New C10:  element(fld_bytes(input_packet), [4]) * 256 <= 
          integer__base__last
<S>  New C16:  4 <= dns_types__packet_bytes_range__base__last
<S>  New C1:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) >= 0
<S>  New C3:  element(fld_bytes(input_packet), [5]) >= 0
<S>  New C11:  element(fld_bytes(input_packet), [4]) >= 0
<S>  New C2:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) <= 2147483647
<S>  New C4:  element(fld_bytes(input_packet), [5]) <= 2147483647
<S>  New C12:  element(fld_bytes(input_packet), [4]) <= 2147483647
<S>  New C6:  true
<S>  New C14:  true
-S-  Applied substitution rule get_query_na_rules(30).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H43:  true
<S>  New H51:  true
<S>  New C8:  true
<S>  New C16:  true
-S-  Applied substitution rule get_query_na_rules(9).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H44:  element(fld_bytes(input_packet), [2]) * 256 >= - 2147483648
<S>  New C9:  element(fld_bytes(input_packet), [4]) * 256 >= - 2147483648
-S-  Applied substitution rule get_query_na_rules(10).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H45:  element(fld_bytes(input_packet), [2]) * 256 <= 2147483647
<S>  New C10:  element(fld_bytes(input_packet), [4]) * 256 <= 2147483647
***  Proved C6:  true
***  Proved C14:  true
***  Proved C8:  true
***  Proved C16:  true
>>>  Restructured hypothesis H29 into:
     >>>  H29:  input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or 
          rr_type__wirestringtypeindex__last <= 
          rr_type__wirestringtypeindex__first
-S-  Applied substitution rule get_query_na_rules(1).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H1:  input_bytes >= 13
-S-  Applied substitution rule get_query_na_rules(7).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H23:  input_bytes >= - 2147483643
<S>  New H27:  true
-S-  Applied substitution rule get_query_na_rules(8).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H24:  input_bytes <= 2147483652
<S>  New H28:  true
-S-  Applied substitution rule get_query_na_rules(12).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H20:  true
<S>  New H30:  true
-S-  Applied substitution rule get_query_na_rules(13).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H21:  true
<S>  New H31:  true
-S-  Applied substitution rule get_query_na_rules(22).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H18:  input_bytes >= 0
-S-  Applied substitution rule get_query_na_rules(23).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H19:  input_bytes <= 8192
-S-  Applied substitution rule get_query_na_rules(24).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__first by:
          - 2147483648.
<S>  New H25:  input_bytes >= - 2147483643
-S-  Applied substitution rule get_query_na_rules(25).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__last by:
          2147483647.
<S>  New H26:  input_bytes <= 2147483652
-S-  Applied substitution rule get_query_na_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H42:  true
<S>  New H50:  true
-S-  Applied substitution rule get_query_na_rules(33).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H17:  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-  Applied substitution rule get_query_na_rules(34).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H17:  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-  Applied substitution rule get_query_na_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H3:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H9:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H11:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H13:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H15:  fld_arcount(fld_header(input_packet)) >= 0
-S-  Applied substitution rule get_query_na_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H4:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H10:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H12:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H14:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H16:  fld_arcount(fld_header(input_packet)) <= 65535
-S-  Applied substitution rule get_query_na_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H5:  dns_types__query <= fld_opcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H6:  fld_opcode(fld_header(input_packet)) <= dns_types__status
-S-  Applied substitution rule get_query_na_rules(72).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H7:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(73).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H8:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S-  Applied substitution rule get_query_na_rules(196).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H29:  input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or 
          rr_type__wirestringtypeindex__last <= 1
<S>  New H35:  1 <= rr_type__wirestringtypeindex__last
-S-  Applied substitution rule get_query_na_rules(197).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H29:  input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0
<S>  New H35:  true
***  Proved C3:  element(fld_bytes(input_packet), [5]) >= 0
     using hypothesis H17.
***  Proved C11:  element(fld_bytes(input_packet), [4]) >= 0
     using hypothesis H17.
***  Proved C4:  element(fld_bytes(input_packet), [5]) <= 2147483647
     using hypothesis H17.
***  Proved C12:  element(fld_bytes(input_packet), [4]) <= 2147483647
     using hypothesis H17.
***  Proved C9:  element(fld_bytes(input_packet), [4]) * 256 >= - 2147483648
     using hypothesis H17.
***  Proved C10:  element(fld_bytes(input_packet), [4]) * 256 <= 2147483647
     using hypothesis H17.
---  Eliminated hypothesis H22 (true-hypothesis).
---  Eliminated hypothesis H32 (true-hypothesis).
---  Eliminated hypothesis H33 (true-hypothesis).
---  Eliminated hypothesis H34 (true-hypothesis).
---  Eliminated hypothesis H40 (true-hypothesis).
---  Eliminated hypothesis H41 (true-hypothesis).
---  Eliminated hypothesis H43 (true-hypothesis).
---  Eliminated hypothesis H48 (true-hypothesis).
---  Eliminated hypothesis H49 (true-hypothesis).
---  Eliminated hypothesis H51 (true-hypothesis).
---  Eliminated hypothesis H27 (true-hypothesis).
---  Eliminated hypothesis H28 (true-hypothesis).
---  Eliminated hypothesis H20 (true-hypothesis).
---  Eliminated hypothesis H30 (true-hypothesis).
---  Eliminated hypothesis H21 (true-hypothesis).
---  Eliminated hypothesis H31 (true-hypothesis).
---  Eliminated hypothesis H42 (true-hypothesis).
---  Eliminated hypothesis H50 (true-hypothesis).
---  Eliminated hypothesis H35 (true-hypothesis).
%%%  Simplified H29 further (given H1), to give:
     %%%  H29:  element(fld_bytes(input_packet), [1]) = 0
---  Eliminated hypothesis H25 (duplicate of H23).
---  Eliminated hypothesis H26 (duplicate of H24).
---  Eliminated hypothesis H18 (redundant, given H1).
---  Eliminated hypothesis H19 (redundant, given H2).
---  Eliminated hypothesis H23 (redundant, given H1).
---  Eliminated hypothesis H24 (redundant, given H2).
---  Eliminated hypothesis H44 (redundant, given H46).
---  Eliminated hypothesis H47 (redundant, given H45).
***  Proved C1:  element(fld_bytes(input_packet), [4]) * 256 + element(
          fld_bytes(input_packet), [5]) >= 0
     using hypothesis H17.
***  Proved C2:  element(fld_bytes(input_packet), [4]) * 256 + element(
          fld_bytes(input_packet), [5]) <= 2147483647
     using hypothesis H17.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_14.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H19 on reading formula in, to give:
     %%%  H19:  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)
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H27 has been replaced by "true".  (It is already present, as 
          H25).
---  Hypothesis H28 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H30 has been replaced by "true".  (It is already present, as H1)
          .
---  Hypothesis H46 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H47 has been replaced by "true".  (It is already present, as 
          H45).
%%%  Simplified H50 on reading formula in, to give:
     %%%  H50:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H51 on reading formula in, to give:
     %%%  H51:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H53 on reading formula in, to give:
     %%%  H53:  element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  byte + 3 >= dns_types__packet_bytes_range__first
%%%  Simplified H55 on reading formula in, to give:
     %%%  H55:  byte + 3 <= dns_types__packet_bytes_range__last
%%%  Simplified H56 on reading formula in, to give:
     %%%  H56:  byte + 3 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H57 on reading formula in, to give:
     %%%  H57:  byte + 3 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H58 on reading formula in, to give:
     %%%  H58:  element(fld_bytes(input_packet), [byte + 2]) * 256 >= 
          integer__base__first
%%%  Simplified H59 on reading formula in, to give:
     %%%  H59:  element(fld_bytes(input_packet), [byte + 2]) * 256 <= 
          integer__base__last
%%%  Simplified H60 on reading formula in, to give:
     %%%  H60:  element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%%  Simplified H61 on reading formula in, to give:
     %%%  H61:  element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%%  Simplified H62 on reading formula in, to give:
     %%%  H62:  byte + 2 >= dns_types__packet_bytes_range__first
%%%  Simplified H63 on reading formula in, to give:
     %%%  H63:  byte + 2 <= dns_types__packet_bytes_range__last
%%%  Simplified H64 on reading formula in, to give:
     %%%  H64:  byte + 2 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H65 on reading formula in, to give:
     %%%  H65:  byte + 2 <= dns_types__packet_bytes_range__base__last
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified C3 on reading formula in, to give:
     %%%  C3:  element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified C4 on reading formula in, to give:
     %%%  C4:  element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified C5 on reading formula in, to give:
     %%%  C5:  byte + 5 >= dns_types__packet_bytes_range__first
%%%  Simplified C6 on reading formula in, to give:
     %%%  C6:  byte + 5 <= dns_types__packet_bytes_range__last
%%%  Simplified C7 on reading formula in, to give:
     %%%  C7:  byte + 5 >= dns_types__packet_bytes_range__base__first
%%%  Simplified C8 on reading formula in, to give:
     %%%  C8:  byte + 5 <= dns_types__packet_bytes_range__base__last
%%%  Simplified C9 on reading formula in, to give:
     %%%  C9:  element(fld_bytes(input_packet), [byte + 4]) * 256 >= 
          integer__base__first
%%%  Simplified C10 on reading formula in, to give:
     %%%  C10:  element(fld_bytes(input_packet), [byte + 4]) * 256 <= 
          integer__base__last
%%%  Simplified C11 on reading formula in, to give:
     %%%  C11:  element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%%  Simplified C12 on reading formula in, to give:
     %%%  C12:  element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%%  Simplified C13 on reading formula in, to give:
     %%%  C13:  byte + 4 >= dns_types__packet_bytes_range__first
%%%  Simplified C14 on reading formula in, to give:
     %%%  C14:  byte + 4 <= dns_types__packet_bytes_range__last
%%%  Simplified C15 on reading formula in, to give:
     %%%  C15:  byte + 4 >= dns_types__packet_bytes_range__base__first
%%%  Simplified C16 on reading formula in, to give:
     %%%  C16:  byte + 4 <= dns_types__packet_bytes_range__base__last
***  Proved C5:  byte + 5 >= dns_types__packet_bytes_range__first
     using hypothesis H3.
***  Proved C7:  byte + 5 >= dns_types__packet_bytes_range__base__first
     using hypothesis H56.
***  Proved C13:  byte + 4 >= dns_types__packet_bytes_range__first
     using hypothesis H3.
***  Proved C15:  byte + 4 >= dns_types__packet_bytes_range__base__first
     using hypothesis H56.
-S-  Applied substitution rule get_query_na_rules(17).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H32:  i >= - 1
<S>  New H50:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= 0
<S>  New H52:  element(fld_bytes(input_packet), [byte + 3]) >= 0
<S>  New H60:  element(fld_bytes(input_packet), [byte + 2]) >= 0
<S>  New C1:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= 0
<S>  New C3:  element(fld_bytes(input_packet), [byte + 5]) >= 0
<S>  New C11:  element(fld_bytes(input_packet), [byte + 4]) >= 0
-S-  Applied substitution rule get_query_na_rules(18).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H33:  i <= 2147483646
<S>  New H51:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S>  New H53:  element(fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S>  New H61:  element(fld_bytes(input_packet), [byte + 2]) <= 2147483647
<S>  New C2:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S>  New C4:  element(fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S>  New C12:  element(fld_bytes(input_packet), [byte + 4]) <= 2147483647
-S-  Applied substitution rule get_query_na_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H19:  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 H29:  byte <= 8180
<S>  New H35:  byte <= 8179
<S>  New H36:  byte + 1 <= input_bytes - 5 -> byte + 1 >= 
          dns_types__packet_bytes_range__first and byte <= 8179
<S>  New H55:  byte <= 8177
<S>  New H63:  byte <= 8178
<S>  New C6:  byte <= 8175
<S>  New C14:  byte <= 8176
-S-  Applied substitution rule get_query_na_rules(30).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H57:  byte <= 2147483644
<S>  New H65:  byte <= 2147483645
<S>  New C8:  byte <= 2147483642
<S>  New C16:  byte <= 2147483643
-S-  Applied substitution rule get_query_na_rules(9).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H58:  element(fld_bytes(input_packet), [byte + 2]) * 256 >= - 
          2147483648
<S>  New C9:  element(fld_bytes(input_packet), [byte + 4]) * 256 >= - 2147483648
-S-  Applied substitution rule get_query_na_rules(10).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H59:  element(fld_bytes(input_packet), [byte + 2]) * 256 <= 2147483647
<S>  New C10:  element(fld_bytes(input_packet), [byte + 4]) * 256 <= 2147483647
***  Proved C6:  byte <= 8175
     using hypotheses H4 & H23.
***  Proved C14:  byte <= 8176
     using hypotheses H4 & H23.
***  Proved C8:  byte <= 2147483642
     using hypothesis H29.
***  Proved C16:  byte <= 2147483643
     using hypothesis H29.
>>>  Restructured hypothesis H43 into:
     >>>  H43:  input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
          byte + 1]) = 0 or rr_type__wirestringtypeindex__last <= i + 1
-S-  Applied substitution rule get_query_na_rules(1).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H22:  input_bytes >= 13
-S-  Applied substitution rule get_query_na_rules(7).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H37:  input_bytes >= - 2147483643
<S>  New H41:  byte >= - 2147483649
-S-  Applied substitution rule get_query_na_rules(8).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H38:  input_bytes <= 2147483652
<S>  New H42:  byte <= 2147483646
-S-  Applied substitution rule get_query_na_rules(12).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H24:  element(fld_bytes(input_packet), [byte]) >= 0
<S>  New H44:  true
-S-  Applied substitution rule get_query_na_rules(13).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H25:  element(fld_bytes(input_packet), [byte]) <= 255
<S>  New H45:  true
-S-  Applied substitution rule get_query_na_rules(22).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H20:  input_bytes >= 0
-S-  Applied substitution rule get_query_na_rules(23).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H21:  input_bytes <= 8192
-S-  Applied substitution rule get_query_na_rules(24).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__first by:
          - 2147483648.
<S>  New H39:  input_bytes >= - 2147483643
-S-  Applied substitution rule get_query_na_rules(25).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__last by:
          2147483647.
<S>  New H40:  input_bytes <= 2147483652
-S-  Applied substitution rule get_query_na_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H3:  byte >= 1
<S>  New H19:  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 H34:  byte >= 0
<S>  New H36:  byte + 1 <= input_bytes - 5 -> byte >= 0 and byte <= 8179
<S>  New H54:  byte >= - 2
<S>  New H62:  byte >= - 1
-S-  Applied substitution rule get_query_na_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H56:  byte >= - 2147483651
<S>  New H64:  byte >= - 2147483650
-S-  Applied substitution rule get_query_na_rules(33).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H19:  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-  Applied substitution rule get_query_na_rules(34).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H19:  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-  Applied substitution rule get_query_na_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H5:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H11:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H13:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H15:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H17:  fld_arcount(fld_header(input_packet)) >= 0
-S-  Applied substitution rule get_query_na_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H6:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H12:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H14:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H16:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H18:  fld_arcount(fld_header(input_packet)) <= 65535
-S-  Applied substitution rule get_query_na_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H7:  dns_types__query <= fld_opcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H8:  fld_opcode(fld_header(input_packet)) <= dns_types__status
-S-  Applied substitution rule get_query_na_rules(72).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H9:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(73).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H10:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S-  Applied substitution rule get_query_na_rules(196).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H1:  i >= 1
<S>  New H48:  i >= 0
-S-  Applied substitution rule get_query_na_rules(197).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H2:  i < 129
<S>  New H31:  i <= 129
<S>  New H43:  input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
          byte + 1]) = 0 or 128 <= i
<S>  New H49:  i <= 128
***  Proved C3:  element(fld_bytes(input_packet), [byte + 5]) >= 0
     using hypotheses H3, H4, H19 & H23.
***  Proved C11:  element(fld_bytes(input_packet), [byte + 4]) >= 0
     using hypotheses H3, H4, H19 & H23.
***  Proved C4:  element(fld_bytes(input_packet), [byte + 5]) <= 2147483647
     using hypotheses H3, H4, H19 & H23.
***  Proved C12:  element(fld_bytes(input_packet), [byte + 4]) <= 2147483647
     using hypotheses H3, H4, H19 & H23.
***  Proved C9:  element(fld_bytes(input_packet), [byte + 4]) * 256 >= - 
          2147483648
     using hypotheses H3, H4, H19 & H23.
***  Proved C10:  element(fld_bytes(input_packet), [byte + 4]) * 256 <= 
          2147483647
     using hypotheses H3, H4, H19 & H23.
---  Eliminated hypothesis H26 (true-hypothesis).
---  Eliminated hypothesis H27 (true-hypothesis).
---  Eliminated hypothesis H28 (true-hypothesis).
---  Eliminated hypothesis H30 (true-hypothesis).
---  Eliminated hypothesis H46 (true-hypothesis).
---  Eliminated hypothesis H47 (true-hypothesis).
---  Eliminated hypothesis H44 (true-hypothesis).
---  Eliminated hypothesis H45 (true-hypothesis).
---  Eliminated hypothesis H39 (duplicate of H37).
---  Eliminated hypothesis H40 (duplicate of H38).
---  Eliminated hypothesis H49 (duplicate of H2).
---  Eliminated hypothesis H20 (redundant, given H22).
---  Eliminated hypothesis H21 (redundant, given H23).
---  Eliminated hypothesis H29 (redundant, given H35).
---  Eliminated hypothesis H31 (redundant, given H2).
---  Eliminated hypothesis H32 (redundant, given H1).
---  Eliminated hypothesis H33 (redundant, given H2).
---  Eliminated hypothesis H34 (redundant, given H3).
---  Eliminated hypothesis H35 (redundant, given H55).
---  Eliminated hypothesis H37 (redundant, given H22).
---  Eliminated hypothesis H38 (redundant, given H23).
---  Eliminated hypothesis H41 (redundant, given H3).
---  Eliminated hypothesis H42 (redundant, given H55).
---  Eliminated hypothesis H48 (redundant, given H1).
---  Eliminated hypothesis H54 (redundant, given H3).
---  Eliminated hypothesis H55 (redundant, given H4 & H23).
---  Eliminated hypothesis H56 (redundant, given H3).
---  Eliminated hypothesis H57 (redundant, given H63).
---  Eliminated hypothesis H58 (redundant, given H60).
---  Eliminated hypothesis H61 (redundant, given H59).
---  Eliminated hypothesis H62 (redundant, given H3).
---  Eliminated hypothesis H63 (redundant, given H4 & H23).
---  Eliminated hypothesis H64 (redundant, given H3).
---  Eliminated hypothesis H65 (redundant, given H4 & H23).
***  Proved C1:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= 0
     using hypotheses H3, H4, H19 & H23.
***  Proved C2:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= 2147483647
     using hypotheses H3, H4, H19 & H23.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_15.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  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 H22 on reading formula in, to give:
     %%%  H22:  dns_types__packet_bytes_range__first <= input_bytes - 5 -> 
          dns_types__packet_bytes_range__first <= 
          dns_types__packet_bytes_range__last
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H31).
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  true
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  dns_types__query_type__first <= to_type(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 2]))
-S-  Applied substitution rule get_query_na_rules(137).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__first by:
          dns_types__a.
<S>  New H68:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 2]) >= 
          type_to_natural(dns_types__a)
<S>  New C1:  dns_types__a <= to_type(element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 2]))
-S-  Applied substitution rule get_query_na_rules(138).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__last by:
          dns_types__unimplemented.
<S>  New H69:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 2]) <= 
          type_to_natural(dns_types__unimplemented)
<S>  New C2:  to_type(element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 2])) <= 
          dns_types__unimplemented
>>>  Restructured hypothesis H29 into:
     >>>  H29:  input_bytes - 5 < dns_types__packet_bytes_range__first or 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first]) = 0 or 
          rr_type__wirestringtypeindex__last <= 
          rr_type__wirestringtypeindex__first
-S-  Applied substitution rule get_query_na_rules(1).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H1:  input_bytes >= 13
-S-  Applied substitution rule get_query_na_rules(7).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H23:  input_bytes >= - 2147483643
<S>  New H27:  dns_types__packet_bytes_range__first >= - 2147483648
-S-  Applied substitution rule get_query_na_rules(8).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H24:  input_bytes <= 2147483652
<S>  New H28:  dns_types__packet_bytes_range__first <= 2147483647
-S-  Applied substitution rule get_query_na_rules(9).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H44:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 1]) * 256 >= - 2147483648
<S>  New H60:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) * 256 >= - 2147483648
-S-  Applied substitution rule get_query_na_rules(10).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H45:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 1]) * 256 <= 2147483647
<S>  New H61:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) * 256 <= 2147483647
-S-  Applied substitution rule get_query_na_rules(12).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H20:  true
<S>  New H30:  true
-S-  Applied substitution rule get_query_na_rules(13).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H21:  true
<S>  New H31:  true
-S-  Applied substitution rule get_query_na_rules(17).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H36:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 2]) >= 0
<S>  New H38:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 2]) >= 0
<S>  New H46:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 1]) >= 0
<S>  New H52:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 4]) >= 0
<S>  New H54:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 4]) >= 0
<S>  New H62:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) >= 0
-S-  Applied substitution rule get_query_na_rules(18).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H37:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 2]) <= 
          2147483647
<S>  New H39:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 2]) <= 2147483647
<S>  New H47:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 1]) <= 2147483647
<S>  New H53:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 4]) <= 
          2147483647
<S>  New H55:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 4]) <= 2147483647
<S>  New H63:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) <= 2147483647
-S-  Applied substitution rule get_query_na_rules(22).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H18:  input_bytes >= 0
-S-  Applied substitution rule get_query_na_rules(23).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H19:  input_bytes <= 8192
-S-  Applied substitution rule get_query_na_rules(24).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__first by:
          - 2147483648.
<S>  New H25:  input_bytes >= - 2147483643
-S-  Applied substitution rule get_query_na_rules(25).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__last by:
          2147483647.
<S>  New H26:  input_bytes <= 2147483652
-S-  Applied substitution rule get_query_na_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H17:  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 H22:  6 <= input_bytes -> 1 <= dns_types__packet_bytes_range__last
<S>  New H29:  input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or 
          rr_type__wirestringtypeindex__last <= 
          rr_type__wirestringtypeindex__first
<S>  New H40:  true
<S>  New H41:  3 <= dns_types__packet_bytes_range__last
<S>  New H42:  3 >= dns_types__packet_bytes_range__base__first
<S>  New H43:  3 <= dns_types__packet_bytes_range__base__last
<S>  New H48:  true
<S>  New H49:  2 <= dns_types__packet_bytes_range__last
<S>  New H50:  2 >= dns_types__packet_bytes_range__base__first
<S>  New H51:  2 <= dns_types__packet_bytes_range__base__last
<S>  New H56:  true
<S>  New H57:  5 <= dns_types__packet_bytes_range__last
<S>  New H58:  5 >= dns_types__packet_bytes_range__base__first
<S>  New H59:  5 <= dns_types__packet_bytes_range__base__last
<S>  New H64:  true
<S>  New H65:  4 <= dns_types__packet_bytes_range__last
<S>  New H66:  4 >= dns_types__packet_bytes_range__base__first
<S>  New H67:  4 <= dns_types__packet_bytes_range__base__last
<S>  New H68:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) >= type_to_natural(dns_types__a)
<S>  New H69:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) <= type_to_natural(dns_types__unimplemented)
<S>  New H27:  true
<S>  New H28:  true
<S>  New H44:  element(fld_bytes(input_packet), [2]) * 256 >= - 2147483648
<S>  New H60:  element(fld_bytes(input_packet), [4]) * 256 >= - 2147483648
<S>  New H45:  element(fld_bytes(input_packet), [2]) * 256 <= 2147483647
<S>  New H61:  element(fld_bytes(input_packet), [4]) * 256 <= 2147483647
<S>  New H36:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) >= 0
<S>  New H38:  element(fld_bytes(input_packet), [3]) >= 0
<S>  New H46:  element(fld_bytes(input_packet), [2]) >= 0
<S>  New H52:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) >= 0
<S>  New H54:  element(fld_bytes(input_packet), [5]) >= 0
<S>  New H62:  element(fld_bytes(input_packet), [4]) >= 0
<S>  New H37:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) <= 2147483647
<S>  New H39:  element(fld_bytes(input_packet), [3]) <= 2147483647
<S>  New H47:  element(fld_bytes(input_packet), [2]) <= 2147483647
<S>  New H53:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) <= 2147483647
<S>  New H55:  element(fld_bytes(input_packet), [5]) <= 2147483647
<S>  New H63:  element(fld_bytes(input_packet), [4]) <= 2147483647
<S>  New C1:  dns_types__a <= to_type(element(fld_bytes(input_packet), [2]) * 
          256 + element(fld_bytes(input_packet), [3]))
<S>  New C2:  to_type(element(fld_bytes(input_packet), [2]) * 256 + element(
          fld_bytes(input_packet), [3])) <= dns_types__unimplemented
-S-  Applied substitution rule get_query_na_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H17:  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 H22:  true
<S>  New H41:  true
<S>  New H49:  true
<S>  New H57:  true
<S>  New H65:  true
-S-  Applied substitution rule get_query_na_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H42:  true
<S>  New H50:  true
<S>  New H58:  true
<S>  New H66:  true
-S-  Applied substitution rule get_query_na_rules(30).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H43:  true
<S>  New H51:  true
<S>  New H59:  true
<S>  New H67:  true
-S-  Applied substitution rule get_query_na_rules(33).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H17:  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-  Applied substitution rule get_query_na_rules(34).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H17:  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-  Applied substitution rule get_query_na_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H3:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H9:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H11:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H13:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H15:  fld_arcount(fld_header(input_packet)) >= 0
-S-  Applied substitution rule get_query_na_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H4:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H10:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H12:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H14:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H16:  fld_arcount(fld_header(input_packet)) <= 65535
-S-  Applied substitution rule get_query_na_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H5:  dns_types__query <= fld_opcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H6:  fld_opcode(fld_header(input_packet)) <= dns_types__status
-S-  Applied substitution rule get_query_na_rules(72).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H7:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(73).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H8:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S-  Applied substitution rule get_query_na_rules(196).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H35:  1 <= rr_type__wirestringtypeindex__last
<S>  New H29:  input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or 
          rr_type__wirestringtypeindex__last <= 1
-S-  Applied substitution rule get_query_na_rules(197).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H35:  true
<S>  New H29:  input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0
---  Eliminated hypothesis H32 (true-hypothesis).
---  Eliminated hypothesis H33 (true-hypothesis).
---  Eliminated hypothesis H34 (true-hypothesis).
---  Eliminated hypothesis H20 (true-hypothesis).
---  Eliminated hypothesis H30 (true-hypothesis).
---  Eliminated hypothesis H21 (true-hypothesis).
---  Eliminated hypothesis H31 (true-hypothesis).
---  Eliminated hypothesis H40 (true-hypothesis).
---  Eliminated hypothesis H48 (true-hypothesis).
---  Eliminated hypothesis H56 (true-hypothesis).
---  Eliminated hypothesis H64 (true-hypothesis).
---  Eliminated hypothesis H27 (true-hypothesis).
---  Eliminated hypothesis H28 (true-hypothesis).
---  Eliminated hypothesis H22 (true-hypothesis).
---  Eliminated hypothesis H41 (true-hypothesis).
---  Eliminated hypothesis H49 (true-hypothesis).
---  Eliminated hypothesis H57 (true-hypothesis).
---  Eliminated hypothesis H65 (true-hypothesis).
---  Eliminated hypothesis H42 (true-hypothesis).
---  Eliminated hypothesis H50 (true-hypothesis).
---  Eliminated hypothesis H58 (true-hypothesis).
---  Eliminated hypothesis H66 (true-hypothesis).
---  Eliminated hypothesis H43 (true-hypothesis).
---  Eliminated hypothesis H51 (true-hypothesis).
---  Eliminated hypothesis H59 (true-hypothesis).
---  Eliminated hypothesis H67 (true-hypothesis).
---  Eliminated hypothesis H35 (true-hypothesis).
%%%  Simplified H29 further (given H1), to give:
     %%%  H29:  element(fld_bytes(input_packet), [1]) = 0
---  Eliminated hypothesis H25 (duplicate of H23).
---  Eliminated hypothesis H26 (duplicate of H24).
---  Eliminated hypothesis H18 (redundant, given H1).
---  Eliminated hypothesis H19 (redundant, given H2).
---  Eliminated hypothesis H23 (redundant, given H1).
---  Eliminated hypothesis H24 (redundant, given H2).
---  Eliminated hypothesis H44 (redundant, given H46).
---  Eliminated hypothesis H47 (redundant, given H45).
---  Eliminated hypothesis H60 (redundant, given H62).
---  Eliminated hypothesis H63 (redundant, given H61).
     +++  New H70:  integer__size >= 0
     +++  New H71:  character__size >= 0
     +++  New H72:  natural__size >= 0
     +++  New H73:  dns_types__packet_length_range__size >= 0
     +++  New H74:  dns_types__packet_bytes_range__size >= 0
     +++  New H75:  dns_types__dns_packet__size >= 0
     +++  New H76:  rr_type__wirestringtypeindex__size >= 0


@@@@@@@@@@  VC: procedure_get_query_name_type_class_16.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H19 on reading formula in, to give:
     %%%  H19:  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)
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H27 has been replaced by "true".  (It is already present, as 
          H25).
---  Hypothesis H28 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H30 has been replaced by "true".  (It is already present, as H1)
          .
---  Hypothesis H46 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H47 has been replaced by "true".  (It is already present, as 
          H45).
%%%  Simplified H50 on reading formula in, to give:
     %%%  H50:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H51 on reading formula in, to give:
     %%%  H51:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H53 on reading formula in, to give:
     %%%  H53:  element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  byte + 3 >= dns_types__packet_bytes_range__first
%%%  Simplified H55 on reading formula in, to give:
     %%%  H55:  byte + 3 <= dns_types__packet_bytes_range__last
%%%  Simplified H56 on reading formula in, to give:
     %%%  H56:  byte + 3 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H57 on reading formula in, to give:
     %%%  H57:  byte + 3 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H58 on reading formula in, to give:
     %%%  H58:  element(fld_bytes(input_packet), [byte + 2]) * 256 >= 
          integer__base__first
%%%  Simplified H59 on reading formula in, to give:
     %%%  H59:  element(fld_bytes(input_packet), [byte + 2]) * 256 <= 
          integer__base__last
%%%  Simplified H60 on reading formula in, to give:
     %%%  H60:  element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%%  Simplified H61 on reading formula in, to give:
     %%%  H61:  element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%%  Simplified H62 on reading formula in, to give:
     %%%  H62:  byte + 2 >= dns_types__packet_bytes_range__first
%%%  Simplified H63 on reading formula in, to give:
     %%%  H63:  byte + 2 <= dns_types__packet_bytes_range__last
%%%  Simplified H64 on reading formula in, to give:
     %%%  H64:  byte + 2 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H65 on reading formula in, to give:
     %%%  H65:  byte + 2 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H66 on reading formula in, to give:
     %%%  H66:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H67 on reading formula in, to give:
     %%%  H67:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H68 on reading formula in, to give:
     %%%  H68:  element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H69 on reading formula in, to give:
     %%%  H69:  element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  byte + 5 >= dns_types__packet_bytes_range__first
%%%  Simplified H71 on reading formula in, to give:
     %%%  H71:  byte + 5 <= dns_types__packet_bytes_range__last
%%%  Simplified H72 on reading formula in, to give:
     %%%  H72:  byte + 5 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  byte + 5 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  element(fld_bytes(input_packet), [byte + 4]) * 256 >= 
          integer__base__first
%%%  Simplified H75 on reading formula in, to give:
     %%%  H75:  element(fld_bytes(input_packet), [byte + 4]) * 256 <= 
          integer__base__last
%%%  Simplified H76 on reading formula in, to give:
     %%%  H76:  element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%%  Simplified H77 on reading formula in, to give:
     %%%  H77:  element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%%  Simplified H78 on reading formula in, to give:
     %%%  H78:  byte + 4 >= dns_types__packet_bytes_range__first
%%%  Simplified H79 on reading formula in, to give:
     %%%  H79:  byte + 4 <= dns_types__packet_bytes_range__last
%%%  Simplified H80 on reading formula in, to give:
     %%%  H80:  byte + 4 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H81 on reading formula in, to give:
     %%%  H81:  byte + 4 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H82 on reading formula in, to give:
     %%%  H82:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
          dns_types__query_type__first)
%%%  Simplified H83 on reading formula in, to give:
     %%%  H83:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
          dns_types__query_type__last)
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  dns_types__query_type__first <= to_type(element(fld_bytes(
          input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
          byte + 3]))
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [byte + 3])) <= 
          dns_types__query_type__last
-S-  Applied substitution rule get_query_na_rules(137).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__first by:
          dns_types__a.
<S>  New H82:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= type_to_natural(dns_types__a)
<S>  New C1:  dns_types__a <= to_type(element(fld_bytes(input_packet), [byte + 
          2]) * 256 + element(fld_bytes(input_packet), [byte + 3]))
-S-  Applied substitution rule get_query_na_rules(138).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__last by:
          dns_types__unimplemented.
<S>  New H83:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
          dns_types__unimplemented)
<S>  New C2:  to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [byte + 3])) <= 
          dns_types__unimplemented
>>>  Restructured hypothesis H43 into:
     >>>  H43:  input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
          byte + 1]) = 0 or rr_type__wirestringtypeindex__last <= i + 1
-S-  Applied substitution rule get_query_na_rules(1).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H22:  input_bytes >= 13
-S-  Applied substitution rule get_query_na_rules(7).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H37:  input_bytes >= - 2147483643
<S>  New H41:  byte >= - 2147483649
-S-  Applied substitution rule get_query_na_rules(8).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H38:  input_bytes <= 2147483652
<S>  New H42:  byte <= 2147483646
-S-  Applied substitution rule get_query_na_rules(9).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H58:  element(fld_bytes(input_packet), [byte + 2]) * 256 >= - 
          2147483648
<S>  New H74:  element(fld_bytes(input_packet), [byte + 4]) * 256 >= - 
          2147483648
-S-  Applied substitution rule get_query_na_rules(10).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H59:  element(fld_bytes(input_packet), [byte + 2]) * 256 <= 2147483647
<S>  New H75:  element(fld_bytes(input_packet), [byte + 4]) * 256 <= 2147483647
-S-  Applied substitution rule get_query_na_rules(12).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H24:  element(fld_bytes(input_packet), [byte]) >= 0
<S>  New H44:  true
-S-  Applied substitution rule get_query_na_rules(13).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H25:  element(fld_bytes(input_packet), [byte]) <= 255
<S>  New H45:  true
-S-  Applied substitution rule get_query_na_rules(17).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H32:  i >= - 1
<S>  New H50:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= 0
<S>  New H52:  element(fld_bytes(input_packet), [byte + 3]) >= 0
<S>  New H60:  element(fld_bytes(input_packet), [byte + 2]) >= 0
<S>  New H66:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= 0
<S>  New H68:  element(fld_bytes(input_packet), [byte + 5]) >= 0
<S>  New H76:  element(fld_bytes(input_packet), [byte + 4]) >= 0
-S-  Applied substitution rule get_query_na_rules(18).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H33:  i <= 2147483646
<S>  New H51:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S>  New H53:  element(fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S>  New H61:  element(fld_bytes(input_packet), [byte + 2]) <= 2147483647
<S>  New H67:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S>  New H69:  element(fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S>  New H77:  element(fld_bytes(input_packet), [byte + 4]) <= 2147483647
-S-  Applied substitution rule get_query_na_rules(22).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H20:  input_bytes >= 0
-S-  Applied substitution rule get_query_na_rules(23).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H21:  input_bytes <= 8192
-S-  Applied substitution rule get_query_na_rules(24).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__first by:
          - 2147483648.
<S>  New H39:  input_bytes >= - 2147483643
-S-  Applied substitution rule get_query_na_rules(25).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__last by:
          2147483647.
<S>  New H40:  input_bytes <= 2147483652
-S-  Applied substitution rule get_query_na_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H3:  byte >= 1
<S>  New H19:  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 H34:  byte >= 0
<S>  New H36:  byte + 1 <= input_bytes - 5 -> byte >= 0 and byte + 1 <= 
          dns_types__packet_bytes_range__last
<S>  New H54:  byte >= - 2
<S>  New H62:  byte >= - 1
<S>  New H70:  byte >= - 4
<S>  New H78:  byte >= - 3
-S-  Applied substitution rule get_query_na_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H29:  byte <= 8180
<S>  New H35:  byte <= 8179
<S>  New H55:  byte <= 8177
<S>  New H63:  byte <= 8178
<S>  New H71:  byte <= 8175
<S>  New H79:  byte <= 8176
<S>  New H19:  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 H36:  byte + 1 <= input_bytes - 5 -> byte >= 0 and byte <= 8179
-S-  Applied substitution rule get_query_na_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H56:  byte >= - 2147483651
<S>  New H64:  byte >= - 2147483650
<S>  New H72:  byte >= - 2147483653
<S>  New H80:  byte >= - 2147483652
-S-  Applied substitution rule get_query_na_rules(30).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H57:  byte <= 2147483644
<S>  New H65:  byte <= 2147483645
<S>  New H73:  byte <= 2147483642
<S>  New H81:  byte <= 2147483643
-S-  Applied substitution rule get_query_na_rules(33).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H19:  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-  Applied substitution rule get_query_na_rules(34).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H19:  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-  Applied substitution rule get_query_na_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H5:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H11:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H13:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H15:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H17:  fld_arcount(fld_header(input_packet)) >= 0
-S-  Applied substitution rule get_query_na_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H6:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H12:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H14:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H16:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H18:  fld_arcount(fld_header(input_packet)) <= 65535
-S-  Applied substitution rule get_query_na_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H7:  dns_types__query <= fld_opcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H8:  fld_opcode(fld_header(input_packet)) <= dns_types__status
-S-  Applied substitution rule get_query_na_rules(72).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H9:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(73).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H10:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S-  Applied substitution rule get_query_na_rules(196).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H1:  i >= 1
<S>  New H48:  i >= 0
-S-  Applied substitution rule get_query_na_rules(197).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H2:  i < 129
<S>  New H31:  i <= 129
<S>  New H43:  input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
          byte + 1]) = 0 or 128 <= i
<S>  New H49:  i <= 128
---  Eliminated hypothesis H26 (true-hypothesis).
---  Eliminated hypothesis H27 (true-hypothesis).
---  Eliminated hypothesis H28 (true-hypothesis).
---  Eliminated hypothesis H30 (true-hypothesis).
---  Eliminated hypothesis H46 (true-hypothesis).
---  Eliminated hypothesis H47 (true-hypothesis).
---  Eliminated hypothesis H44 (true-hypothesis).
---  Eliminated hypothesis H45 (true-hypothesis).
---  Eliminated hypothesis H39 (duplicate of H37).
---  Eliminated hypothesis H40 (duplicate of H38).
---  Eliminated hypothesis H49 (duplicate of H2).
---  Eliminated hypothesis H20 (redundant, given H22).
---  Eliminated hypothesis H21 (redundant, given H23).
---  Eliminated hypothesis H29 (redundant, given H35).
---  Eliminated hypothesis H31 (redundant, given H2).
---  Eliminated hypothesis H32 (redundant, given H1).
---  Eliminated hypothesis H33 (redundant, given H2).
---  Eliminated hypothesis H34 (redundant, given H3).
---  Eliminated hypothesis H35 (redundant, given H55).
---  Eliminated hypothesis H37 (redundant, given H22).
---  Eliminated hypothesis H38 (redundant, given H23).
---  Eliminated hypothesis H41 (redundant, given H3).
---  Eliminated hypothesis H42 (redundant, given H55).
---  Eliminated hypothesis H48 (redundant, given H1).
---  Eliminated hypothesis H54 (redundant, given H3).
---  Eliminated hypothesis H55 (redundant, given H71).
---  Eliminated hypothesis H56 (redundant, given H3).
---  Eliminated hypothesis H57 (redundant, given H63).
---  Eliminated hypothesis H58 (redundant, given H60).
---  Eliminated hypothesis H61 (redundant, given H59).
---  Eliminated hypothesis H62 (redundant, given H3).
---  Eliminated hypothesis H63 (redundant, given H71).
---  Eliminated hypothesis H64 (redundant, given H3).
---  Eliminated hypothesis H65 (redundant, given H71).
---  Eliminated hypothesis H70 (redundant, given H3).
---  Eliminated hypothesis H71 (redundant, given H4 & H23).
---  Eliminated hypothesis H72 (redundant, given H3).
---  Eliminated hypothesis H73 (redundant, given H79).
---  Eliminated hypothesis H74 (redundant, given H76).
---  Eliminated hypothesis H77 (redundant, given H75).
---  Eliminated hypothesis H78 (redundant, given H3).
---  Eliminated hypothesis H79 (redundant, given H4 & H23).
---  Eliminated hypothesis H80 (redundant, given H3).
---  Eliminated hypothesis H81 (redundant, given H4 & H23).
     +++  New H84:  integer__size >= 0
     +++  New H85:  character__size >= 0
     +++  New H86:  natural__size >= 0
     +++  New H87:  dns_types__packet_length_range__size >= 0
     +++  New H88:  dns_types__packet_bytes_range__size >= 0
     +++  New H89:  dns_types__dns_packet__size >= 0
     +++  New H90:  rr_type__wirestringtypeindex__size >= 0


@@@@@@@@@@  VC: procedure_get_query_name_type_class_17.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  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 H22 on reading formula in, to give:
     %%%  H22:  dns_types__packet_bytes_range__first <= input_bytes - 5 -> 
          dns_types__packet_bytes_range__first <= 
          dns_types__packet_bytes_range__last
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H31).
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  true
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  dns_types__query_type__first <= to_type(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 2]))
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  dns_types__query_type__first <= dns_types__unimplemented
-S-  Applied substitution rule get_query_na_rules(137).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__first by:
          dns_types__a.
<S>  New H68:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 2]) >= 
          type_to_natural(dns_types__a)
<S>  New H70:  dns_types__a <= to_type(element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 2]))
<S>  New C1:  true
-S-  Applied substitution rule get_query_na_rules(138).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__last by:
          dns_types__unimplemented.
<S>  New H69:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 2]) <= 
          type_to_natural(dns_types__unimplemented)
<S>  New H71:  to_type(element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 2])) <= 
          dns_types__unimplemented
<S>  New C2:  true
***  Proved C1:  true
***  Proved C2:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_18.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H19 on reading formula in, to give:
     %%%  H19:  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)
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H27 has been replaced by "true".  (It is already present, as 
          H25).
---  Hypothesis H28 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H30 has been replaced by "true".  (It is already present, as H1)
          .
---  Hypothesis H46 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H47 has been replaced by "true".  (It is already present, as 
          H45).
%%%  Simplified H50 on reading formula in, to give:
     %%%  H50:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H51 on reading formula in, to give:
     %%%  H51:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H53 on reading formula in, to give:
     %%%  H53:  element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  byte + 3 >= dns_types__packet_bytes_range__first
%%%  Simplified H55 on reading formula in, to give:
     %%%  H55:  byte + 3 <= dns_types__packet_bytes_range__last
%%%  Simplified H56 on reading formula in, to give:
     %%%  H56:  byte + 3 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H57 on reading formula in, to give:
     %%%  H57:  byte + 3 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H58 on reading formula in, to give:
     %%%  H58:  element(fld_bytes(input_packet), [byte + 2]) * 256 >= 
          integer__base__first
%%%  Simplified H59 on reading formula in, to give:
     %%%  H59:  element(fld_bytes(input_packet), [byte + 2]) * 256 <= 
          integer__base__last
%%%  Simplified H60 on reading formula in, to give:
     %%%  H60:  element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%%  Simplified H61 on reading formula in, to give:
     %%%  H61:  element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%%  Simplified H62 on reading formula in, to give:
     %%%  H62:  byte + 2 >= dns_types__packet_bytes_range__first
%%%  Simplified H63 on reading formula in, to give:
     %%%  H63:  byte + 2 <= dns_types__packet_bytes_range__last
%%%  Simplified H64 on reading formula in, to give:
     %%%  H64:  byte + 2 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H65 on reading formula in, to give:
     %%%  H65:  byte + 2 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H66 on reading formula in, to give:
     %%%  H66:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H67 on reading formula in, to give:
     %%%  H67:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H68 on reading formula in, to give:
     %%%  H68:  element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H69 on reading formula in, to give:
     %%%  H69:  element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  byte + 5 >= dns_types__packet_bytes_range__first
%%%  Simplified H71 on reading formula in, to give:
     %%%  H71:  byte + 5 <= dns_types__packet_bytes_range__last
%%%  Simplified H72 on reading formula in, to give:
     %%%  H72:  byte + 5 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  byte + 5 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  element(fld_bytes(input_packet), [byte + 4]) * 256 >= 
          integer__base__first
%%%  Simplified H75 on reading formula in, to give:
     %%%  H75:  element(fld_bytes(input_packet), [byte + 4]) * 256 <= 
          integer__base__last
%%%  Simplified H76 on reading formula in, to give:
     %%%  H76:  element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%%  Simplified H77 on reading formula in, to give:
     %%%  H77:  element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%%  Simplified H78 on reading formula in, to give:
     %%%  H78:  byte + 4 >= dns_types__packet_bytes_range__first
%%%  Simplified H79 on reading formula in, to give:
     %%%  H79:  byte + 4 <= dns_types__packet_bytes_range__last
%%%  Simplified H80 on reading formula in, to give:
     %%%  H80:  byte + 4 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H81 on reading formula in, to give:
     %%%  H81:  byte + 4 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H82 on reading formula in, to give:
     %%%  H82:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
          dns_types__query_type__first)
%%%  Simplified H83 on reading formula in, to give:
     %%%  H83:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
          dns_types__query_type__last)
%%%  Simplified H84 on reading formula in, to give:
     %%%  H84:  dns_types__query_type__first <= to_type(element(fld_bytes(
          input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
          byte + 3]))
%%%  Simplified H85 on reading formula in, to give:
     %%%  H85:  to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [byte + 3])) <= 
          dns_types__query_type__last
%%%  Simplified H86 on reading formula in, to give:
     %%%  H86:  not dns_types__query_type__valid(to_type(element(fld_bytes(
          input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
          byte + 3])))
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  dns_types__query_type__first <= dns_types__unimplemented
-S-  Applied substitution rule get_query_na_rules(137).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__first by:
          dns_types__a.
<S>  New H82:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= type_to_natural(dns_types__a)
<S>  New H84:  dns_types__a <= to_type(element(fld_bytes(input_packet), [byte + 
          2]) * 256 + element(fld_bytes(input_packet), [byte + 3]))
<S>  New C1:  true
-S-  Applied substitution rule get_query_na_rules(138).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__last by:
          dns_types__unimplemented.
<S>  New H83:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
          dns_types__unimplemented)
<S>  New H85:  to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [byte + 3])) <= 
          dns_types__unimplemented
<S>  New C2:  true
***  Proved C1:  true
***  Proved C2:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_19.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  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 H22 on reading formula in, to give:
     %%%  H22:  dns_types__packet_bytes_range__first <= input_bytes - 5 -> 
          dns_types__packet_bytes_range__first <= 
          dns_types__packet_bytes_range__last
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H31).
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  true
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  dns_types__query_type__first <= dns_types__unimplemented
-S-  Applied substitution rule get_query_na_rules(137).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__first by:
          dns_types__a.
<S>  New H68:  not (element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 2]) >= 
          type_to_natural(dns_types__a) and element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 2]) <= 
          type_to_natural(dns_types__query_type__last))
<S>  New C1:  true
-S-  Applied substitution rule get_query_na_rules(138).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__last by:
          dns_types__unimplemented.
<S>  New H68:  not (element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 2]) >= 
          type_to_natural(dns_types__a) and element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 2]) <= 
          type_to_natural(dns_types__unimplemented))
<S>  New C2:  true
***  Proved C1:  true
***  Proved C2:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_20.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H19 on reading formula in, to give:
     %%%  H19:  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)
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H27 has been replaced by "true".  (It is already present, as 
          H25).
---  Hypothesis H28 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H30 has been replaced by "true".  (It is already present, as H1)
          .
---  Hypothesis H46 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H47 has been replaced by "true".  (It is already present, as 
          H45).
%%%  Simplified H50 on reading formula in, to give:
     %%%  H50:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H51 on reading formula in, to give:
     %%%  H51:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H53 on reading formula in, to give:
     %%%  H53:  element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  byte + 3 >= dns_types__packet_bytes_range__first
%%%  Simplified H55 on reading formula in, to give:
     %%%  H55:  byte + 3 <= dns_types__packet_bytes_range__last
%%%  Simplified H56 on reading formula in, to give:
     %%%  H56:  byte + 3 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H57 on reading formula in, to give:
     %%%  H57:  byte + 3 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H58 on reading formula in, to give:
     %%%  H58:  element(fld_bytes(input_packet), [byte + 2]) * 256 >= 
          integer__base__first
%%%  Simplified H59 on reading formula in, to give:
     %%%  H59:  element(fld_bytes(input_packet), [byte + 2]) * 256 <= 
          integer__base__last
%%%  Simplified H60 on reading formula in, to give:
     %%%  H60:  element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%%  Simplified H61 on reading formula in, to give:
     %%%  H61:  element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%%  Simplified H62 on reading formula in, to give:
     %%%  H62:  byte + 2 >= dns_types__packet_bytes_range__first
%%%  Simplified H63 on reading formula in, to give:
     %%%  H63:  byte + 2 <= dns_types__packet_bytes_range__last
%%%  Simplified H64 on reading formula in, to give:
     %%%  H64:  byte + 2 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H65 on reading formula in, to give:
     %%%  H65:  byte + 2 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H66 on reading formula in, to give:
     %%%  H66:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H67 on reading formula in, to give:
     %%%  H67:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H68 on reading formula in, to give:
     %%%  H68:  element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H69 on reading formula in, to give:
     %%%  H69:  element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  byte + 5 >= dns_types__packet_bytes_range__first
%%%  Simplified H71 on reading formula in, to give:
     %%%  H71:  byte + 5 <= dns_types__packet_bytes_range__last
%%%  Simplified H72 on reading formula in, to give:
     %%%  H72:  byte + 5 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  byte + 5 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  element(fld_bytes(input_packet), [byte + 4]) * 256 >= 
          integer__base__first
%%%  Simplified H75 on reading formula in, to give:
     %%%  H75:  element(fld_bytes(input_packet), [byte + 4]) * 256 <= 
          integer__base__last
%%%  Simplified H76 on reading formula in, to give:
     %%%  H76:  element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%%  Simplified H77 on reading formula in, to give:
     %%%  H77:  element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%%  Simplified H78 on reading formula in, to give:
     %%%  H78:  byte + 4 >= dns_types__packet_bytes_range__first
%%%  Simplified H79 on reading formula in, to give:
     %%%  H79:  byte + 4 <= dns_types__packet_bytes_range__last
%%%  Simplified H80 on reading formula in, to give:
     %%%  H80:  byte + 4 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H81 on reading formula in, to give:
     %%%  H81:  byte + 4 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H82 on reading formula in, to give:
     %%%  H82:  not (element(fld_bytes(input_packet), [byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
          dns_types__query_type__first) and element(fld_bytes(input_packet), [
          byte + 2]) * 256 + element(fld_bytes(input_packet), [byte + 3]) <= 
          type_to_natural(dns_types__query_type__last))
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  dns_types__query_type__first <= dns_types__unimplemented
-S-  Applied substitution rule get_query_na_rules(137).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__first by:
          dns_types__a.
<S>  New H82:  not (element(fld_bytes(input_packet), [byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
          dns_types__a) and element(fld_bytes(input_packet), [byte + 2]) * 256 
          + element(fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
          dns_types__query_type__last))
<S>  New C1:  true
-S-  Applied substitution rule get_query_na_rules(138).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__last by:
          dns_types__unimplemented.
<S>  New H82:  not (element(fld_bytes(input_packet), [byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
          dns_types__a) and element(fld_bytes(input_packet), [byte + 2]) * 256 
          + element(fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
          dns_types__unimplemented))
<S>  New C2:  true
***  Proved C1:  true
***  Proved C2:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_21.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  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 H22 on reading formula in, to give:
     %%%  H22:  dns_types__packet_bytes_range__first <= input_bytes - 5 -> 
          dns_types__packet_bytes_range__first <= 
          dns_types__packet_bytes_range__last
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H31).
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  true
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  dns_types__query_type__first <= to_type(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 2]))
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  dns_types__query_type__first <= dns_types__unimplemented
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  dns_types__query_class__first <= to_class(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 4]))
-S-  Applied substitution rule get_query_na_rules(107).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__first by:
          dns_types__in_class.
<S>  New H75:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 4]) >= 
          class_to_natural(dns_types__in_class)
<S>  New C1:  dns_types__in_class <= to_class(element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 4]))
-S-  Applied substitution rule get_query_na_rules(108).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__last by:
          dns_types__any_class.
<S>  New H76:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 4]) <= 
          class_to_natural(dns_types__any_class)
<S>  New C2:  to_class(element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 4])) <= 
          dns_types__any_class
>>>  Restructured hypothesis H29 into:
     >>>  H29:  input_bytes - 5 < dns_types__packet_bytes_range__first or 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first]) = 0 or 
          rr_type__wirestringtypeindex__last <= 
          rr_type__wirestringtypeindex__first
-S-  Applied substitution rule get_query_na_rules(1).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H1:  input_bytes >= 13
-S-  Applied substitution rule get_query_na_rules(7).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H23:  input_bytes >= - 2147483643
<S>  New H27:  dns_types__packet_bytes_range__first >= - 2147483648
-S-  Applied substitution rule get_query_na_rules(8).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H24:  input_bytes <= 2147483652
<S>  New H28:  dns_types__packet_bytes_range__first <= 2147483647
-S-  Applied substitution rule get_query_na_rules(9).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H44:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 1]) * 256 >= - 2147483648
<S>  New H60:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) * 256 >= - 2147483648
-S-  Applied substitution rule get_query_na_rules(10).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H45:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 1]) * 256 <= 2147483647
<S>  New H61:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) * 256 <= 2147483647
-S-  Applied substitution rule get_query_na_rules(12).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H20:  true
<S>  New H30:  true
-S-  Applied substitution rule get_query_na_rules(13).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H21:  true
<S>  New H31:  true
-S-  Applied substitution rule get_query_na_rules(17).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H36:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 2]) >= 0
<S>  New H38:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 2]) >= 0
<S>  New H46:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 1]) >= 0
<S>  New H52:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 4]) >= 0
<S>  New H54:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 4]) >= 0
<S>  New H62:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) >= 0
-S-  Applied substitution rule get_query_na_rules(18).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H37:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 2]) <= 
          2147483647
<S>  New H39:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 2]) <= 2147483647
<S>  New H47:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 1]) <= 2147483647
<S>  New H53:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 4]) <= 
          2147483647
<S>  New H55:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 4]) <= 2147483647
<S>  New H63:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) <= 2147483647
-S-  Applied substitution rule get_query_na_rules(22).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H18:  input_bytes >= 0
-S-  Applied substitution rule get_query_na_rules(23).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H19:  input_bytes <= 8192
-S-  Applied substitution rule get_query_na_rules(24).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__first by:
          - 2147483648.
<S>  New H25:  input_bytes >= - 2147483643
-S-  Applied substitution rule get_query_na_rules(25).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__last by:
          2147483647.
<S>  New H26:  input_bytes <= 2147483652
-S-  Applied substitution rule get_query_na_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H17:  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 H22:  6 <= input_bytes -> 1 <= dns_types__packet_bytes_range__last
<S>  New H29:  input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or 
          rr_type__wirestringtypeindex__last <= 
          rr_type__wirestringtypeindex__first
<S>  New H40:  true
<S>  New H41:  3 <= dns_types__packet_bytes_range__last
<S>  New H42:  3 >= dns_types__packet_bytes_range__base__first
<S>  New H43:  3 <= dns_types__packet_bytes_range__base__last
<S>  New H48:  true
<S>  New H49:  2 <= dns_types__packet_bytes_range__last
<S>  New H50:  2 >= dns_types__packet_bytes_range__base__first
<S>  New H51:  2 <= dns_types__packet_bytes_range__base__last
<S>  New H56:  true
<S>  New H57:  5 <= dns_types__packet_bytes_range__last
<S>  New H58:  5 >= dns_types__packet_bytes_range__base__first
<S>  New H59:  5 <= dns_types__packet_bytes_range__base__last
<S>  New H64:  true
<S>  New H65:  4 <= dns_types__packet_bytes_range__last
<S>  New H66:  4 >= dns_types__packet_bytes_range__base__first
<S>  New H67:  4 <= dns_types__packet_bytes_range__base__last
<S>  New H68:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) >= type_to_natural(dns_types__query_type__first)
<S>  New H69:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) <= type_to_natural(dns_types__query_type__last)
<S>  New H70:  dns_types__query_type__first <= to_type(element(fld_bytes(
          input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3]))
<S>  New H71:  to_type(element(fld_bytes(input_packet), [2]) * 256 + element(
          fld_bytes(input_packet), [3])) <= dns_types__query_type__last
<S>  New H72:  not dns_types__query_type__valid(to_type(element(fld_bytes(
          input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])))
<S>  New H75:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) >= class_to_natural(dns_types__in_class)
<S>  New H76:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) <= class_to_natural(dns_types__any_class)
<S>  New H27:  true
<S>  New H28:  true
<S>  New H44:  element(fld_bytes(input_packet), [2]) * 256 >= - 2147483648
<S>  New H60:  element(fld_bytes(input_packet), [4]) * 256 >= - 2147483648
<S>  New H45:  element(fld_bytes(input_packet), [2]) * 256 <= 2147483647
<S>  New H61:  element(fld_bytes(input_packet), [4]) * 256 <= 2147483647
<S>  New H36:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) >= 0
<S>  New H38:  element(fld_bytes(input_packet), [3]) >= 0
<S>  New H46:  element(fld_bytes(input_packet), [2]) >= 0
<S>  New H52:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) >= 0
<S>  New H54:  element(fld_bytes(input_packet), [5]) >= 0
<S>  New H62:  element(fld_bytes(input_packet), [4]) >= 0
<S>  New H37:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) <= 2147483647
<S>  New H39:  element(fld_bytes(input_packet), [3]) <= 2147483647
<S>  New H47:  element(fld_bytes(input_packet), [2]) <= 2147483647
<S>  New H53:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) <= 2147483647
<S>  New H55:  element(fld_bytes(input_packet), [5]) <= 2147483647
<S>  New H63:  element(fld_bytes(input_packet), [4]) <= 2147483647
<S>  New C1:  dns_types__in_class <= to_class(element(fld_bytes(input_packet), [
          4]) * 256 + element(fld_bytes(input_packet), [5]))
<S>  New C2:  to_class(element(fld_bytes(input_packet), [4]) * 256 + element(
          fld_bytes(input_packet), [5])) <= dns_types__any_class
-S-  Applied substitution rule get_query_na_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H17:  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 H22:  true
<S>  New H41:  true
<S>  New H49:  true
<S>  New H57:  true
<S>  New H65:  true
-S-  Applied substitution rule get_query_na_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H42:  true
<S>  New H50:  true
<S>  New H58:  true
<S>  New H66:  true
-S-  Applied substitution rule get_query_na_rules(30).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H43:  true
<S>  New H51:  true
<S>  New H59:  true
<S>  New H67:  true
-S-  Applied substitution rule get_query_na_rules(33).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H17:  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-  Applied substitution rule get_query_na_rules(34).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H17:  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-  Applied substitution rule get_query_na_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H3:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H9:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H11:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H13:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H15:  fld_arcount(fld_header(input_packet)) >= 0
-S-  Applied substitution rule get_query_na_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H4:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H10:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H12:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H14:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H16:  fld_arcount(fld_header(input_packet)) <= 65535
-S-  Applied substitution rule get_query_na_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H5:  dns_types__query <= fld_opcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H6:  fld_opcode(fld_header(input_packet)) <= dns_types__status
-S-  Applied substitution rule get_query_na_rules(72).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H7:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(73).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H8:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S-  Applied substitution rule get_query_na_rules(137).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__first by:
          dns_types__a.
<S>  New H73:  true
<S>  New H68:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) >= type_to_natural(dns_types__a)
<S>  New H70:  dns_types__a <= to_type(element(fld_bytes(input_packet), [2]) * 
          256 + element(fld_bytes(input_packet), [3]))
-S-  Applied substitution rule get_query_na_rules(138).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__last by:
          dns_types__unimplemented.
<S>  New H74:  true
<S>  New H69:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) <= type_to_natural(dns_types__unimplemented)
<S>  New H71:  to_type(element(fld_bytes(input_packet), [2]) * 256 + element(
          fld_bytes(input_packet), [3])) <= dns_types__unimplemented
-S-  Applied substitution rule get_query_na_rules(196).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H35:  1 <= rr_type__wirestringtypeindex__last
<S>  New H29:  input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or 
          rr_type__wirestringtypeindex__last <= 1
-S-  Applied substitution rule get_query_na_rules(197).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H35:  true
<S>  New H29:  input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0
---  Eliminated hypothesis H32 (true-hypothesis).
---  Eliminated hypothesis H33 (true-hypothesis).
---  Eliminated hypothesis H34 (true-hypothesis).
---  Eliminated hypothesis H20 (true-hypothesis).
---  Eliminated hypothesis H30 (true-hypothesis).
---  Eliminated hypothesis H21 (true-hypothesis).
---  Eliminated hypothesis H31 (true-hypothesis).
---  Eliminated hypothesis H40 (true-hypothesis).
---  Eliminated hypothesis H48 (true-hypothesis).
---  Eliminated hypothesis H56 (true-hypothesis).
---  Eliminated hypothesis H64 (true-hypothesis).
---  Eliminated hypothesis H27 (true-hypothesis).
---  Eliminated hypothesis H28 (true-hypothesis).
---  Eliminated hypothesis H22 (true-hypothesis).
---  Eliminated hypothesis H41 (true-hypothesis).
---  Eliminated hypothesis H49 (true-hypothesis).
---  Eliminated hypothesis H57 (true-hypothesis).
---  Eliminated hypothesis H65 (true-hypothesis).
---  Eliminated hypothesis H42 (true-hypothesis).
---  Eliminated hypothesis H50 (true-hypothesis).
---  Eliminated hypothesis H58 (true-hypothesis).
---  Eliminated hypothesis H66 (true-hypothesis).
---  Eliminated hypothesis H43 (true-hypothesis).
---  Eliminated hypothesis H51 (true-hypothesis).
---  Eliminated hypothesis H59 (true-hypothesis).
---  Eliminated hypothesis H67 (true-hypothesis).
---  Eliminated hypothesis H73 (true-hypothesis).
---  Eliminated hypothesis H74 (true-hypothesis).
---  Eliminated hypothesis H35 (true-hypothesis).
%%%  Simplified H29 further (given H1), to give:
     %%%  H29:  element(fld_bytes(input_packet), [1]) = 0
---  Eliminated hypothesis H25 (duplicate of H23).
---  Eliminated hypothesis H26 (duplicate of H24).
---  Eliminated hypothesis H18 (redundant, given H1).
---  Eliminated hypothesis H19 (redundant, given H2).
---  Eliminated hypothesis H23 (redundant, given H1).
---  Eliminated hypothesis H24 (redundant, given H2).
---  Eliminated hypothesis H44 (redundant, given H46).
---  Eliminated hypothesis H47 (redundant, given H45).
---  Eliminated hypothesis H60 (redundant, given H62).
---  Eliminated hypothesis H63 (redundant, given H61).
     +++  New H77:  integer__size >= 0
     +++  New H78:  character__size >= 0
     +++  New H79:  natural__size >= 0
     +++  New H80:  dns_types__packet_length_range__size >= 0
     +++  New H81:  dns_types__packet_bytes_range__size >= 0
     +++  New H82:  dns_types__dns_packet__size >= 0
     +++  New H83:  rr_type__wirestringtypeindex__size >= 0


@@@@@@@@@@  VC: procedure_get_query_name_type_class_22.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  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 H22 on reading formula in, to give:
     %%%  H22:  dns_types__packet_bytes_range__first <= input_bytes - 5 -> 
          dns_types__packet_bytes_range__first <= 
          dns_types__packet_bytes_range__last
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H31).
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  true
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  dns_types__query_type__first <= to_type(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 2]))
%%%  Simplified H72 on reading formula in, to give:
     %%%  H72:  dns_types__query_type__valid(to_type(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 2])))
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  dns_types__query_class__first <= to_class(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 4]))
-S-  Applied substitution rule get_query_na_rules(107).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__first by:
          dns_types__in_class.
<S>  New H73:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 4]) >= 
          class_to_natural(dns_types__in_class)
<S>  New C1:  dns_types__in_class <= to_class(element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 4]))
-S-  Applied substitution rule get_query_na_rules(108).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__last by:
          dns_types__any_class.
<S>  New H74:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 4]) <= 
          class_to_natural(dns_types__any_class)
<S>  New C2:  to_class(element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 4])) <= 
          dns_types__any_class
>>>  Restructured hypothesis H29 into:
     >>>  H29:  input_bytes - 5 < dns_types__packet_bytes_range__first or 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first]) = 0 or 
          rr_type__wirestringtypeindex__last <= 
          rr_type__wirestringtypeindex__first
-S-  Applied substitution rule get_query_na_rules(1).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H1:  input_bytes >= 13
-S-  Applied substitution rule get_query_na_rules(7).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H23:  input_bytes >= - 2147483643
<S>  New H27:  dns_types__packet_bytes_range__first >= - 2147483648
-S-  Applied substitution rule get_query_na_rules(8).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H24:  input_bytes <= 2147483652
<S>  New H28:  dns_types__packet_bytes_range__first <= 2147483647
-S-  Applied substitution rule get_query_na_rules(9).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H44:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 1]) * 256 >= - 2147483648
<S>  New H60:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) * 256 >= - 2147483648
-S-  Applied substitution rule get_query_na_rules(10).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H45:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 1]) * 256 <= 2147483647
<S>  New H61:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) * 256 <= 2147483647
-S-  Applied substitution rule get_query_na_rules(12).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H20:  true
<S>  New H30:  true
-S-  Applied substitution rule get_query_na_rules(13).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H21:  true
<S>  New H31:  true
-S-  Applied substitution rule get_query_na_rules(17).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H36:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 2]) >= 0
<S>  New H38:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 2]) >= 0
<S>  New H46:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 1]) >= 0
<S>  New H52:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 4]) >= 0
<S>  New H54:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 4]) >= 0
<S>  New H62:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) >= 0
-S-  Applied substitution rule get_query_na_rules(18).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H37:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 2]) <= 
          2147483647
<S>  New H39:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 2]) <= 2147483647
<S>  New H47:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 1]) <= 2147483647
<S>  New H53:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 4]) <= 
          2147483647
<S>  New H55:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 4]) <= 2147483647
<S>  New H63:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) <= 2147483647
-S-  Applied substitution rule get_query_na_rules(22).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H18:  input_bytes >= 0
-S-  Applied substitution rule get_query_na_rules(23).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H19:  input_bytes <= 8192
-S-  Applied substitution rule get_query_na_rules(24).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__first by:
          - 2147483648.
<S>  New H25:  input_bytes >= - 2147483643
-S-  Applied substitution rule get_query_na_rules(25).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__last by:
          2147483647.
<S>  New H26:  input_bytes <= 2147483652
-S-  Applied substitution rule get_query_na_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H17:  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 H22:  6 <= input_bytes -> 1 <= dns_types__packet_bytes_range__last
<S>  New H29:  input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or 
          rr_type__wirestringtypeindex__last <= 
          rr_type__wirestringtypeindex__first
<S>  New H40:  true
<S>  New H41:  3 <= dns_types__packet_bytes_range__last
<S>  New H42:  3 >= dns_types__packet_bytes_range__base__first
<S>  New H43:  3 <= dns_types__packet_bytes_range__base__last
<S>  New H48:  true
<S>  New H49:  2 <= dns_types__packet_bytes_range__last
<S>  New H50:  2 >= dns_types__packet_bytes_range__base__first
<S>  New H51:  2 <= dns_types__packet_bytes_range__base__last
<S>  New H56:  true
<S>  New H57:  5 <= dns_types__packet_bytes_range__last
<S>  New H58:  5 >= dns_types__packet_bytes_range__base__first
<S>  New H59:  5 <= dns_types__packet_bytes_range__base__last
<S>  New H64:  true
<S>  New H65:  4 <= dns_types__packet_bytes_range__last
<S>  New H66:  4 >= dns_types__packet_bytes_range__base__first
<S>  New H67:  4 <= dns_types__packet_bytes_range__base__last
<S>  New H68:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) >= type_to_natural(dns_types__query_type__first)
<S>  New H69:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) <= type_to_natural(dns_types__query_type__last)
<S>  New H70:  dns_types__query_type__first <= to_type(element(fld_bytes(
          input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3]))
<S>  New H71:  to_type(element(fld_bytes(input_packet), [2]) * 256 + element(
          fld_bytes(input_packet), [3])) <= dns_types__query_type__last
<S>  New H72:  dns_types__query_type__valid(to_type(element(fld_bytes(
          input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])))
<S>  New H73:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) >= class_to_natural(dns_types__in_class)
<S>  New H74:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) <= class_to_natural(dns_types__any_class)
<S>  New H27:  true
<S>  New H28:  true
<S>  New H44:  element(fld_bytes(input_packet), [2]) * 256 >= - 2147483648
<S>  New H60:  element(fld_bytes(input_packet), [4]) * 256 >= - 2147483648
<S>  New H45:  element(fld_bytes(input_packet), [2]) * 256 <= 2147483647
<S>  New H61:  element(fld_bytes(input_packet), [4]) * 256 <= 2147483647
<S>  New H36:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) >= 0
<S>  New H38:  element(fld_bytes(input_packet), [3]) >= 0
<S>  New H46:  element(fld_bytes(input_packet), [2]) >= 0
<S>  New H52:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) >= 0
<S>  New H54:  element(fld_bytes(input_packet), [5]) >= 0
<S>  New H62:  element(fld_bytes(input_packet), [4]) >= 0
<S>  New H37:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) <= 2147483647
<S>  New H39:  element(fld_bytes(input_packet), [3]) <= 2147483647
<S>  New H47:  element(fld_bytes(input_packet), [2]) <= 2147483647
<S>  New H53:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) <= 2147483647
<S>  New H55:  element(fld_bytes(input_packet), [5]) <= 2147483647
<S>  New H63:  element(fld_bytes(input_packet), [4]) <= 2147483647
<S>  New C1:  dns_types__in_class <= to_class(element(fld_bytes(input_packet), [
          4]) * 256 + element(fld_bytes(input_packet), [5]))
<S>  New C2:  to_class(element(fld_bytes(input_packet), [4]) * 256 + element(
          fld_bytes(input_packet), [5])) <= dns_types__any_class
-S-  Applied substitution rule get_query_na_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H17:  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 H22:  true
<S>  New H41:  true
<S>  New H49:  true
<S>  New H57:  true
<S>  New H65:  true
-S-  Applied substitution rule get_query_na_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H42:  true
<S>  New H50:  true
<S>  New H58:  true
<S>  New H66:  true
-S-  Applied substitution rule get_query_na_rules(30).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H43:  true
<S>  New H51:  true
<S>  New H59:  true
<S>  New H67:  true
-S-  Applied substitution rule get_query_na_rules(33).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H17:  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-  Applied substitution rule get_query_na_rules(34).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H17:  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-  Applied substitution rule get_query_na_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H3:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H9:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H11:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H13:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H15:  fld_arcount(fld_header(input_packet)) >= 0
-S-  Applied substitution rule get_query_na_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H4:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H10:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H12:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H14:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H16:  fld_arcount(fld_header(input_packet)) <= 65535
-S-  Applied substitution rule get_query_na_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H5:  dns_types__query <= fld_opcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H6:  fld_opcode(fld_header(input_packet)) <= dns_types__status
-S-  Applied substitution rule get_query_na_rules(72).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H7:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(73).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H8:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S-  Applied substitution rule get_query_na_rules(137).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__first by:
          dns_types__a.
<S>  New H68:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) >= type_to_natural(dns_types__a)
<S>  New H70:  dns_types__a <= to_type(element(fld_bytes(input_packet), [2]) * 
          256 + element(fld_bytes(input_packet), [3]))
-S-  Applied substitution rule get_query_na_rules(138).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__last by:
          dns_types__unimplemented.
<S>  New H69:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) <= type_to_natural(dns_types__unimplemented)
<S>  New H71:  to_type(element(fld_bytes(input_packet), [2]) * 256 + element(
          fld_bytes(input_packet), [3])) <= dns_types__unimplemented
-S-  Applied substitution rule get_query_na_rules(196).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H35:  1 <= rr_type__wirestringtypeindex__last
<S>  New H29:  input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or 
          rr_type__wirestringtypeindex__last <= 1
-S-  Applied substitution rule get_query_na_rules(197).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H35:  true
<S>  New H29:  input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0
---  Eliminated hypothesis H32 (true-hypothesis).
---  Eliminated hypothesis H33 (true-hypothesis).
---  Eliminated hypothesis H34 (true-hypothesis).
---  Eliminated hypothesis H20 (true-hypothesis).
---  Eliminated hypothesis H30 (true-hypothesis).
---  Eliminated hypothesis H21 (true-hypothesis).
---  Eliminated hypothesis H31 (true-hypothesis).
---  Eliminated hypothesis H40 (true-hypothesis).
---  Eliminated hypothesis H48 (true-hypothesis).
---  Eliminated hypothesis H56 (true-hypothesis).
---  Eliminated hypothesis H64 (true-hypothesis).
---  Eliminated hypothesis H27 (true-hypothesis).
---  Eliminated hypothesis H28 (true-hypothesis).
---  Eliminated hypothesis H22 (true-hypothesis).
---  Eliminated hypothesis H41 (true-hypothesis).
---  Eliminated hypothesis H49 (true-hypothesis).
---  Eliminated hypothesis H57 (true-hypothesis).
---  Eliminated hypothesis H65 (true-hypothesis).
---  Eliminated hypothesis H42 (true-hypothesis).
---  Eliminated hypothesis H50 (true-hypothesis).
---  Eliminated hypothesis H58 (true-hypothesis).
---  Eliminated hypothesis H66 (true-hypothesis).
---  Eliminated hypothesis H43 (true-hypothesis).
---  Eliminated hypothesis H51 (true-hypothesis).
---  Eliminated hypothesis H59 (true-hypothesis).
---  Eliminated hypothesis H67 (true-hypothesis).
---  Eliminated hypothesis H35 (true-hypothesis).
%%%  Simplified H29 further (given H1), to give:
     %%%  H29:  element(fld_bytes(input_packet), [1]) = 0
---  Eliminated hypothesis H25 (duplicate of H23).
---  Eliminated hypothesis H26 (duplicate of H24).
---  Eliminated hypothesis H18 (redundant, given H1).
---  Eliminated hypothesis H19 (redundant, given H2).
---  Eliminated hypothesis H23 (redundant, given H1).
---  Eliminated hypothesis H24 (redundant, given H2).
---  Eliminated hypothesis H44 (redundant, given H46).
---  Eliminated hypothesis H47 (redundant, given H45).
---  Eliminated hypothesis H60 (redundant, given H62).
---  Eliminated hypothesis H63 (redundant, given H61).
     +++  New H75:  integer__size >= 0
     +++  New H76:  character__size >= 0
     +++  New H77:  natural__size >= 0
     +++  New H78:  dns_types__packet_length_range__size >= 0
     +++  New H79:  dns_types__packet_bytes_range__size >= 0
     +++  New H80:  dns_types__dns_packet__size >= 0
     +++  New H81:  rr_type__wirestringtypeindex__size >= 0


@@@@@@@@@@  VC: procedure_get_query_name_type_class_23.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  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 H22 on reading formula in, to give:
     %%%  H22:  dns_types__packet_bytes_range__first <= input_bytes - 5 -> 
          dns_types__packet_bytes_range__first <= 
          dns_types__packet_bytes_range__last
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H31).
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  true
%%%  Simplified H69 on reading formula in, to give:
     %%%  H69:  dns_types__query_type__first <= dns_types__unimplemented
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  dns_types__query_class__first <= to_class(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 4]))
-S-  Applied substitution rule get_query_na_rules(107).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__first by:
          dns_types__in_class.
<S>  New H71:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 4]) >= 
          class_to_natural(dns_types__in_class)
<S>  New C1:  dns_types__in_class <= to_class(element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 4]))
-S-  Applied substitution rule get_query_na_rules(108).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__last by:
          dns_types__any_class.
<S>  New H72:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 4]) <= 
          class_to_natural(dns_types__any_class)
<S>  New C2:  to_class(element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 4])) <= 
          dns_types__any_class
>>>  Restructured hypothesis H29 into:
     >>>  H29:  input_bytes - 5 < dns_types__packet_bytes_range__first or 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first]) = 0 or 
          rr_type__wirestringtypeindex__last <= 
          rr_type__wirestringtypeindex__first
>>>  Restructured hypothesis H68 into:
     >>>  H68:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 2]) < 
          type_to_natural(dns_types__query_type__first) or type_to_natural(
          dns_types__query_type__last) < element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 2])
-S-  Applied substitution rule get_query_na_rules(1).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H1:  input_bytes >= 13
-S-  Applied substitution rule get_query_na_rules(7).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H23:  input_bytes >= - 2147483643
<S>  New H27:  dns_types__packet_bytes_range__first >= - 2147483648
-S-  Applied substitution rule get_query_na_rules(8).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H24:  input_bytes <= 2147483652
<S>  New H28:  dns_types__packet_bytes_range__first <= 2147483647
-S-  Applied substitution rule get_query_na_rules(9).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H44:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 1]) * 256 >= - 2147483648
<S>  New H60:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) * 256 >= - 2147483648
-S-  Applied substitution rule get_query_na_rules(10).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H45:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 1]) * 256 <= 2147483647
<S>  New H61:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) * 256 <= 2147483647
-S-  Applied substitution rule get_query_na_rules(12).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H20:  true
<S>  New H30:  true
-S-  Applied substitution rule get_query_na_rules(13).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H21:  true
<S>  New H31:  true
-S-  Applied substitution rule get_query_na_rules(17).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H36:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 2]) >= 0
<S>  New H38:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 2]) >= 0
<S>  New H46:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 1]) >= 0
<S>  New H52:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 4]) >= 0
<S>  New H54:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 4]) >= 0
<S>  New H62:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) >= 0
-S-  Applied substitution rule get_query_na_rules(18).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H37:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 1]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 2]) <= 
          2147483647
<S>  New H39:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 2]) <= 2147483647
<S>  New H47:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 1]) <= 2147483647
<S>  New H53:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 4]) <= 
          2147483647
<S>  New H55:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 4]) <= 2147483647
<S>  New H63:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) <= 2147483647
-S-  Applied substitution rule get_query_na_rules(22).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H18:  input_bytes >= 0
-S-  Applied substitution rule get_query_na_rules(23).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H19:  input_bytes <= 8192
-S-  Applied substitution rule get_query_na_rules(24).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__first by:
          - 2147483648.
<S>  New H25:  input_bytes >= - 2147483643
-S-  Applied substitution rule get_query_na_rules(25).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__last by:
          2147483647.
<S>  New H26:  input_bytes <= 2147483652
-S-  Applied substitution rule get_query_na_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H17:  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 H22:  6 <= input_bytes -> 1 <= dns_types__packet_bytes_range__last
<S>  New H29:  input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or 
          rr_type__wirestringtypeindex__last <= 
          rr_type__wirestringtypeindex__first
<S>  New H40:  true
<S>  New H41:  3 <= dns_types__packet_bytes_range__last
<S>  New H42:  3 >= dns_types__packet_bytes_range__base__first
<S>  New H43:  3 <= dns_types__packet_bytes_range__base__last
<S>  New H48:  true
<S>  New H49:  2 <= dns_types__packet_bytes_range__last
<S>  New H50:  2 >= dns_types__packet_bytes_range__base__first
<S>  New H51:  2 <= dns_types__packet_bytes_range__base__last
<S>  New H56:  true
<S>  New H57:  5 <= dns_types__packet_bytes_range__last
<S>  New H58:  5 >= dns_types__packet_bytes_range__base__first
<S>  New H59:  5 <= dns_types__packet_bytes_range__base__last
<S>  New H64:  true
<S>  New H65:  4 <= dns_types__packet_bytes_range__last
<S>  New H66:  4 >= dns_types__packet_bytes_range__base__first
<S>  New H67:  4 <= dns_types__packet_bytes_range__base__last
<S>  New H68:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) < type_to_natural(dns_types__query_type__first) 
          or type_to_natural(dns_types__query_type__last) < element(fld_bytes(
          input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])
<S>  New H71:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) >= class_to_natural(dns_types__in_class)
<S>  New H72:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) <= class_to_natural(dns_types__any_class)
<S>  New H27:  true
<S>  New H28:  true
<S>  New H44:  element(fld_bytes(input_packet), [2]) * 256 >= - 2147483648
<S>  New H60:  element(fld_bytes(input_packet), [4]) * 256 >= - 2147483648
<S>  New H45:  element(fld_bytes(input_packet), [2]) * 256 <= 2147483647
<S>  New H61:  element(fld_bytes(input_packet), [4]) * 256 <= 2147483647
<S>  New H36:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) >= 0
<S>  New H38:  element(fld_bytes(input_packet), [3]) >= 0
<S>  New H46:  element(fld_bytes(input_packet), [2]) >= 0
<S>  New H52:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) >= 0
<S>  New H54:  element(fld_bytes(input_packet), [5]) >= 0
<S>  New H62:  element(fld_bytes(input_packet), [4]) >= 0
<S>  New H37:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) <= 2147483647
<S>  New H39:  element(fld_bytes(input_packet), [3]) <= 2147483647
<S>  New H47:  element(fld_bytes(input_packet), [2]) <= 2147483647
<S>  New H53:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) <= 2147483647
<S>  New H55:  element(fld_bytes(input_packet), [5]) <= 2147483647
<S>  New H63:  element(fld_bytes(input_packet), [4]) <= 2147483647
<S>  New C1:  dns_types__in_class <= to_class(element(fld_bytes(input_packet), [
          4]) * 256 + element(fld_bytes(input_packet), [5]))
<S>  New C2:  to_class(element(fld_bytes(input_packet), [4]) * 256 + element(
          fld_bytes(input_packet), [5])) <= dns_types__any_class
-S-  Applied substitution rule get_query_na_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H17:  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 H22:  true
<S>  New H41:  true
<S>  New H49:  true
<S>  New H57:  true
<S>  New H65:  true
-S-  Applied substitution rule get_query_na_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H42:  true
<S>  New H50:  true
<S>  New H58:  true
<S>  New H66:  true
-S-  Applied substitution rule get_query_na_rules(30).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H43:  true
<S>  New H51:  true
<S>  New H59:  true
<S>  New H67:  true
-S-  Applied substitution rule get_query_na_rules(33).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H17:  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-  Applied substitution rule get_query_na_rules(34).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H17:  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-  Applied substitution rule get_query_na_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H3:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H9:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H11:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H13:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H15:  fld_arcount(fld_header(input_packet)) >= 0
-S-  Applied substitution rule get_query_na_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H4:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H10:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H12:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H14:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H16:  fld_arcount(fld_header(input_packet)) <= 65535
-S-  Applied substitution rule get_query_na_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H5:  dns_types__query <= fld_opcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H6:  fld_opcode(fld_header(input_packet)) <= dns_types__status
-S-  Applied substitution rule get_query_na_rules(72).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H7:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(73).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H8:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S-  Applied substitution rule get_query_na_rules(137).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__first by:
          dns_types__a.
<S>  New H69:  true
<S>  New H68:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) < type_to_natural(dns_types__a) or 
          type_to_natural(dns_types__query_type__last) < element(fld_bytes(
          input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])
-S-  Applied substitution rule get_query_na_rules(138).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__last by:
          dns_types__unimplemented.
<S>  New H70:  true
<S>  New H68:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) < type_to_natural(dns_types__a) or 
          type_to_natural(dns_types__unimplemented) < element(fld_bytes(
          input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])
-S-  Applied substitution rule get_query_na_rules(196).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H35:  1 <= rr_type__wirestringtypeindex__last
<S>  New H29:  input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or 
          rr_type__wirestringtypeindex__last <= 1
-S-  Applied substitution rule get_query_na_rules(197).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H35:  true
<S>  New H29:  input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0
---  Eliminated hypothesis H32 (true-hypothesis).
---  Eliminated hypothesis H33 (true-hypothesis).
---  Eliminated hypothesis H34 (true-hypothesis).
---  Eliminated hypothesis H20 (true-hypothesis).
---  Eliminated hypothesis H30 (true-hypothesis).
---  Eliminated hypothesis H21 (true-hypothesis).
---  Eliminated hypothesis H31 (true-hypothesis).
---  Eliminated hypothesis H40 (true-hypothesis).
---  Eliminated hypothesis H48 (true-hypothesis).
---  Eliminated hypothesis H56 (true-hypothesis).
---  Eliminated hypothesis H64 (true-hypothesis).
---  Eliminated hypothesis H27 (true-hypothesis).
---  Eliminated hypothesis H28 (true-hypothesis).
---  Eliminated hypothesis H22 (true-hypothesis).
---  Eliminated hypothesis H41 (true-hypothesis).
---  Eliminated hypothesis H49 (true-hypothesis).
---  Eliminated hypothesis H57 (true-hypothesis).
---  Eliminated hypothesis H65 (true-hypothesis).
---  Eliminated hypothesis H42 (true-hypothesis).
---  Eliminated hypothesis H50 (true-hypothesis).
---  Eliminated hypothesis H58 (true-hypothesis).
---  Eliminated hypothesis H66 (true-hypothesis).
---  Eliminated hypothesis H43 (true-hypothesis).
---  Eliminated hypothesis H51 (true-hypothesis).
---  Eliminated hypothesis H59 (true-hypothesis).
---  Eliminated hypothesis H67 (true-hypothesis).
---  Eliminated hypothesis H69 (true-hypothesis).
---  Eliminated hypothesis H70 (true-hypothesis).
---  Eliminated hypothesis H35 (true-hypothesis).
%%%  Simplified H29 further (given H1), to give:
     %%%  H29:  element(fld_bytes(input_packet), [1]) = 0
---  Eliminated hypothesis H25 (duplicate of H23).
---  Eliminated hypothesis H26 (duplicate of H24).
---  Eliminated hypothesis H18 (redundant, given H1).
---  Eliminated hypothesis H19 (redundant, given H2).
---  Eliminated hypothesis H23 (redundant, given H1).
---  Eliminated hypothesis H24 (redundant, given H2).
---  Eliminated hypothesis H44 (redundant, given H46).
---  Eliminated hypothesis H47 (redundant, given H45).
---  Eliminated hypothesis H60 (redundant, given H62).
---  Eliminated hypothesis H63 (redundant, given H61).
     +++  New H73:  integer__size >= 0
     +++  New H74:  character__size >= 0
     +++  New H75:  natural__size >= 0
     +++  New H76:  dns_types__packet_length_range__size >= 0
     +++  New H77:  dns_types__packet_bytes_range__size >= 0
     +++  New H78:  dns_types__dns_packet__size >= 0
     +++  New H79:  rr_type__wirestringtypeindex__size >= 0


@@@@@@@@@@  VC: procedure_get_query_name_type_class_24.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H19 on reading formula in, to give:
     %%%  H19:  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)
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H27 has been replaced by "true".  (It is already present, as 
          H25).
---  Hypothesis H28 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H30 has been replaced by "true".  (It is already present, as H1)
          .
---  Hypothesis H46 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H47 has been replaced by "true".  (It is already present, as 
          H45).
%%%  Simplified H50 on reading formula in, to give:
     %%%  H50:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H51 on reading formula in, to give:
     %%%  H51:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H53 on reading formula in, to give:
     %%%  H53:  element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  byte + 3 >= dns_types__packet_bytes_range__first
%%%  Simplified H55 on reading formula in, to give:
     %%%  H55:  byte + 3 <= dns_types__packet_bytes_range__last
%%%  Simplified H56 on reading formula in, to give:
     %%%  H56:  byte + 3 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H57 on reading formula in, to give:
     %%%  H57:  byte + 3 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H58 on reading formula in, to give:
     %%%  H58:  element(fld_bytes(input_packet), [byte + 2]) * 256 >= 
          integer__base__first
%%%  Simplified H59 on reading formula in, to give:
     %%%  H59:  element(fld_bytes(input_packet), [byte + 2]) * 256 <= 
          integer__base__last
%%%  Simplified H60 on reading formula in, to give:
     %%%  H60:  element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%%  Simplified H61 on reading formula in, to give:
     %%%  H61:  element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%%  Simplified H62 on reading formula in, to give:
     %%%  H62:  byte + 2 >= dns_types__packet_bytes_range__first
%%%  Simplified H63 on reading formula in, to give:
     %%%  H63:  byte + 2 <= dns_types__packet_bytes_range__last
%%%  Simplified H64 on reading formula in, to give:
     %%%  H64:  byte + 2 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H65 on reading formula in, to give:
     %%%  H65:  byte + 2 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H66 on reading formula in, to give:
     %%%  H66:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H67 on reading formula in, to give:
     %%%  H67:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H68 on reading formula in, to give:
     %%%  H68:  element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H69 on reading formula in, to give:
     %%%  H69:  element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  byte + 5 >= dns_types__packet_bytes_range__first
%%%  Simplified H71 on reading formula in, to give:
     %%%  H71:  byte + 5 <= dns_types__packet_bytes_range__last
%%%  Simplified H72 on reading formula in, to give:
     %%%  H72:  byte + 5 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  byte + 5 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  element(fld_bytes(input_packet), [byte + 4]) * 256 >= 
          integer__base__first
%%%  Simplified H75 on reading formula in, to give:
     %%%  H75:  element(fld_bytes(input_packet), [byte + 4]) * 256 <= 
          integer__base__last
%%%  Simplified H76 on reading formula in, to give:
     %%%  H76:  element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%%  Simplified H77 on reading formula in, to give:
     %%%  H77:  element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%%  Simplified H78 on reading formula in, to give:
     %%%  H78:  byte + 4 >= dns_types__packet_bytes_range__first
%%%  Simplified H79 on reading formula in, to give:
     %%%  H79:  byte + 4 <= dns_types__packet_bytes_range__last
%%%  Simplified H80 on reading formula in, to give:
     %%%  H80:  byte + 4 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H81 on reading formula in, to give:
     %%%  H81:  byte + 4 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H82 on reading formula in, to give:
     %%%  H82:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
          dns_types__query_type__first)
%%%  Simplified H83 on reading formula in, to give:
     %%%  H83:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
          dns_types__query_type__last)
%%%  Simplified H84 on reading formula in, to give:
     %%%  H84:  dns_types__query_type__first <= to_type(element(fld_bytes(
          input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
          byte + 3]))
%%%  Simplified H85 on reading formula in, to give:
     %%%  H85:  to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [byte + 3])) <= 
          dns_types__query_type__last
%%%  Simplified H86 on reading formula in, to give:
     %%%  H86:  not dns_types__query_type__valid(to_type(element(fld_bytes(
          input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
          byte + 3])))
%%%  Simplified H87 on reading formula in, to give:
     %%%  H87:  dns_types__query_type__first <= dns_types__unimplemented
%%%  Simplified H89 on reading formula in, to give:
     %%%  H89:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
          dns_types__query_class__first)
%%%  Simplified H90 on reading formula in, to give:
     %%%  H90:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
          dns_types__query_class__last)
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  dns_types__query_class__first <= to_class(element(fld_bytes(
          input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
          byte + 5]))
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [byte + 5])) <= 
          dns_types__query_class__last
-S-  Applied substitution rule get_query_na_rules(107).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__first by:
          dns_types__in_class.
<S>  New H89:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
          dns_types__in_class)
<S>  New C1:  dns_types__in_class <= to_class(element(fld_bytes(input_packet), [
          byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]))
-S-  Applied substitution rule get_query_na_rules(108).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__last by:
          dns_types__any_class.
<S>  New H90:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
          dns_types__any_class)
<S>  New C2:  to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [byte + 5])) <= dns_types__any_class
>>>  Restructured hypothesis H43 into:
     >>>  H43:  input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
          byte + 1]) = 0 or rr_type__wirestringtypeindex__last <= i + 1
-S-  Applied substitution rule get_query_na_rules(1).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H22:  input_bytes >= 13
-S-  Applied substitution rule get_query_na_rules(7).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H37:  input_bytes >= - 2147483643
<S>  New H41:  byte >= - 2147483649
-S-  Applied substitution rule get_query_na_rules(8).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H38:  input_bytes <= 2147483652
<S>  New H42:  byte <= 2147483646
-S-  Applied substitution rule get_query_na_rules(9).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H58:  element(fld_bytes(input_packet), [byte + 2]) * 256 >= - 
          2147483648
<S>  New H74:  element(fld_bytes(input_packet), [byte + 4]) * 256 >= - 
          2147483648
-S-  Applied substitution rule get_query_na_rules(10).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H59:  element(fld_bytes(input_packet), [byte + 2]) * 256 <= 2147483647
<S>  New H75:  element(fld_bytes(input_packet), [byte + 4]) * 256 <= 2147483647
-S-  Applied substitution rule get_query_na_rules(12).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H24:  element(fld_bytes(input_packet), [byte]) >= 0
<S>  New H44:  true
-S-  Applied substitution rule get_query_na_rules(13).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H25:  element(fld_bytes(input_packet), [byte]) <= 255
<S>  New H45:  true
-S-  Applied substitution rule get_query_na_rules(17).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H32:  i >= - 1
<S>  New H50:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= 0
<S>  New H52:  element(fld_bytes(input_packet), [byte + 3]) >= 0
<S>  New H60:  element(fld_bytes(input_packet), [byte + 2]) >= 0
<S>  New H66:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= 0
<S>  New H68:  element(fld_bytes(input_packet), [byte + 5]) >= 0
<S>  New H76:  element(fld_bytes(input_packet), [byte + 4]) >= 0
-S-  Applied substitution rule get_query_na_rules(18).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H33:  i <= 2147483646
<S>  New H51:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S>  New H53:  element(fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S>  New H61:  element(fld_bytes(input_packet), [byte + 2]) <= 2147483647
<S>  New H67:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S>  New H69:  element(fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S>  New H77:  element(fld_bytes(input_packet), [byte + 4]) <= 2147483647
-S-  Applied substitution rule get_query_na_rules(22).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H20:  input_bytes >= 0
-S-  Applied substitution rule get_query_na_rules(23).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H21:  input_bytes <= 8192
-S-  Applied substitution rule get_query_na_rules(24).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__first by:
          - 2147483648.
<S>  New H39:  input_bytes >= - 2147483643
-S-  Applied substitution rule get_query_na_rules(25).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__last by:
          2147483647.
<S>  New H40:  input_bytes <= 2147483652
-S-  Applied substitution rule get_query_na_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H3:  byte >= 1
<S>  New H19:  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 H34:  byte >= 0
<S>  New H36:  byte + 1 <= input_bytes - 5 -> byte >= 0 and byte + 1 <= 
          dns_types__packet_bytes_range__last
<S>  New H54:  byte >= - 2
<S>  New H62:  byte >= - 1
<S>  New H70:  byte >= - 4
<S>  New H78:  byte >= - 3
-S-  Applied substitution rule get_query_na_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H29:  byte <= 8180
<S>  New H35:  byte <= 8179
<S>  New H55:  byte <= 8177
<S>  New H63:  byte <= 8178
<S>  New H71:  byte <= 8175
<S>  New H79:  byte <= 8176
<S>  New H19:  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 H36:  byte + 1 <= input_bytes - 5 -> byte >= 0 and byte <= 8179
-S-  Applied substitution rule get_query_na_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H56:  byte >= - 2147483651
<S>  New H64:  byte >= - 2147483650
<S>  New H72:  byte >= - 2147483653
<S>  New H80:  byte >= - 2147483652
-S-  Applied substitution rule get_query_na_rules(30).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H57:  byte <= 2147483644
<S>  New H65:  byte <= 2147483645
<S>  New H73:  byte <= 2147483642
<S>  New H81:  byte <= 2147483643
-S-  Applied substitution rule get_query_na_rules(33).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H19:  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-  Applied substitution rule get_query_na_rules(34).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H19:  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-  Applied substitution rule get_query_na_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H5:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H11:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H13:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H15:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H17:  fld_arcount(fld_header(input_packet)) >= 0
-S-  Applied substitution rule get_query_na_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H6:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H12:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H14:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H16:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H18:  fld_arcount(fld_header(input_packet)) <= 65535
-S-  Applied substitution rule get_query_na_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H7:  dns_types__query <= fld_opcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H8:  fld_opcode(fld_header(input_packet)) <= dns_types__status
-S-  Applied substitution rule get_query_na_rules(72).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H9:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(73).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H10:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S-  Applied substitution rule get_query_na_rules(137).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__first by:
          dns_types__a.
<S>  New H82:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= type_to_natural(dns_types__a)
<S>  New H84:  dns_types__a <= to_type(element(fld_bytes(input_packet), [byte + 
          2]) * 256 + element(fld_bytes(input_packet), [byte + 3]))
<S>  New H87:  true
-S-  Applied substitution rule get_query_na_rules(138).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__last by:
          dns_types__unimplemented.
<S>  New H83:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
          dns_types__unimplemented)
<S>  New H85:  to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [byte + 3])) <= 
          dns_types__unimplemented
<S>  New H88:  true
-S-  Applied substitution rule get_query_na_rules(196).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H1:  i >= 1
<S>  New H48:  i >= 0
-S-  Applied substitution rule get_query_na_rules(197).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H2:  i < 129
<S>  New H31:  i <= 129
<S>  New H43:  input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
          byte + 1]) = 0 or 128 <= i
<S>  New H49:  i <= 128
---  Eliminated hypothesis H26 (true-hypothesis).
---  Eliminated hypothesis H27 (true-hypothesis).
---  Eliminated hypothesis H28 (true-hypothesis).
---  Eliminated hypothesis H30 (true-hypothesis).
---  Eliminated hypothesis H46 (true-hypothesis).
---  Eliminated hypothesis H47 (true-hypothesis).
---  Eliminated hypothesis H44 (true-hypothesis).
---  Eliminated hypothesis H45 (true-hypothesis).
---  Eliminated hypothesis H87 (true-hypothesis).
---  Eliminated hypothesis H88 (true-hypothesis).
---  Eliminated hypothesis H39 (duplicate of H37).
---  Eliminated hypothesis H40 (duplicate of H38).
---  Eliminated hypothesis H49 (duplicate of H2).
---  Eliminated hypothesis H20 (redundant, given H22).
---  Eliminated hypothesis H21 (redundant, given H23).
---  Eliminated hypothesis H29 (redundant, given H35).
---  Eliminated hypothesis H31 (redundant, given H2).
---  Eliminated hypothesis H32 (redundant, given H1).
---  Eliminated hypothesis H33 (redundant, given H2).
---  Eliminated hypothesis H34 (redundant, given H3).
---  Eliminated hypothesis H35 (redundant, given H55).
---  Eliminated hypothesis H37 (redundant, given H22).
---  Eliminated hypothesis H38 (redundant, given H23).
---  Eliminated hypothesis H41 (redundant, given H3).
---  Eliminated hypothesis H42 (redundant, given H55).
---  Eliminated hypothesis H48 (redundant, given H1).
---  Eliminated hypothesis H54 (redundant, given H3).
---  Eliminated hypothesis H55 (redundant, given H71).
---  Eliminated hypothesis H56 (redundant, given H3).
---  Eliminated hypothesis H57 (redundant, given H63).
---  Eliminated hypothesis H58 (redundant, given H60).
---  Eliminated hypothesis H61 (redundant, given H59).
---  Eliminated hypothesis H62 (redundant, given H3).
---  Eliminated hypothesis H63 (redundant, given H71).
---  Eliminated hypothesis H64 (redundant, given H3).
---  Eliminated hypothesis H65 (redundant, given H71).
---  Eliminated hypothesis H70 (redundant, given H3).
---  Eliminated hypothesis H71 (redundant, given H4 & H23).
---  Eliminated hypothesis H72 (redundant, given H3).
---  Eliminated hypothesis H73 (redundant, given H79).
---  Eliminated hypothesis H74 (redundant, given H76).
---  Eliminated hypothesis H77 (redundant, given H75).
---  Eliminated hypothesis H78 (redundant, given H3).
---  Eliminated hypothesis H79 (redundant, given H4 & H23).
---  Eliminated hypothesis H80 (redundant, given H3).
---  Eliminated hypothesis H81 (redundant, given H4 & H23).
     +++  New H91:  integer__size >= 0
     +++  New H92:  character__size >= 0
     +++  New H93:  natural__size >= 0
     +++  New H94:  dns_types__packet_length_range__size >= 0
     +++  New H95:  dns_types__packet_bytes_range__size >= 0
     +++  New H96:  dns_types__dns_packet__size >= 0
     +++  New H97:  rr_type__wirestringtypeindex__size >= 0


@@@@@@@@@@  VC: procedure_get_query_name_type_class_25.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H19 on reading formula in, to give:
     %%%  H19:  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)
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H27 has been replaced by "true".  (It is already present, as 
          H25).
---  Hypothesis H28 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H30 has been replaced by "true".  (It is already present, as H1)
          .
---  Hypothesis H46 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H47 has been replaced by "true".  (It is already present, as 
          H45).
%%%  Simplified H50 on reading formula in, to give:
     %%%  H50:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H51 on reading formula in, to give:
     %%%  H51:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H53 on reading formula in, to give:
     %%%  H53:  element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  byte + 3 >= dns_types__packet_bytes_range__first
%%%  Simplified H55 on reading formula in, to give:
     %%%  H55:  byte + 3 <= dns_types__packet_bytes_range__last
%%%  Simplified H56 on reading formula in, to give:
     %%%  H56:  byte + 3 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H57 on reading formula in, to give:
     %%%  H57:  byte + 3 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H58 on reading formula in, to give:
     %%%  H58:  element(fld_bytes(input_packet), [byte + 2]) * 256 >= 
          integer__base__first
%%%  Simplified H59 on reading formula in, to give:
     %%%  H59:  element(fld_bytes(input_packet), [byte + 2]) * 256 <= 
          integer__base__last
%%%  Simplified H60 on reading formula in, to give:
     %%%  H60:  element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%%  Simplified H61 on reading formula in, to give:
     %%%  H61:  element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%%  Simplified H62 on reading formula in, to give:
     %%%  H62:  byte + 2 >= dns_types__packet_bytes_range__first
%%%  Simplified H63 on reading formula in, to give:
     %%%  H63:  byte + 2 <= dns_types__packet_bytes_range__last
%%%  Simplified H64 on reading formula in, to give:
     %%%  H64:  byte + 2 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H65 on reading formula in, to give:
     %%%  H65:  byte + 2 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H66 on reading formula in, to give:
     %%%  H66:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H67 on reading formula in, to give:
     %%%  H67:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H68 on reading formula in, to give:
     %%%  H68:  element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H69 on reading formula in, to give:
     %%%  H69:  element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  byte + 5 >= dns_types__packet_bytes_range__first
%%%  Simplified H71 on reading formula in, to give:
     %%%  H71:  byte + 5 <= dns_types__packet_bytes_range__last
%%%  Simplified H72 on reading formula in, to give:
     %%%  H72:  byte + 5 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  byte + 5 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  element(fld_bytes(input_packet), [byte + 4]) * 256 >= 
          integer__base__first
%%%  Simplified H75 on reading formula in, to give:
     %%%  H75:  element(fld_bytes(input_packet), [byte + 4]) * 256 <= 
          integer__base__last
%%%  Simplified H76 on reading formula in, to give:
     %%%  H76:  element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%%  Simplified H77 on reading formula in, to give:
     %%%  H77:  element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%%  Simplified H78 on reading formula in, to give:
     %%%  H78:  byte + 4 >= dns_types__packet_bytes_range__first
%%%  Simplified H79 on reading formula in, to give:
     %%%  H79:  byte + 4 <= dns_types__packet_bytes_range__last
%%%  Simplified H80 on reading formula in, to give:
     %%%  H80:  byte + 4 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H81 on reading formula in, to give:
     %%%  H81:  byte + 4 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H82 on reading formula in, to give:
     %%%  H82:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
          dns_types__query_type__first)
%%%  Simplified H83 on reading formula in, to give:
     %%%  H83:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
          dns_types__query_type__last)
%%%  Simplified H84 on reading formula in, to give:
     %%%  H84:  dns_types__query_type__first <= to_type(element(fld_bytes(
          input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
          byte + 3]))
%%%  Simplified H85 on reading formula in, to give:
     %%%  H85:  to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [byte + 3])) <= 
          dns_types__query_type__last
%%%  Simplified H86 on reading formula in, to give:
     %%%  H86:  dns_types__query_type__valid(to_type(element(fld_bytes(
          input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
          byte + 3])))
%%%  Simplified H87 on reading formula in, to give:
     %%%  H87:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
          dns_types__query_class__first)
%%%  Simplified H88 on reading formula in, to give:
     %%%  H88:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
          dns_types__query_class__last)
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  dns_types__query_class__first <= to_class(element(fld_bytes(
          input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
          byte + 5]))
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [byte + 5])) <= 
          dns_types__query_class__last
-S-  Applied substitution rule get_query_na_rules(107).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__first by:
          dns_types__in_class.
<S>  New H87:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
          dns_types__in_class)
<S>  New C1:  dns_types__in_class <= to_class(element(fld_bytes(input_packet), [
          byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]))
-S-  Applied substitution rule get_query_na_rules(108).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__last by:
          dns_types__any_class.
<S>  New H88:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
          dns_types__any_class)
<S>  New C2:  to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [byte + 5])) <= dns_types__any_class
>>>  Restructured hypothesis H43 into:
     >>>  H43:  input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
          byte + 1]) = 0 or rr_type__wirestringtypeindex__last <= i + 1
-S-  Applied substitution rule get_query_na_rules(1).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H22:  input_bytes >= 13
-S-  Applied substitution rule get_query_na_rules(7).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H37:  input_bytes >= - 2147483643
<S>  New H41:  byte >= - 2147483649
-S-  Applied substitution rule get_query_na_rules(8).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H38:  input_bytes <= 2147483652
<S>  New H42:  byte <= 2147483646
-S-  Applied substitution rule get_query_na_rules(9).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H58:  element(fld_bytes(input_packet), [byte + 2]) * 256 >= - 
          2147483648
<S>  New H74:  element(fld_bytes(input_packet), [byte + 4]) * 256 >= - 
          2147483648
-S-  Applied substitution rule get_query_na_rules(10).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H59:  element(fld_bytes(input_packet), [byte + 2]) * 256 <= 2147483647
<S>  New H75:  element(fld_bytes(input_packet), [byte + 4]) * 256 <= 2147483647
-S-  Applied substitution rule get_query_na_rules(12).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H24:  element(fld_bytes(input_packet), [byte]) >= 0
<S>  New H44:  true
-S-  Applied substitution rule get_query_na_rules(13).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H25:  element(fld_bytes(input_packet), [byte]) <= 255
<S>  New H45:  true
-S-  Applied substitution rule get_query_na_rules(17).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H32:  i >= - 1
<S>  New H50:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= 0
<S>  New H52:  element(fld_bytes(input_packet), [byte + 3]) >= 0
<S>  New H60:  element(fld_bytes(input_packet), [byte + 2]) >= 0
<S>  New H66:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= 0
<S>  New H68:  element(fld_bytes(input_packet), [byte + 5]) >= 0
<S>  New H76:  element(fld_bytes(input_packet), [byte + 4]) >= 0
-S-  Applied substitution rule get_query_na_rules(18).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H33:  i <= 2147483646
<S>  New H51:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S>  New H53:  element(fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S>  New H61:  element(fld_bytes(input_packet), [byte + 2]) <= 2147483647
<S>  New H67:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S>  New H69:  element(fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S>  New H77:  element(fld_bytes(input_packet), [byte + 4]) <= 2147483647
-S-  Applied substitution rule get_query_na_rules(22).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H20:  input_bytes >= 0
-S-  Applied substitution rule get_query_na_rules(23).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H21:  input_bytes <= 8192
-S-  Applied substitution rule get_query_na_rules(24).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__first by:
          - 2147483648.
<S>  New H39:  input_bytes >= - 2147483643
-S-  Applied substitution rule get_query_na_rules(25).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__last by:
          2147483647.
<S>  New H40:  input_bytes <= 2147483652
-S-  Applied substitution rule get_query_na_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H3:  byte >= 1
<S>  New H19:  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 H34:  byte >= 0
<S>  New H36:  byte + 1 <= input_bytes - 5 -> byte >= 0 and byte + 1 <= 
          dns_types__packet_bytes_range__last
<S>  New H54:  byte >= - 2
<S>  New H62:  byte >= - 1
<S>  New H70:  byte >= - 4
<S>  New H78:  byte >= - 3
-S-  Applied substitution rule get_query_na_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H29:  byte <= 8180
<S>  New H35:  byte <= 8179
<S>  New H55:  byte <= 8177
<S>  New H63:  byte <= 8178
<S>  New H71:  byte <= 8175
<S>  New H79:  byte <= 8176
<S>  New H19:  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 H36:  byte + 1 <= input_bytes - 5 -> byte >= 0 and byte <= 8179
-S-  Applied substitution rule get_query_na_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H56:  byte >= - 2147483651
<S>  New H64:  byte >= - 2147483650
<S>  New H72:  byte >= - 2147483653
<S>  New H80:  byte >= - 2147483652
-S-  Applied substitution rule get_query_na_rules(30).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H57:  byte <= 2147483644
<S>  New H65:  byte <= 2147483645
<S>  New H73:  byte <= 2147483642
<S>  New H81:  byte <= 2147483643
-S-  Applied substitution rule get_query_na_rules(33).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H19:  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-  Applied substitution rule get_query_na_rules(34).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H19:  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-  Applied substitution rule get_query_na_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H5:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H11:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H13:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H15:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H17:  fld_arcount(fld_header(input_packet)) >= 0
-S-  Applied substitution rule get_query_na_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H6:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H12:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H14:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H16:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H18:  fld_arcount(fld_header(input_packet)) <= 65535
-S-  Applied substitution rule get_query_na_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H7:  dns_types__query <= fld_opcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H8:  fld_opcode(fld_header(input_packet)) <= dns_types__status
-S-  Applied substitution rule get_query_na_rules(72).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H9:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(73).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H10:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S-  Applied substitution rule get_query_na_rules(137).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__first by:
          dns_types__a.
<S>  New H82:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= type_to_natural(dns_types__a)
<S>  New H84:  dns_types__a <= to_type(element(fld_bytes(input_packet), [byte + 
          2]) * 256 + element(fld_bytes(input_packet), [byte + 3]))
-S-  Applied substitution rule get_query_na_rules(138).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__last by:
          dns_types__unimplemented.
<S>  New H83:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
          dns_types__unimplemented)
<S>  New H85:  to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [byte + 3])) <= 
          dns_types__unimplemented
-S-  Applied substitution rule get_query_na_rules(196).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H1:  i >= 1
<S>  New H48:  i >= 0
-S-  Applied substitution rule get_query_na_rules(197).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H2:  i < 129
<S>  New H31:  i <= 129
<S>  New H43:  input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
          byte + 1]) = 0 or 128 <= i
<S>  New H49:  i <= 128
---  Eliminated hypothesis H26 (true-hypothesis).
---  Eliminated hypothesis H27 (true-hypothesis).
---  Eliminated hypothesis H28 (true-hypothesis).
---  Eliminated hypothesis H30 (true-hypothesis).
---  Eliminated hypothesis H46 (true-hypothesis).
---  Eliminated hypothesis H47 (true-hypothesis).
---  Eliminated hypothesis H44 (true-hypothesis).
---  Eliminated hypothesis H45 (true-hypothesis).
---  Eliminated hypothesis H39 (duplicate of H37).
---  Eliminated hypothesis H40 (duplicate of H38).
---  Eliminated hypothesis H49 (duplicate of H2).
---  Eliminated hypothesis H20 (redundant, given H22).
---  Eliminated hypothesis H21 (redundant, given H23).
---  Eliminated hypothesis H29 (redundant, given H35).
---  Eliminated hypothesis H31 (redundant, given H2).
---  Eliminated hypothesis H32 (redundant, given H1).
---  Eliminated hypothesis H33 (redundant, given H2).
---  Eliminated hypothesis H34 (redundant, given H3).
---  Eliminated hypothesis H35 (redundant, given H55).
---  Eliminated hypothesis H37 (redundant, given H22).
---  Eliminated hypothesis H38 (redundant, given H23).
---  Eliminated hypothesis H41 (redundant, given H3).
---  Eliminated hypothesis H42 (redundant, given H55).
---  Eliminated hypothesis H48 (redundant, given H1).
---  Eliminated hypothesis H54 (redundant, given H3).
---  Eliminated hypothesis H55 (redundant, given H71).
---  Eliminated hypothesis H56 (redundant, given H3).
---  Eliminated hypothesis H57 (redundant, given H63).
---  Eliminated hypothesis H58 (redundant, given H60).
---  Eliminated hypothesis H61 (redundant, given H59).
---  Eliminated hypothesis H62 (redundant, given H3).
---  Eliminated hypothesis H63 (redundant, given H71).
---  Eliminated hypothesis H64 (redundant, given H3).
---  Eliminated hypothesis H65 (redundant, given H71).
---  Eliminated hypothesis H70 (redundant, given H3).
---  Eliminated hypothesis H71 (redundant, given H4 & H23).
---  Eliminated hypothesis H72 (redundant, given H3).
---  Eliminated hypothesis H73 (redundant, given H79).
---  Eliminated hypothesis H74 (redundant, given H76).
---  Eliminated hypothesis H77 (redundant, given H75).
---  Eliminated hypothesis H78 (redundant, given H3).
---  Eliminated hypothesis H79 (redundant, given H4 & H23).
---  Eliminated hypothesis H80 (redundant, given H3).
---  Eliminated hypothesis H81 (redundant, given H4 & H23).
     +++  New H89:  integer__size >= 0
     +++  New H90:  character__size >= 0
     +++  New H91:  natural__size >= 0
     +++  New H92:  dns_types__packet_length_range__size >= 0
     +++  New H93:  dns_types__packet_bytes_range__size >= 0
     +++  New H94:  dns_types__dns_packet__size >= 0
     +++  New H95:  rr_type__wirestringtypeindex__size >= 0


@@@@@@@@@@  VC: procedure_get_query_name_type_class_26.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H19 on reading formula in, to give:
     %%%  H19:  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)
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H27 has been replaced by "true".  (It is already present, as 
          H25).
---  Hypothesis H28 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H30 has been replaced by "true".  (It is already present, as H1)
          .
---  Hypothesis H46 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H47 has been replaced by "true".  (It is already present, as 
          H45).
%%%  Simplified H50 on reading formula in, to give:
     %%%  H50:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H51 on reading formula in, to give:
     %%%  H51:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H53 on reading formula in, to give:
     %%%  H53:  element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  byte + 3 >= dns_types__packet_bytes_range__first
%%%  Simplified H55 on reading formula in, to give:
     %%%  H55:  byte + 3 <= dns_types__packet_bytes_range__last
%%%  Simplified H56 on reading formula in, to give:
     %%%  H56:  byte + 3 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H57 on reading formula in, to give:
     %%%  H57:  byte + 3 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H58 on reading formula in, to give:
     %%%  H58:  element(fld_bytes(input_packet), [byte + 2]) * 256 >= 
          integer__base__first
%%%  Simplified H59 on reading formula in, to give:
     %%%  H59:  element(fld_bytes(input_packet), [byte + 2]) * 256 <= 
          integer__base__last
%%%  Simplified H60 on reading formula in, to give:
     %%%  H60:  element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%%  Simplified H61 on reading formula in, to give:
     %%%  H61:  element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%%  Simplified H62 on reading formula in, to give:
     %%%  H62:  byte + 2 >= dns_types__packet_bytes_range__first
%%%  Simplified H63 on reading formula in, to give:
     %%%  H63:  byte + 2 <= dns_types__packet_bytes_range__last
%%%  Simplified H64 on reading formula in, to give:
     %%%  H64:  byte + 2 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H65 on reading formula in, to give:
     %%%  H65:  byte + 2 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H66 on reading formula in, to give:
     %%%  H66:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H67 on reading formula in, to give:
     %%%  H67:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H68 on reading formula in, to give:
     %%%  H68:  element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H69 on reading formula in, to give:
     %%%  H69:  element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  byte + 5 >= dns_types__packet_bytes_range__first
%%%  Simplified H71 on reading formula in, to give:
     %%%  H71:  byte + 5 <= dns_types__packet_bytes_range__last
%%%  Simplified H72 on reading formula in, to give:
     %%%  H72:  byte + 5 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  byte + 5 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  element(fld_bytes(input_packet), [byte + 4]) * 256 >= 
          integer__base__first
%%%  Simplified H75 on reading formula in, to give:
     %%%  H75:  element(fld_bytes(input_packet), [byte + 4]) * 256 <= 
          integer__base__last
%%%  Simplified H76 on reading formula in, to give:
     %%%  H76:  element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%%  Simplified H77 on reading formula in, to give:
     %%%  H77:  element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%%  Simplified H78 on reading formula in, to give:
     %%%  H78:  byte + 4 >= dns_types__packet_bytes_range__first
%%%  Simplified H79 on reading formula in, to give:
     %%%  H79:  byte + 4 <= dns_types__packet_bytes_range__last
%%%  Simplified H80 on reading formula in, to give:
     %%%  H80:  byte + 4 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H81 on reading formula in, to give:
     %%%  H81:  byte + 4 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H82 on reading formula in, to give:
     %%%  H82:  not (element(fld_bytes(input_packet), [byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
          dns_types__query_type__first) and element(fld_bytes(input_packet), [
          byte + 2]) * 256 + element(fld_bytes(input_packet), [byte + 3]) <= 
          type_to_natural(dns_types__query_type__last))
%%%  Simplified H83 on reading formula in, to give:
     %%%  H83:  dns_types__query_type__first <= dns_types__unimplemented
%%%  Simplified H85 on reading formula in, to give:
     %%%  H85:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
          dns_types__query_class__first)
%%%  Simplified H86 on reading formula in, to give:
     %%%  H86:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
          dns_types__query_class__last)
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  dns_types__query_class__first <= to_class(element(fld_bytes(
          input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
          byte + 5]))
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [byte + 5])) <= 
          dns_types__query_class__last
-S-  Applied substitution rule get_query_na_rules(107).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__first by:
          dns_types__in_class.
<S>  New H85:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
          dns_types__in_class)
<S>  New C1:  dns_types__in_class <= to_class(element(fld_bytes(input_packet), [
          byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]))
-S-  Applied substitution rule get_query_na_rules(108).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__last by:
          dns_types__any_class.
<S>  New H86:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
          dns_types__any_class)
<S>  New C2:  to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [byte + 5])) <= dns_types__any_class
>>>  Restructured hypothesis H43 into:
     >>>  H43:  input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
          byte + 1]) = 0 or rr_type__wirestringtypeindex__last <= i + 1
>>>  Restructured hypothesis H82 into:
     >>>  H82:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) < type_to_natural(
          dns_types__query_type__first) or type_to_natural(
          dns_types__query_type__last) < element(fld_bytes(input_packet), [byte 
          + 2]) * 256 + element(fld_bytes(input_packet), [byte + 3])
-S-  Applied substitution rule get_query_na_rules(1).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H22:  input_bytes >= 13
-S-  Applied substitution rule get_query_na_rules(7).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H37:  input_bytes >= - 2147483643
<S>  New H41:  byte >= - 2147483649
-S-  Applied substitution rule get_query_na_rules(8).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H38:  input_bytes <= 2147483652
<S>  New H42:  byte <= 2147483646
-S-  Applied substitution rule get_query_na_rules(9).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H58:  element(fld_bytes(input_packet), [byte + 2]) * 256 >= - 
          2147483648
<S>  New H74:  element(fld_bytes(input_packet), [byte + 4]) * 256 >= - 
          2147483648
-S-  Applied substitution rule get_query_na_rules(10).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H59:  element(fld_bytes(input_packet), [byte + 2]) * 256 <= 2147483647
<S>  New H75:  element(fld_bytes(input_packet), [byte + 4]) * 256 <= 2147483647
-S-  Applied substitution rule get_query_na_rules(12).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H24:  element(fld_bytes(input_packet), [byte]) >= 0
<S>  New H44:  true
-S-  Applied substitution rule get_query_na_rules(13).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H25:  element(fld_bytes(input_packet), [byte]) <= 255
<S>  New H45:  true
-S-  Applied substitution rule get_query_na_rules(17).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H32:  i >= - 1
<S>  New H50:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= 0
<S>  New H52:  element(fld_bytes(input_packet), [byte + 3]) >= 0
<S>  New H60:  element(fld_bytes(input_packet), [byte + 2]) >= 0
<S>  New H66:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= 0
<S>  New H68:  element(fld_bytes(input_packet), [byte + 5]) >= 0
<S>  New H76:  element(fld_bytes(input_packet), [byte + 4]) >= 0
-S-  Applied substitution rule get_query_na_rules(18).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H33:  i <= 2147483646
<S>  New H51:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S>  New H53:  element(fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S>  New H61:  element(fld_bytes(input_packet), [byte + 2]) <= 2147483647
<S>  New H67:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S>  New H69:  element(fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S>  New H77:  element(fld_bytes(input_packet), [byte + 4]) <= 2147483647
-S-  Applied substitution rule get_query_na_rules(22).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H20:  input_bytes >= 0
-S-  Applied substitution rule get_query_na_rules(23).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H21:  input_bytes <= 8192
-S-  Applied substitution rule get_query_na_rules(24).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__first by:
          - 2147483648.
<S>  New H39:  input_bytes >= - 2147483643
-S-  Applied substitution rule get_query_na_rules(25).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__last by:
          2147483647.
<S>  New H40:  input_bytes <= 2147483652
-S-  Applied substitution rule get_query_na_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H3:  byte >= 1
<S>  New H19:  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 H34:  byte >= 0
<S>  New H36:  byte + 1 <= input_bytes - 5 -> byte >= 0 and byte + 1 <= 
          dns_types__packet_bytes_range__last
<S>  New H54:  byte >= - 2
<S>  New H62:  byte >= - 1
<S>  New H70:  byte >= - 4
<S>  New H78:  byte >= - 3
-S-  Applied substitution rule get_query_na_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H29:  byte <= 8180
<S>  New H35:  byte <= 8179
<S>  New H55:  byte <= 8177
<S>  New H63:  byte <= 8178
<S>  New H71:  byte <= 8175
<S>  New H79:  byte <= 8176
<S>  New H19:  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 H36:  byte + 1 <= input_bytes - 5 -> byte >= 0 and byte <= 8179
-S-  Applied substitution rule get_query_na_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H56:  byte >= - 2147483651
<S>  New H64:  byte >= - 2147483650
<S>  New H72:  byte >= - 2147483653
<S>  New H80:  byte >= - 2147483652
-S-  Applied substitution rule get_query_na_rules(30).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H57:  byte <= 2147483644
<S>  New H65:  byte <= 2147483645
<S>  New H73:  byte <= 2147483642
<S>  New H81:  byte <= 2147483643
-S-  Applied substitution rule get_query_na_rules(33).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H19:  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-  Applied substitution rule get_query_na_rules(34).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H19:  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-  Applied substitution rule get_query_na_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H5:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H11:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H13:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H15:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H17:  fld_arcount(fld_header(input_packet)) >= 0
-S-  Applied substitution rule get_query_na_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H6:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H12:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H14:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H16:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H18:  fld_arcount(fld_header(input_packet)) <= 65535
-S-  Applied substitution rule get_query_na_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H7:  dns_types__query <= fld_opcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H8:  fld_opcode(fld_header(input_packet)) <= dns_types__status
-S-  Applied substitution rule get_query_na_rules(72).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H9:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(73).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H10:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S-  Applied substitution rule get_query_na_rules(137).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__first by:
          dns_types__a.
<S>  New H82:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) < type_to_natural(dns_types__a) 
          or type_to_natural(dns_types__query_type__last) < element(fld_bytes(
          input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
          byte + 3])
<S>  New H83:  true
-S-  Applied substitution rule get_query_na_rules(138).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__last by:
          dns_types__unimplemented.
<S>  New H84:  true
<S>  New H82:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) < type_to_natural(dns_types__a) 
          or type_to_natural(dns_types__unimplemented) < element(fld_bytes(
          input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
          byte + 3])
-S-  Applied substitution rule get_query_na_rules(196).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H1:  i >= 1
<S>  New H48:  i >= 0
-S-  Applied substitution rule get_query_na_rules(197).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H2:  i < 129
<S>  New H31:  i <= 129
<S>  New H43:  input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
          byte + 1]) = 0 or 128 <= i
<S>  New H49:  i <= 128
---  Eliminated hypothesis H26 (true-hypothesis).
---  Eliminated hypothesis H27 (true-hypothesis).
---  Eliminated hypothesis H28 (true-hypothesis).
---  Eliminated hypothesis H30 (true-hypothesis).
---  Eliminated hypothesis H46 (true-hypothesis).
---  Eliminated hypothesis H47 (true-hypothesis).
---  Eliminated hypothesis H44 (true-hypothesis).
---  Eliminated hypothesis H45 (true-hypothesis).
---  Eliminated hypothesis H83 (true-hypothesis).
---  Eliminated hypothesis H84 (true-hypothesis).
---  Eliminated hypothesis H39 (duplicate of H37).
---  Eliminated hypothesis H40 (duplicate of H38).
---  Eliminated hypothesis H49 (duplicate of H2).
---  Eliminated hypothesis H20 (redundant, given H22).
---  Eliminated hypothesis H21 (redundant, given H23).
---  Eliminated hypothesis H29 (redundant, given H35).
---  Eliminated hypothesis H31 (redundant, given H2).
---  Eliminated hypothesis H32 (redundant, given H1).
---  Eliminated hypothesis H33 (redundant, given H2).
---  Eliminated hypothesis H34 (redundant, given H3).
---  Eliminated hypothesis H35 (redundant, given H55).
---  Eliminated hypothesis H37 (redundant, given H22).
---  Eliminated hypothesis H38 (redundant, given H23).
---  Eliminated hypothesis H41 (redundant, given H3).
---  Eliminated hypothesis H42 (redundant, given H55).
---  Eliminated hypothesis H48 (redundant, given H1).
---  Eliminated hypothesis H54 (redundant, given H3).
---  Eliminated hypothesis H55 (redundant, given H71).
---  Eliminated hypothesis H56 (redundant, given H3).
---  Eliminated hypothesis H57 (redundant, given H63).
---  Eliminated hypothesis H58 (redundant, given H60).
---  Eliminated hypothesis H61 (redundant, given H59).
---  Eliminated hypothesis H62 (redundant, given H3).
---  Eliminated hypothesis H63 (redundant, given H71).
---  Eliminated hypothesis H64 (redundant, given H3).
---  Eliminated hypothesis H65 (redundant, given H71).
---  Eliminated hypothesis H70 (redundant, given H3).
---  Eliminated hypothesis H71 (redundant, given H4 & H23).
---  Eliminated hypothesis H72 (redundant, given H3).
---  Eliminated hypothesis H73 (redundant, given H79).
---  Eliminated hypothesis H74 (redundant, given H76).
---  Eliminated hypothesis H77 (redundant, given H75).
---  Eliminated hypothesis H78 (redundant, given H3).
---  Eliminated hypothesis H79 (redundant, given H4 & H23).
---  Eliminated hypothesis H80 (redundant, given H3).
---  Eliminated hypothesis H81 (redundant, given H4 & H23).
     +++  New H87:  integer__size >= 0
     +++  New H88:  character__size >= 0
     +++  New H89:  natural__size >= 0
     +++  New H90:  dns_types__packet_length_range__size >= 0
     +++  New H91:  dns_types__packet_bytes_range__size >= 0
     +++  New H92:  dns_types__dns_packet__size >= 0
     +++  New H93:  rr_type__wirestringtypeindex__size >= 0


@@@@@@@@@@  VC: procedure_get_query_name_type_class_27.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  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 H22 on reading formula in, to give:
     %%%  H22:  dns_types__packet_bytes_range__first <= input_bytes - 5 -> 
          dns_types__packet_bytes_range__first <= 
          dns_types__packet_bytes_range__last
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H31).
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  true
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  dns_types__query_type__first <= to_type(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 2]))
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  dns_types__query_type__first <= dns_types__unimplemented
%%%  Simplified H77 on reading formula in, to give:
     %%%  H77:  dns_types__query_class__first <= to_class(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 4]))
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  dns_types__query_class__first <= dns_types__none_class
-S-  Applied substitution rule get_query_na_rules(107).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__first by:
          dns_types__in_class.
<S>  New H75:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 4]) >= 
          class_to_natural(dns_types__in_class)
<S>  New H77:  dns_types__in_class <= to_class(element(fld_bytes(input_packet), 
          [dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 4]))
<S>  New C1:  true
-S-  Applied substitution rule get_query_na_rules(108).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__last by:
          dns_types__any_class.
<S>  New H76:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 4]) <= 
          class_to_natural(dns_types__any_class)
<S>  New H78:  to_class(element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 4])) <= 
          dns_types__any_class
<S>  New C2:  true
***  Proved C1:  true
***  Proved C2:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_28.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  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 H22 on reading formula in, to give:
     %%%  H22:  dns_types__packet_bytes_range__first <= input_bytes - 5 -> 
          dns_types__packet_bytes_range__first <= 
          dns_types__packet_bytes_range__last
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H31).
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  true
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  dns_types__query_type__first <= to_type(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 2]))
%%%  Simplified H72 on reading formula in, to give:
     %%%  H72:  dns_types__query_type__valid(to_type(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 2])))
%%%  Simplified H75 on reading formula in, to give:
     %%%  H75:  dns_types__query_class__first <= to_class(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 4]))
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  dns_types__query_class__first <= dns_types__none_class
-S-  Applied substitution rule get_query_na_rules(107).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__first by:
          dns_types__in_class.
<S>  New H73:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 4]) >= 
          class_to_natural(dns_types__in_class)
<S>  New H75:  dns_types__in_class <= to_class(element(fld_bytes(input_packet), 
          [dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 4]))
<S>  New C1:  true
-S-  Applied substitution rule get_query_na_rules(108).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__last by:
          dns_types__any_class.
<S>  New H74:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 4]) <= 
          class_to_natural(dns_types__any_class)
<S>  New H76:  to_class(element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 4])) <= 
          dns_types__any_class
<S>  New C2:  true
***  Proved C1:  true
***  Proved C2:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_29.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  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 H22 on reading formula in, to give:
     %%%  H22:  dns_types__packet_bytes_range__first <= input_bytes - 5 -> 
          dns_types__packet_bytes_range__first <= 
          dns_types__packet_bytes_range__last
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H31).
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  true
%%%  Simplified H69 on reading formula in, to give:
     %%%  H69:  dns_types__query_type__first <= dns_types__unimplemented
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  dns_types__query_class__first <= to_class(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 4]))
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  dns_types__query_class__first <= dns_types__none_class
-S-  Applied substitution rule get_query_na_rules(107).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__first by:
          dns_types__in_class.
<S>  New H71:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 4]) >= 
          class_to_natural(dns_types__in_class)
<S>  New H73:  dns_types__in_class <= to_class(element(fld_bytes(input_packet), 
          [dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 4]))
<S>  New C1:  true
-S-  Applied substitution rule get_query_na_rules(108).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__last by:
          dns_types__any_class.
<S>  New H72:  element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 4]) <= 
          class_to_natural(dns_types__any_class)
<S>  New H74:  to_class(element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 4])) <= 
          dns_types__any_class
<S>  New C2:  true
***  Proved C1:  true
***  Proved C2:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_30.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H19 on reading formula in, to give:
     %%%  H19:  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)
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H27 has been replaced by "true".  (It is already present, as 
          H25).
---  Hypothesis H28 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H30 has been replaced by "true".  (It is already present, as H1)
          .
---  Hypothesis H46 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H47 has been replaced by "true".  (It is already present, as 
          H45).
%%%  Simplified H50 on reading formula in, to give:
     %%%  H50:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H51 on reading formula in, to give:
     %%%  H51:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H53 on reading formula in, to give:
     %%%  H53:  element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  byte + 3 >= dns_types__packet_bytes_range__first
%%%  Simplified H55 on reading formula in, to give:
     %%%  H55:  byte + 3 <= dns_types__packet_bytes_range__last
%%%  Simplified H56 on reading formula in, to give:
     %%%  H56:  byte + 3 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H57 on reading formula in, to give:
     %%%  H57:  byte + 3 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H58 on reading formula in, to give:
     %%%  H58:  element(fld_bytes(input_packet), [byte + 2]) * 256 >= 
          integer__base__first
%%%  Simplified H59 on reading formula in, to give:
     %%%  H59:  element(fld_bytes(input_packet), [byte + 2]) * 256 <= 
          integer__base__last
%%%  Simplified H60 on reading formula in, to give:
     %%%  H60:  element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%%  Simplified H61 on reading formula in, to give:
     %%%  H61:  element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%%  Simplified H62 on reading formula in, to give:
     %%%  H62:  byte + 2 >= dns_types__packet_bytes_range__first
%%%  Simplified H63 on reading formula in, to give:
     %%%  H63:  byte + 2 <= dns_types__packet_bytes_range__last
%%%  Simplified H64 on reading formula in, to give:
     %%%  H64:  byte + 2 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H65 on reading formula in, to give:
     %%%  H65:  byte + 2 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H66 on reading formula in, to give:
     %%%  H66:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H67 on reading formula in, to give:
     %%%  H67:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H68 on reading formula in, to give:
     %%%  H68:  element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H69 on reading formula in, to give:
     %%%  H69:  element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  byte + 5 >= dns_types__packet_bytes_range__first
%%%  Simplified H71 on reading formula in, to give:
     %%%  H71:  byte + 5 <= dns_types__packet_bytes_range__last
%%%  Simplified H72 on reading formula in, to give:
     %%%  H72:  byte + 5 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  byte + 5 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  element(fld_bytes(input_packet), [byte + 4]) * 256 >= 
          integer__base__first
%%%  Simplified H75 on reading formula in, to give:
     %%%  H75:  element(fld_bytes(input_packet), [byte + 4]) * 256 <= 
          integer__base__last
%%%  Simplified H76 on reading formula in, to give:
     %%%  H76:  element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%%  Simplified H77 on reading formula in, to give:
     %%%  H77:  element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%%  Simplified H78 on reading formula in, to give:
     %%%  H78:  byte + 4 >= dns_types__packet_bytes_range__first
%%%  Simplified H79 on reading formula in, to give:
     %%%  H79:  byte + 4 <= dns_types__packet_bytes_range__last
%%%  Simplified H80 on reading formula in, to give:
     %%%  H80:  byte + 4 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H81 on reading formula in, to give:
     %%%  H81:  byte + 4 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H82 on reading formula in, to give:
     %%%  H82:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
          dns_types__query_type__first)
%%%  Simplified H83 on reading formula in, to give:
     %%%  H83:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
          dns_types__query_type__last)
%%%  Simplified H84 on reading formula in, to give:
     %%%  H84:  dns_types__query_type__first <= to_type(element(fld_bytes(
          input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
          byte + 3]))
%%%  Simplified H85 on reading formula in, to give:
     %%%  H85:  to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [byte + 3])) <= 
          dns_types__query_type__last
%%%  Simplified H86 on reading formula in, to give:
     %%%  H86:  not dns_types__query_type__valid(to_type(element(fld_bytes(
          input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
          byte + 3])))
%%%  Simplified H87 on reading formula in, to give:
     %%%  H87:  dns_types__query_type__first <= dns_types__unimplemented
%%%  Simplified H89 on reading formula in, to give:
     %%%  H89:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
          dns_types__query_class__first)
%%%  Simplified H90 on reading formula in, to give:
     %%%  H90:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
          dns_types__query_class__last)
%%%  Simplified H91 on reading formula in, to give:
     %%%  H91:  dns_types__query_class__first <= to_class(element(fld_bytes(
          input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
          byte + 5]))
%%%  Simplified H92 on reading formula in, to give:
     %%%  H92:  to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [byte + 5])) <= 
          dns_types__query_class__last
%%%  Simplified H93 on reading formula in, to give:
     %%%  H93:  not dns_types__query_class__valid(to_class(element(fld_bytes(
          input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
          byte + 5])))
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  dns_types__query_class__first <= dns_types__none_class
-S-  Applied substitution rule get_query_na_rules(107).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__first by:
          dns_types__in_class.
<S>  New H89:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
          dns_types__in_class)
<S>  New H91:  dns_types__in_class <= to_class(element(fld_bytes(input_packet), 
          [byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]))
<S>  New C1:  true
-S-  Applied substitution rule get_query_na_rules(108).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__last by:
          dns_types__any_class.
<S>  New H90:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
          dns_types__any_class)
<S>  New H92:  to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [byte + 5])) <= dns_types__any_class
<S>  New C2:  true
***  Proved C1:  true
***  Proved C2:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_31.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H19 on reading formula in, to give:
     %%%  H19:  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)
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H27 has been replaced by "true".  (It is already present, as 
          H25).
---  Hypothesis H28 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H30 has been replaced by "true".  (It is already present, as H1)
          .
---  Hypothesis H46 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H47 has been replaced by "true".  (It is already present, as 
          H45).
%%%  Simplified H50 on reading formula in, to give:
     %%%  H50:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H51 on reading formula in, to give:
     %%%  H51:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H53 on reading formula in, to give:
     %%%  H53:  element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  byte + 3 >= dns_types__packet_bytes_range__first
%%%  Simplified H55 on reading formula in, to give:
     %%%  H55:  byte + 3 <= dns_types__packet_bytes_range__last
%%%  Simplified H56 on reading formula in, to give:
     %%%  H56:  byte + 3 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H57 on reading formula in, to give:
     %%%  H57:  byte + 3 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H58 on reading formula in, to give:
     %%%  H58:  element(fld_bytes(input_packet), [byte + 2]) * 256 >= 
          integer__base__first
%%%  Simplified H59 on reading formula in, to give:
     %%%  H59:  element(fld_bytes(input_packet), [byte + 2]) * 256 <= 
          integer__base__last
%%%  Simplified H60 on reading formula in, to give:
     %%%  H60:  element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%%  Simplified H61 on reading formula in, to give:
     %%%  H61:  element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%%  Simplified H62 on reading formula in, to give:
     %%%  H62:  byte + 2 >= dns_types__packet_bytes_range__first
%%%  Simplified H63 on reading formula in, to give:
     %%%  H63:  byte + 2 <= dns_types__packet_bytes_range__last
%%%  Simplified H64 on reading formula in, to give:
     %%%  H64:  byte + 2 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H65 on reading formula in, to give:
     %%%  H65:  byte + 2 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H66 on reading formula in, to give:
     %%%  H66:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H67 on reading formula in, to give:
     %%%  H67:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H68 on reading formula in, to give:
     %%%  H68:  element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H69 on reading formula in, to give:
     %%%  H69:  element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  byte + 5 >= dns_types__packet_bytes_range__first
%%%  Simplified H71 on reading formula in, to give:
     %%%  H71:  byte + 5 <= dns_types__packet_bytes_range__last
%%%  Simplified H72 on reading formula in, to give:
     %%%  H72:  byte + 5 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  byte + 5 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  element(fld_bytes(input_packet), [byte + 4]) * 256 >= 
          integer__base__first
%%%  Simplified H75 on reading formula in, to give:
     %%%  H75:  element(fld_bytes(input_packet), [byte + 4]) * 256 <= 
          integer__base__last
%%%  Simplified H76 on reading formula in, to give:
     %%%  H76:  element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%%  Simplified H77 on reading formula in, to give:
     %%%  H77:  element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%%  Simplified H78 on reading formula in, to give:
     %%%  H78:  byte + 4 >= dns_types__packet_bytes_range__first
%%%  Simplified H79 on reading formula in, to give:
     %%%  H79:  byte + 4 <= dns_types__packet_bytes_range__last
%%%  Simplified H80 on reading formula in, to give:
     %%%  H80:  byte + 4 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H81 on reading formula in, to give:
     %%%  H81:  byte + 4 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H82 on reading formula in, to give:
     %%%  H82:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
          dns_types__query_type__first)
%%%  Simplified H83 on reading formula in, to give:
     %%%  H83:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
          dns_types__query_type__last)
%%%  Simplified H84 on reading formula in, to give:
     %%%  H84:  dns_types__query_type__first <= to_type(element(fld_bytes(
          input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
          byte + 3]))
%%%  Simplified H85 on reading formula in, to give:
     %%%  H85:  to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [byte + 3])) <= 
          dns_types__query_type__last
%%%  Simplified H86 on reading formula in, to give:
     %%%  H86:  dns_types__query_type__valid(to_type(element(fld_bytes(
          input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
          byte + 3])))
%%%  Simplified H87 on reading formula in, to give:
     %%%  H87:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
          dns_types__query_class__first)
%%%  Simplified H88 on reading formula in, to give:
     %%%  H88:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
          dns_types__query_class__last)
%%%  Simplified H89 on reading formula in, to give:
     %%%  H89:  dns_types__query_class__first <= to_class(element(fld_bytes(
          input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
          byte + 5]))
%%%  Simplified H90 on reading formula in, to give:
     %%%  H90:  to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [byte + 5])) <= 
          dns_types__query_class__last
%%%  Simplified H91 on reading formula in, to give:
     %%%  H91:  not dns_types__query_class__valid(to_class(element(fld_bytes(
          input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
          byte + 5])))
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  dns_types__query_class__first <= dns_types__none_class
-S-  Applied substitution rule get_query_na_rules(107).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__first by:
          dns_types__in_class.
<S>  New H87:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
          dns_types__in_class)
<S>  New H89:  dns_types__in_class <= to_class(element(fld_bytes(input_packet), 
          [byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]))
<S>  New C1:  true
-S-  Applied substitution rule get_query_na_rules(108).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__last by:
          dns_types__any_class.
<S>  New H88:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
          dns_types__any_class)
<S>  New H90:  to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [byte + 5])) <= dns_types__any_class
<S>  New C2:  true
***  Proved C1:  true
***  Proved C2:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_32.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H19 on reading formula in, to give:
     %%%  H19:  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)
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H27 has been replaced by "true".  (It is already present, as 
          H25).
---  Hypothesis H28 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H30 has been replaced by "true".  (It is already present, as H1)
          .
---  Hypothesis H46 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H47 has been replaced by "true".  (It is already present, as 
          H45).
%%%  Simplified H50 on reading formula in, to give:
     %%%  H50:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H51 on reading formula in, to give:
     %%%  H51:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H53 on reading formula in, to give:
     %%%  H53:  element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  byte + 3 >= dns_types__packet_bytes_range__first
%%%  Simplified H55 on reading formula in, to give:
     %%%  H55:  byte + 3 <= dns_types__packet_bytes_range__last
%%%  Simplified H56 on reading formula in, to give:
     %%%  H56:  byte + 3 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H57 on reading formula in, to give:
     %%%  H57:  byte + 3 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H58 on reading formula in, to give:
     %%%  H58:  element(fld_bytes(input_packet), [byte + 2]) * 256 >= 
          integer__base__first
%%%  Simplified H59 on reading formula in, to give:
     %%%  H59:  element(fld_bytes(input_packet), [byte + 2]) * 256 <= 
          integer__base__last
%%%  Simplified H60 on reading formula in, to give:
     %%%  H60:  element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%%  Simplified H61 on reading formula in, to give:
     %%%  H61:  element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%%  Simplified H62 on reading formula in, to give:
     %%%  H62:  byte + 2 >= dns_types__packet_bytes_range__first
%%%  Simplified H63 on reading formula in, to give:
     %%%  H63:  byte + 2 <= dns_types__packet_bytes_range__last
%%%  Simplified H64 on reading formula in, to give:
     %%%  H64:  byte + 2 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H65 on reading formula in, to give:
     %%%  H65:  byte + 2 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H66 on reading formula in, to give:
     %%%  H66:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H67 on reading formula in, to give:
     %%%  H67:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H68 on reading formula in, to give:
     %%%  H68:  element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H69 on reading formula in, to give:
     %%%  H69:  element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  byte + 5 >= dns_types__packet_bytes_range__first
%%%  Simplified H71 on reading formula in, to give:
     %%%  H71:  byte + 5 <= dns_types__packet_bytes_range__last
%%%  Simplified H72 on reading formula in, to give:
     %%%  H72:  byte + 5 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  byte + 5 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  element(fld_bytes(input_packet), [byte + 4]) * 256 >= 
          integer__base__first
%%%  Simplified H75 on reading formula in, to give:
     %%%  H75:  element(fld_bytes(input_packet), [byte + 4]) * 256 <= 
          integer__base__last
%%%  Simplified H76 on reading formula in, to give:
     %%%  H76:  element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%%  Simplified H77 on reading formula in, to give:
     %%%  H77:  element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%%  Simplified H78 on reading formula in, to give:
     %%%  H78:  byte + 4 >= dns_types__packet_bytes_range__first
%%%  Simplified H79 on reading formula in, to give:
     %%%  H79:  byte + 4 <= dns_types__packet_bytes_range__last
%%%  Simplified H80 on reading formula in, to give:
     %%%  H80:  byte + 4 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H81 on reading formula in, to give:
     %%%  H81:  byte + 4 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H82 on reading formula in, to give:
     %%%  H82:  not (element(fld_bytes(input_packet), [byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
          dns_types__query_type__first) and element(fld_bytes(input_packet), [
          byte + 2]) * 256 + element(fld_bytes(input_packet), [byte + 3]) <= 
          type_to_natural(dns_types__query_type__last))
%%%  Simplified H83 on reading formula in, to give:
     %%%  H83:  dns_types__query_type__first <= dns_types__unimplemented
%%%  Simplified H85 on reading formula in, to give:
     %%%  H85:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
          dns_types__query_class__first)
%%%  Simplified H86 on reading formula in, to give:
     %%%  H86:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
          dns_types__query_class__last)
%%%  Simplified H87 on reading formula in, to give:
     %%%  H87:  dns_types__query_class__first <= to_class(element(fld_bytes(
          input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
          byte + 5]))
%%%  Simplified H88 on reading formula in, to give:
     %%%  H88:  to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [byte + 5])) <= 
          dns_types__query_class__last
%%%  Simplified H89 on reading formula in, to give:
     %%%  H89:  not dns_types__query_class__valid(to_class(element(fld_bytes(
          input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
          byte + 5])))
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  dns_types__query_class__first <= dns_types__none_class
-S-  Applied substitution rule get_query_na_rules(107).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__first by:
          dns_types__in_class.
<S>  New H85:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
          dns_types__in_class)
<S>  New H87:  dns_types__in_class <= to_class(element(fld_bytes(input_packet), 
          [byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]))
<S>  New C1:  true
-S-  Applied substitution rule get_query_na_rules(108).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__last by:
          dns_types__any_class.
<S>  New H86:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
          dns_types__any_class)
<S>  New H88:  to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [byte + 5])) <= dns_types__any_class
<S>  New C2:  true
***  Proved C1:  true
***  Proved C2:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_33.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  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 H22 on reading formula in, to give:
     %%%  H22:  dns_types__packet_bytes_range__first <= input_bytes - 5 -> 
          dns_types__packet_bytes_range__first <= 
          dns_types__packet_bytes_range__last
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H31).
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  true
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  dns_types__query_type__first <= to_type(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 2]))
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  dns_types__query_type__first <= dns_types__unimplemented
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  dns_types__query_class__first <= dns_types__none_class
-S-  Applied substitution rule get_query_na_rules(107).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__first by:
          dns_types__in_class.
<S>  New H75:  not (element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 4]) >= 
          class_to_natural(dns_types__in_class) and element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 4]) <= class_to_natural(
          dns_types__query_class__last))
<S>  New C1:  true
-S-  Applied substitution rule get_query_na_rules(108).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__last by:
          dns_types__any_class.
<S>  New H75:  not (element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 4]) >= 
          class_to_natural(dns_types__in_class) and element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 4]) <= class_to_natural(
          dns_types__any_class))
<S>  New C2:  true
***  Proved C1:  true
***  Proved C2:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_34.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  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 H22 on reading formula in, to give:
     %%%  H22:  dns_types__packet_bytes_range__first <= input_bytes - 5 -> 
          dns_types__packet_bytes_range__first <= 
          dns_types__packet_bytes_range__last
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H31).
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  true
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  dns_types__query_type__first <= to_type(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 2]))
%%%  Simplified H72 on reading formula in, to give:
     %%%  H72:  dns_types__query_type__valid(to_type(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 2])))
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  dns_types__query_class__first <= dns_types__none_class
-S-  Applied substitution rule get_query_na_rules(107).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__first by:
          dns_types__in_class.
<S>  New H73:  not (element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 4]) >= 
          class_to_natural(dns_types__in_class) and element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 4]) <= class_to_natural(
          dns_types__query_class__last))
<S>  New C1:  true
-S-  Applied substitution rule get_query_na_rules(108).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__last by:
          dns_types__any_class.
<S>  New H73:  not (element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 4]) >= 
          class_to_natural(dns_types__in_class) and element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 4]) <= class_to_natural(
          dns_types__any_class))
<S>  New C2:  true
***  Proved C1:  true
***  Proved C2:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_35.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  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 H22 on reading formula in, to give:
     %%%  H22:  dns_types__packet_bytes_range__first <= input_bytes - 5 -> 
          dns_types__packet_bytes_range__first <= 
          dns_types__packet_bytes_range__last
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H31).
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  true
%%%  Simplified H69 on reading formula in, to give:
     %%%  H69:  dns_types__query_type__first <= dns_types__unimplemented
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  dns_types__query_class__first <= dns_types__none_class
-S-  Applied substitution rule get_query_na_rules(107).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__first by:
          dns_types__in_class.
<S>  New H71:  not (element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 4]) >= 
          class_to_natural(dns_types__in_class) and element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 4]) <= class_to_natural(
          dns_types__query_class__last))
<S>  New C1:  true
-S-  Applied substitution rule get_query_na_rules(108).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__last by:
          dns_types__any_class.
<S>  New H71:  not (element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 3]) * 256 + element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 4]) >= 
          class_to_natural(dns_types__in_class) and element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 4]) <= class_to_natural(
          dns_types__any_class))
<S>  New C2:  true
***  Proved C1:  true
***  Proved C2:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_36.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H19 on reading formula in, to give:
     %%%  H19:  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)
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H27 has been replaced by "true".  (It is already present, as 
          H25).
---  Hypothesis H28 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H30 has been replaced by "true".  (It is already present, as H1)
          .
---  Hypothesis H46 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H47 has been replaced by "true".  (It is already present, as 
          H45).
%%%  Simplified H50 on reading formula in, to give:
     %%%  H50:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H51 on reading formula in, to give:
     %%%  H51:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H53 on reading formula in, to give:
     %%%  H53:  element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  byte + 3 >= dns_types__packet_bytes_range__first
%%%  Simplified H55 on reading formula in, to give:
     %%%  H55:  byte + 3 <= dns_types__packet_bytes_range__last
%%%  Simplified H56 on reading formula in, to give:
     %%%  H56:  byte + 3 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H57 on reading formula in, to give:
     %%%  H57:  byte + 3 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H58 on reading formula in, to give:
     %%%  H58:  element(fld_bytes(input_packet), [byte + 2]) * 256 >= 
          integer__base__first
%%%  Simplified H59 on reading formula in, to give:
     %%%  H59:  element(fld_bytes(input_packet), [byte + 2]) * 256 <= 
          integer__base__last
%%%  Simplified H60 on reading formula in, to give:
     %%%  H60:  element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%%  Simplified H61 on reading formula in, to give:
     %%%  H61:  element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%%  Simplified H62 on reading formula in, to give:
     %%%  H62:  byte + 2 >= dns_types__packet_bytes_range__first
%%%  Simplified H63 on reading formula in, to give:
     %%%  H63:  byte + 2 <= dns_types__packet_bytes_range__last
%%%  Simplified H64 on reading formula in, to give:
     %%%  H64:  byte + 2 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H65 on reading formula in, to give:
     %%%  H65:  byte + 2 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H66 on reading formula in, to give:
     %%%  H66:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H67 on reading formula in, to give:
     %%%  H67:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H68 on reading formula in, to give:
     %%%  H68:  element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H69 on reading formula in, to give:
     %%%  H69:  element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  byte + 5 >= dns_types__packet_bytes_range__first
%%%  Simplified H71 on reading formula in, to give:
     %%%  H71:  byte + 5 <= dns_types__packet_bytes_range__last
%%%  Simplified H72 on reading formula in, to give:
     %%%  H72:  byte + 5 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  byte + 5 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  element(fld_bytes(input_packet), [byte + 4]) * 256 >= 
          integer__base__first
%%%  Simplified H75 on reading formula in, to give:
     %%%  H75:  element(fld_bytes(input_packet), [byte + 4]) * 256 <= 
          integer__base__last
%%%  Simplified H76 on reading formula in, to give:
     %%%  H76:  element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%%  Simplified H77 on reading formula in, to give:
     %%%  H77:  element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%%  Simplified H78 on reading formula in, to give:
     %%%  H78:  byte + 4 >= dns_types__packet_bytes_range__first
%%%  Simplified H79 on reading formula in, to give:
     %%%  H79:  byte + 4 <= dns_types__packet_bytes_range__last
%%%  Simplified H80 on reading formula in, to give:
     %%%  H80:  byte + 4 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H81 on reading formula in, to give:
     %%%  H81:  byte + 4 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H82 on reading formula in, to give:
     %%%  H82:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
          dns_types__query_type__first)
%%%  Simplified H83 on reading formula in, to give:
     %%%  H83:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
          dns_types__query_type__last)
%%%  Simplified H84 on reading formula in, to give:
     %%%  H84:  dns_types__query_type__first <= to_type(element(fld_bytes(
          input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
          byte + 3]))
%%%  Simplified H85 on reading formula in, to give:
     %%%  H85:  to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [byte + 3])) <= 
          dns_types__query_type__last
%%%  Simplified H86 on reading formula in, to give:
     %%%  H86:  not dns_types__query_type__valid(to_type(element(fld_bytes(
          input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
          byte + 3])))
%%%  Simplified H87 on reading formula in, to give:
     %%%  H87:  dns_types__query_type__first <= dns_types__unimplemented
%%%  Simplified H89 on reading formula in, to give:
     %%%  H89:  not (element(fld_bytes(input_packet), [byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
          dns_types__query_class__first) and element(fld_bytes(input_packet), [
          byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]) <= 
          class_to_natural(dns_types__query_class__last))
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  dns_types__query_class__first <= dns_types__none_class
-S-  Applied substitution rule get_query_na_rules(107).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__first by:
          dns_types__in_class.
<S>  New H89:  not (element(fld_bytes(input_packet), [byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
          dns_types__in_class) and element(fld_bytes(input_packet), [byte + 4]) 
          * 256 + element(fld_bytes(input_packet), [byte + 5]) <= 
          class_to_natural(dns_types__query_class__last))
<S>  New C1:  true
-S-  Applied substitution rule get_query_na_rules(108).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__last by:
          dns_types__any_class.
<S>  New H89:  not (element(fld_bytes(input_packet), [byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
          dns_types__in_class) and element(fld_bytes(input_packet), [byte + 4]) 
          * 256 + element(fld_bytes(input_packet), [byte + 5]) <= 
          class_to_natural(dns_types__any_class))
<S>  New C2:  true
***  Proved C1:  true
***  Proved C2:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_37.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H19 on reading formula in, to give:
     %%%  H19:  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)
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H27 has been replaced by "true".  (It is already present, as 
          H25).
---  Hypothesis H28 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H30 has been replaced by "true".  (It is already present, as H1)
          .
---  Hypothesis H46 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H47 has been replaced by "true".  (It is already present, as 
          H45).
%%%  Simplified H50 on reading formula in, to give:
     %%%  H50:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H51 on reading formula in, to give:
     %%%  H51:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H53 on reading formula in, to give:
     %%%  H53:  element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  byte + 3 >= dns_types__packet_bytes_range__first
%%%  Simplified H55 on reading formula in, to give:
     %%%  H55:  byte + 3 <= dns_types__packet_bytes_range__last
%%%  Simplified H56 on reading formula in, to give:
     %%%  H56:  byte + 3 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H57 on reading formula in, to give:
     %%%  H57:  byte + 3 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H58 on reading formula in, to give:
     %%%  H58:  element(fld_bytes(input_packet), [byte + 2]) * 256 >= 
          integer__base__first
%%%  Simplified H59 on reading formula in, to give:
     %%%  H59:  element(fld_bytes(input_packet), [byte + 2]) * 256 <= 
          integer__base__last
%%%  Simplified H60 on reading formula in, to give:
     %%%  H60:  element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%%  Simplified H61 on reading formula in, to give:
     %%%  H61:  element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%%  Simplified H62 on reading formula in, to give:
     %%%  H62:  byte + 2 >= dns_types__packet_bytes_range__first
%%%  Simplified H63 on reading formula in, to give:
     %%%  H63:  byte + 2 <= dns_types__packet_bytes_range__last
%%%  Simplified H64 on reading formula in, to give:
     %%%  H64:  byte + 2 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H65 on reading formula in, to give:
     %%%  H65:  byte + 2 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H66 on reading formula in, to give:
     %%%  H66:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H67 on reading formula in, to give:
     %%%  H67:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H68 on reading formula in, to give:
     %%%  H68:  element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H69 on reading formula in, to give:
     %%%  H69:  element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  byte + 5 >= dns_types__packet_bytes_range__first
%%%  Simplified H71 on reading formula in, to give:
     %%%  H71:  byte + 5 <= dns_types__packet_bytes_range__last
%%%  Simplified H72 on reading formula in, to give:
     %%%  H72:  byte + 5 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  byte + 5 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  element(fld_bytes(input_packet), [byte + 4]) * 256 >= 
          integer__base__first
%%%  Simplified H75 on reading formula in, to give:
     %%%  H75:  element(fld_bytes(input_packet), [byte + 4]) * 256 <= 
          integer__base__last
%%%  Simplified H76 on reading formula in, to give:
     %%%  H76:  element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%%  Simplified H77 on reading formula in, to give:
     %%%  H77:  element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%%  Simplified H78 on reading formula in, to give:
     %%%  H78:  byte + 4 >= dns_types__packet_bytes_range__first
%%%  Simplified H79 on reading formula in, to give:
     %%%  H79:  byte + 4 <= dns_types__packet_bytes_range__last
%%%  Simplified H80 on reading formula in, to give:
     %%%  H80:  byte + 4 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H81 on reading formula in, to give:
     %%%  H81:  byte + 4 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H82 on reading formula in, to give:
     %%%  H82:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
          dns_types__query_type__first)
%%%  Simplified H83 on reading formula in, to give:
     %%%  H83:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
          dns_types__query_type__last)
%%%  Simplified H84 on reading formula in, to give:
     %%%  H84:  dns_types__query_type__first <= to_type(element(fld_bytes(
          input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
          byte + 3]))
%%%  Simplified H85 on reading formula in, to give:
     %%%  H85:  to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [byte + 3])) <= 
          dns_types__query_type__last
%%%  Simplified H86 on reading formula in, to give:
     %%%  H86:  dns_types__query_type__valid(to_type(element(fld_bytes(
          input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
          byte + 3])))
%%%  Simplified H87 on reading formula in, to give:
     %%%  H87:  not (element(fld_bytes(input_packet), [byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
          dns_types__query_class__first) and element(fld_bytes(input_packet), [
          byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]) <= 
          class_to_natural(dns_types__query_class__last))
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  dns_types__query_class__first <= dns_types__none_class
-S-  Applied substitution rule get_query_na_rules(107).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__first by:
          dns_types__in_class.
<S>  New H87:  not (element(fld_bytes(input_packet), [byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
          dns_types__in_class) and element(fld_bytes(input_packet), [byte + 4]) 
          * 256 + element(fld_bytes(input_packet), [byte + 5]) <= 
          class_to_natural(dns_types__query_class__last))
<S>  New C1:  true
-S-  Applied substitution rule get_query_na_rules(108).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__last by:
          dns_types__any_class.
<S>  New H87:  not (element(fld_bytes(input_packet), [byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
          dns_types__in_class) and element(fld_bytes(input_packet), [byte + 4]) 
          * 256 + element(fld_bytes(input_packet), [byte + 5]) <= 
          class_to_natural(dns_types__any_class))
<S>  New C2:  true
***  Proved C1:  true
***  Proved C2:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_38.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H19 on reading formula in, to give:
     %%%  H19:  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)
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H27 has been replaced by "true".  (It is already present, as 
          H25).
---  Hypothesis H28 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H30 has been replaced by "true".  (It is already present, as H1)
          .
---  Hypothesis H46 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H47 has been replaced by "true".  (It is already present, as 
          H45).
%%%  Simplified H50 on reading formula in, to give:
     %%%  H50:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H51 on reading formula in, to give:
     %%%  H51:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H53 on reading formula in, to give:
     %%%  H53:  element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  byte + 3 >= dns_types__packet_bytes_range__first
%%%  Simplified H55 on reading formula in, to give:
     %%%  H55:  byte + 3 <= dns_types__packet_bytes_range__last
%%%  Simplified H56 on reading formula in, to give:
     %%%  H56:  byte + 3 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H57 on reading formula in, to give:
     %%%  H57:  byte + 3 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H58 on reading formula in, to give:
     %%%  H58:  element(fld_bytes(input_packet), [byte + 2]) * 256 >= 
          integer__base__first
%%%  Simplified H59 on reading formula in, to give:
     %%%  H59:  element(fld_bytes(input_packet), [byte + 2]) * 256 <= 
          integer__base__last
%%%  Simplified H60 on reading formula in, to give:
     %%%  H60:  element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%%  Simplified H61 on reading formula in, to give:
     %%%  H61:  element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%%  Simplified H62 on reading formula in, to give:
     %%%  H62:  byte + 2 >= dns_types__packet_bytes_range__first
%%%  Simplified H63 on reading formula in, to give:
     %%%  H63:  byte + 2 <= dns_types__packet_bytes_range__last
%%%  Simplified H64 on reading formula in, to give:
     %%%  H64:  byte + 2 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H65 on reading formula in, to give:
     %%%  H65:  byte + 2 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H66 on reading formula in, to give:
     %%%  H66:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H67 on reading formula in, to give:
     %%%  H67:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H68 on reading formula in, to give:
     %%%  H68:  element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H69 on reading formula in, to give:
     %%%  H69:  element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  byte + 5 >= dns_types__packet_bytes_range__first
%%%  Simplified H71 on reading formula in, to give:
     %%%  H71:  byte + 5 <= dns_types__packet_bytes_range__last
%%%  Simplified H72 on reading formula in, to give:
     %%%  H72:  byte + 5 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  byte + 5 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  element(fld_bytes(input_packet), [byte + 4]) * 256 >= 
          integer__base__first
%%%  Simplified H75 on reading formula in, to give:
     %%%  H75:  element(fld_bytes(input_packet), [byte + 4]) * 256 <= 
          integer__base__last
%%%  Simplified H76 on reading formula in, to give:
     %%%  H76:  element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%%  Simplified H77 on reading formula in, to give:
     %%%  H77:  element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%%  Simplified H78 on reading formula in, to give:
     %%%  H78:  byte + 4 >= dns_types__packet_bytes_range__first
%%%  Simplified H79 on reading formula in, to give:
     %%%  H79:  byte + 4 <= dns_types__packet_bytes_range__last
%%%  Simplified H80 on reading formula in, to give:
     %%%  H80:  byte + 4 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H81 on reading formula in, to give:
     %%%  H81:  byte + 4 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H82 on reading formula in, to give:
     %%%  H82:  not (element(fld_bytes(input_packet), [byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
          dns_types__query_type__first) and element(fld_bytes(input_packet), [
          byte + 2]) * 256 + element(fld_bytes(input_packet), [byte + 3]) <= 
          type_to_natural(dns_types__query_type__last))
%%%  Simplified H83 on reading formula in, to give:
     %%%  H83:  dns_types__query_type__first <= dns_types__unimplemented
%%%  Simplified H85 on reading formula in, to give:
     %%%  H85:  not (element(fld_bytes(input_packet), [byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
          dns_types__query_class__first) and element(fld_bytes(input_packet), [
          byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]) <= 
          class_to_natural(dns_types__query_class__last))
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  dns_types__query_class__first <= dns_types__none_class
-S-  Applied substitution rule get_query_na_rules(107).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__first by:
          dns_types__in_class.
<S>  New H85:  not (element(fld_bytes(input_packet), [byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
          dns_types__in_class) and element(fld_bytes(input_packet), [byte + 4]) 
          * 256 + element(fld_bytes(input_packet), [byte + 5]) <= 
          class_to_natural(dns_types__query_class__last))
<S>  New C1:  true
-S-  Applied substitution rule get_query_na_rules(108).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__last by:
          dns_types__any_class.
<S>  New H85:  not (element(fld_bytes(input_packet), [byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
          dns_types__in_class) and element(fld_bytes(input_packet), [byte + 4]) 
          * 256 + element(fld_bytes(input_packet), [byte + 5]) <= 
          class_to_natural(dns_types__any_class))
<S>  New C2:  true
***  Proved C1:  true
***  Proved C2:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_39.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  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 H22 on reading formula in, to give:
     %%%  H22:  dns_types__packet_bytes_range__first <= input_bytes - 5 -> 
          dns_types__packet_bytes_range__first <= 
          dns_types__packet_bytes_range__last
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H31).
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  true
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  dns_types__query_type__first <= to_type(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 2]))
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  dns_types__query_type__first <= dns_types__unimplemented
%%%  Simplified H77 on reading formula in, to give:
     %%%  H77:  dns_types__query_class__first <= to_class(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 4]))
%%%  Simplified H80 on reading formula in, to give:
     %%%  H80:  dns_types__query_class__first <= dns_types__none_class
***  Proved C1:  dns_types__packet_bytes_range__first + 4 >= 
          dns_types__packet_bytes_range__first
     using hypothesis H56.
***  Proved C2:  dns_types__packet_bytes_range__first + 4 <= 
          dns_types__packet_bytes_range__last
     using hypothesis H57.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_40.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  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 H22 on reading formula in, to give:
     %%%  H22:  dns_types__packet_bytes_range__first <= input_bytes - 5 -> 
          dns_types__packet_bytes_range__first <= 
          dns_types__packet_bytes_range__last
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H31).
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  true
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  dns_types__query_type__first <= to_type(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 2]))
%%%  Simplified H72 on reading formula in, to give:
     %%%  H72:  dns_types__query_type__valid(to_type(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 2])))
%%%  Simplified H75 on reading formula in, to give:
     %%%  H75:  dns_types__query_class__first <= to_class(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 4]))
%%%  Simplified H78 on reading formula in, to give:
     %%%  H78:  dns_types__query_class__first <= dns_types__none_class
***  Proved C1:  dns_types__packet_bytes_range__first + 4 >= 
          dns_types__packet_bytes_range__first
     using hypothesis H56.
***  Proved C2:  dns_types__packet_bytes_range__first + 4 <= 
          dns_types__packet_bytes_range__last
     using hypothesis H57.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_41.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  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 H22 on reading formula in, to give:
     %%%  H22:  dns_types__packet_bytes_range__first <= input_bytes - 5 -> 
          dns_types__packet_bytes_range__first <= 
          dns_types__packet_bytes_range__last
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H31).
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  true
%%%  Simplified H69 on reading formula in, to give:
     %%%  H69:  dns_types__query_type__first <= dns_types__unimplemented
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  dns_types__query_class__first <= to_class(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 4]))
%%%  Simplified H76 on reading formula in, to give:
     %%%  H76:  dns_types__query_class__first <= dns_types__none_class
***  Proved C1:  dns_types__packet_bytes_range__first + 4 >= 
          dns_types__packet_bytes_range__first
     using hypothesis H56.
***  Proved C2:  dns_types__packet_bytes_range__first + 4 <= 
          dns_types__packet_bytes_range__last
     using hypothesis H57.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_42.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  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 H22 on reading formula in, to give:
     %%%  H22:  dns_types__packet_bytes_range__first <= input_bytes - 5 -> 
          dns_types__packet_bytes_range__first <= 
          dns_types__packet_bytes_range__last
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H31).
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  true
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  dns_types__query_type__first <= to_type(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 2]))
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  dns_types__query_type__first <= dns_types__unimplemented
%%%  Simplified H77 on reading formula in, to give:
     %%%  H77:  dns_types__query_class__first <= to_class(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 4]))
%%%  Simplified H79 on reading formula in, to give:
     %%%  H79:  dns_types__query_class__valid(to_class(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 4])))
***  Proved C1:  dns_types__packet_bytes_range__first + 4 >= 
          dns_types__packet_bytes_range__first
     using hypothesis H56.
***  Proved C2:  dns_types__packet_bytes_range__first + 4 <= 
          dns_types__packet_bytes_range__last
     using hypothesis H57.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_43.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  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 H22 on reading formula in, to give:
     %%%  H22:  dns_types__packet_bytes_range__first <= input_bytes - 5 -> 
          dns_types__packet_bytes_range__first <= 
          dns_types__packet_bytes_range__last
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H31).
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  true
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  dns_types__query_type__first <= to_type(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 2]))
%%%  Simplified H72 on reading formula in, to give:
     %%%  H72:  dns_types__query_type__valid(to_type(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 2])))
%%%  Simplified H75 on reading formula in, to give:
     %%%  H75:  dns_types__query_class__first <= to_class(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 4]))
%%%  Simplified H77 on reading formula in, to give:
     %%%  H77:  dns_types__query_class__valid(to_class(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 4])))
***  Proved C1:  dns_types__packet_bytes_range__first + 4 >= 
          dns_types__packet_bytes_range__first
     using hypothesis H56.
***  Proved C2:  dns_types__packet_bytes_range__first + 4 <= 
          dns_types__packet_bytes_range__last
     using hypothesis H57.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_44.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  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 H22 on reading formula in, to give:
     %%%  H22:  dns_types__packet_bytes_range__first <= input_bytes - 5 -> 
          dns_types__packet_bytes_range__first <= 
          dns_types__packet_bytes_range__last
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H31).
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  true
%%%  Simplified H69 on reading formula in, to give:
     %%%  H69:  dns_types__query_type__first <= dns_types__unimplemented
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  dns_types__query_class__first <= to_class(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 4]))
%%%  Simplified H75 on reading formula in, to give:
     %%%  H75:  dns_types__query_class__valid(to_class(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 4])))
***  Proved C1:  dns_types__packet_bytes_range__first + 4 >= 
          dns_types__packet_bytes_range__first
     using hypothesis H56.
***  Proved C2:  dns_types__packet_bytes_range__first + 4 <= 
          dns_types__packet_bytes_range__last
     using hypothesis H57.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_45.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  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 H22 on reading formula in, to give:
     %%%  H22:  dns_types__packet_bytes_range__first <= input_bytes - 5 -> 
          dns_types__packet_bytes_range__first <= 
          dns_types__packet_bytes_range__last
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H31).
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  true
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  dns_types__query_type__first <= to_type(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 2]))
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  dns_types__query_type__first <= dns_types__unimplemented
%%%  Simplified H76 on reading formula in, to give:
     %%%  H76:  dns_types__query_class__first <= dns_types__none_class
***  Proved C1:  dns_types__packet_bytes_range__first + 4 >= 
          dns_types__packet_bytes_range__first
     using hypothesis H56.
***  Proved C2:  dns_types__packet_bytes_range__first + 4 <= 
          dns_types__packet_bytes_range__last
     using hypothesis H57.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_46.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  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 H22 on reading formula in, to give:
     %%%  H22:  dns_types__packet_bytes_range__first <= input_bytes - 5 -> 
          dns_types__packet_bytes_range__first <= 
          dns_types__packet_bytes_range__last
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H31).
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  true
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  dns_types__query_type__first <= to_type(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 2]))
%%%  Simplified H72 on reading formula in, to give:
     %%%  H72:  dns_types__query_type__valid(to_type(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 2])))
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  dns_types__query_class__first <= dns_types__none_class
***  Proved C1:  dns_types__packet_bytes_range__first + 4 >= 
          dns_types__packet_bytes_range__first
     using hypothesis H56.
***  Proved C2:  dns_types__packet_bytes_range__first + 4 <= 
          dns_types__packet_bytes_range__last
     using hypothesis H57.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_47.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  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 H22 on reading formula in, to give:
     %%%  H22:  dns_types__packet_bytes_range__first <= input_bytes - 5 -> 
          dns_types__packet_bytes_range__first <= 
          dns_types__packet_bytes_range__last
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H31).
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  true
%%%  Simplified H69 on reading formula in, to give:
     %%%  H69:  dns_types__query_type__first <= dns_types__unimplemented
%%%  Simplified H72 on reading formula in, to give:
     %%%  H72:  dns_types__query_class__first <= dns_types__none_class
***  Proved C1:  dns_types__packet_bytes_range__first + 4 >= 
          dns_types__packet_bytes_range__first
     using hypothesis H56.
***  Proved C2:  dns_types__packet_bytes_range__first + 4 <= 
          dns_types__packet_bytes_range__last
     using hypothesis H57.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_48.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H19 on reading formula in, to give:
     %%%  H19:  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)
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H27 has been replaced by "true".  (It is already present, as 
          H25).
---  Hypothesis H28 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H30 has been replaced by "true".  (It is already present, as H1)
          .
---  Hypothesis H46 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H47 has been replaced by "true".  (It is already present, as 
          H45).
%%%  Simplified H50 on reading formula in, to give:
     %%%  H50:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H51 on reading formula in, to give:
     %%%  H51:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H53 on reading formula in, to give:
     %%%  H53:  element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  byte + 3 >= dns_types__packet_bytes_range__first
%%%  Simplified H55 on reading formula in, to give:
     %%%  H55:  byte + 3 <= dns_types__packet_bytes_range__last
%%%  Simplified H56 on reading formula in, to give:
     %%%  H56:  byte + 3 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H57 on reading formula in, to give:
     %%%  H57:  byte + 3 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H58 on reading formula in, to give:
     %%%  H58:  element(fld_bytes(input_packet), [byte + 2]) * 256 >= 
          integer__base__first
%%%  Simplified H59 on reading formula in, to give:
     %%%  H59:  element(fld_bytes(input_packet), [byte + 2]) * 256 <= 
          integer__base__last
%%%  Simplified H60 on reading formula in, to give:
     %%%  H60:  element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%%  Simplified H61 on reading formula in, to give:
     %%%  H61:  element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%%  Simplified H62 on reading formula in, to give:
     %%%  H62:  byte + 2 >= dns_types__packet_bytes_range__first
%%%  Simplified H63 on reading formula in, to give:
     %%%  H63:  byte + 2 <= dns_types__packet_bytes_range__last
%%%  Simplified H64 on reading formula in, to give:
     %%%  H64:  byte + 2 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H65 on reading formula in, to give:
     %%%  H65:  byte + 2 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H66 on reading formula in, to give:
     %%%  H66:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H67 on reading formula in, to give:
     %%%  H67:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H68 on reading formula in, to give:
     %%%  H68:  element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H69 on reading formula in, to give:
     %%%  H69:  element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  byte + 5 >= dns_types__packet_bytes_range__first
%%%  Simplified H71 on reading formula in, to give:
     %%%  H71:  byte + 5 <= dns_types__packet_bytes_range__last
%%%  Simplified H72 on reading formula in, to give:
     %%%  H72:  byte + 5 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  byte + 5 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  element(fld_bytes(input_packet), [byte + 4]) * 256 >= 
          integer__base__first
%%%  Simplified H75 on reading formula in, to give:
     %%%  H75:  element(fld_bytes(input_packet), [byte + 4]) * 256 <= 
          integer__base__last
%%%  Simplified H76 on reading formula in, to give:
     %%%  H76:  element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%%  Simplified H77 on reading formula in, to give:
     %%%  H77:  element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%%  Simplified H78 on reading formula in, to give:
     %%%  H78:  byte + 4 >= dns_types__packet_bytes_range__first
%%%  Simplified H79 on reading formula in, to give:
     %%%  H79:  byte + 4 <= dns_types__packet_bytes_range__last
%%%  Simplified H80 on reading formula in, to give:
     %%%  H80:  byte + 4 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H81 on reading formula in, to give:
     %%%  H81:  byte + 4 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H82 on reading formula in, to give:
     %%%  H82:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
          dns_types__query_type__first)
%%%  Simplified H83 on reading formula in, to give:
     %%%  H83:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
          dns_types__query_type__last)
%%%  Simplified H84 on reading formula in, to give:
     %%%  H84:  dns_types__query_type__first <= to_type(element(fld_bytes(
          input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
          byte + 3]))
%%%  Simplified H85 on reading formula in, to give:
     %%%  H85:  to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [byte + 3])) <= 
          dns_types__query_type__last
%%%  Simplified H86 on reading formula in, to give:
     %%%  H86:  not dns_types__query_type__valid(to_type(element(fld_bytes(
          input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
          byte + 3])))
%%%  Simplified H87 on reading formula in, to give:
     %%%  H87:  dns_types__query_type__first <= dns_types__unimplemented
%%%  Simplified H89 on reading formula in, to give:
     %%%  H89:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
          dns_types__query_class__first)
%%%  Simplified H90 on reading formula in, to give:
     %%%  H90:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
          dns_types__query_class__last)
%%%  Simplified H91 on reading formula in, to give:
     %%%  H91:  dns_types__query_class__first <= to_class(element(fld_bytes(
          input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
          byte + 5]))
%%%  Simplified H92 on reading formula in, to give:
     %%%  H92:  to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [byte + 5])) <= 
          dns_types__query_class__last
%%%  Simplified H93 on reading formula in, to give:
     %%%  H93:  not dns_types__query_class__valid(to_class(element(fld_bytes(
          input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
          byte + 5])))
%%%  Simplified H94 on reading formula in, to give:
     %%%  H94:  dns_types__query_class__first <= dns_types__none_class
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  byte + 5 >= dns_types__packet_bytes_range__first
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  byte + 5 <= dns_types__packet_bytes_range__last
***  Proved C1:  byte + 5 >= dns_types__packet_bytes_range__first
     using hypothesis H70.
***  Proved C2:  byte + 5 <= dns_types__packet_bytes_range__last
     using hypothesis H71.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_49.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H19 on reading formula in, to give:
     %%%  H19:  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)
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H27 has been replaced by "true".  (It is already present, as 
          H25).
---  Hypothesis H28 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H30 has been replaced by "true".  (It is already present, as H1)
          .
---  Hypothesis H46 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H47 has been replaced by "true".  (It is already present, as 
          H45).
%%%  Simplified H50 on reading formula in, to give:
     %%%  H50:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H51 on reading formula in, to give:
     %%%  H51:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H53 on reading formula in, to give:
     %%%  H53:  element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  byte + 3 >= dns_types__packet_bytes_range__first
%%%  Simplified H55 on reading formula in, to give:
     %%%  H55:  byte + 3 <= dns_types__packet_bytes_range__last
%%%  Simplified H56 on reading formula in, to give:
     %%%  H56:  byte + 3 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H57 on reading formula in, to give:
     %%%  H57:  byte + 3 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H58 on reading formula in, to give:
     %%%  H58:  element(fld_bytes(input_packet), [byte + 2]) * 256 >= 
          integer__base__first
%%%  Simplified H59 on reading formula in, to give:
     %%%  H59:  element(fld_bytes(input_packet), [byte + 2]) * 256 <= 
          integer__base__last
%%%  Simplified H60 on reading formula in, to give:
     %%%  H60:  element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%%  Simplified H61 on reading formula in, to give:
     %%%  H61:  element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%%  Simplified H62 on reading formula in, to give:
     %%%  H62:  byte + 2 >= dns_types__packet_bytes_range__first
%%%  Simplified H63 on reading formula in, to give:
     %%%  H63:  byte + 2 <= dns_types__packet_bytes_range__last
%%%  Simplified H64 on reading formula in, to give:
     %%%  H64:  byte + 2 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H65 on reading formula in, to give:
     %%%  H65:  byte + 2 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H66 on reading formula in, to give:
     %%%  H66:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H67 on reading formula in, to give:
     %%%  H67:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H68 on reading formula in, to give:
     %%%  H68:  element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H69 on reading formula in, to give:
     %%%  H69:  element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  byte + 5 >= dns_types__packet_bytes_range__first
%%%  Simplified H71 on reading formula in, to give:
     %%%  H71:  byte + 5 <= dns_types__packet_bytes_range__last
%%%  Simplified H72 on reading formula in, to give:
     %%%  H72:  byte + 5 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  byte + 5 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  element(fld_bytes(input_packet), [byte + 4]) * 256 >= 
          integer__base__first
%%%  Simplified H75 on reading formula in, to give:
     %%%  H75:  element(fld_bytes(input_packet), [byte + 4]) * 256 <= 
          integer__base__last
%%%  Simplified H76 on reading formula in, to give:
     %%%  H76:  element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%%  Simplified H77 on reading formula in, to give:
     %%%  H77:  element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%%  Simplified H78 on reading formula in, to give:
     %%%  H78:  byte + 4 >= dns_types__packet_bytes_range__first
%%%  Simplified H79 on reading formula in, to give:
     %%%  H79:  byte + 4 <= dns_types__packet_bytes_range__last
%%%  Simplified H80 on reading formula in, to give:
     %%%  H80:  byte + 4 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H81 on reading formula in, to give:
     %%%  H81:  byte + 4 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H82 on reading formula in, to give:
     %%%  H82:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
          dns_types__query_type__first)
%%%  Simplified H83 on reading formula in, to give:
     %%%  H83:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
          dns_types__query_type__last)
%%%  Simplified H84 on reading formula in, to give:
     %%%  H84:  dns_types__query_type__first <= to_type(element(fld_bytes(
          input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
          byte + 3]))
%%%  Simplified H85 on reading formula in, to give:
     %%%  H85:  to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [byte + 3])) <= 
          dns_types__query_type__last
%%%  Simplified H86 on reading formula in, to give:
     %%%  H86:  dns_types__query_type__valid(to_type(element(fld_bytes(
          input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
          byte + 3])))
%%%  Simplified H87 on reading formula in, to give:
     %%%  H87:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
          dns_types__query_class__first)
%%%  Simplified H88 on reading formula in, to give:
     %%%  H88:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
          dns_types__query_class__last)
%%%  Simplified H89 on reading formula in, to give:
     %%%  H89:  dns_types__query_class__first <= to_class(element(fld_bytes(
          input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
          byte + 5]))
%%%  Simplified H90 on reading formula in, to give:
     %%%  H90:  to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [byte + 5])) <= 
          dns_types__query_class__last
%%%  Simplified H91 on reading formula in, to give:
     %%%  H91:  not dns_types__query_class__valid(to_class(element(fld_bytes(
          input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
          byte + 5])))
%%%  Simplified H92 on reading formula in, to give:
     %%%  H92:  dns_types__query_class__first <= dns_types__none_class
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  byte + 5 >= dns_types__packet_bytes_range__first
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  byte + 5 <= dns_types__packet_bytes_range__last
***  Proved C1:  byte + 5 >= dns_types__packet_bytes_range__first
     using hypothesis H70.
***  Proved C2:  byte + 5 <= dns_types__packet_bytes_range__last
     using hypothesis H71.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_50.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H19 on reading formula in, to give:
     %%%  H19:  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)
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H27 has been replaced by "true".  (It is already present, as 
          H25).
---  Hypothesis H28 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H30 has been replaced by "true".  (It is already present, as H1)
          .
---  Hypothesis H46 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H47 has been replaced by "true".  (It is already present, as 
          H45).
%%%  Simplified H50 on reading formula in, to give:
     %%%  H50:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H51 on reading formula in, to give:
     %%%  H51:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H53 on reading formula in, to give:
     %%%  H53:  element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  byte + 3 >= dns_types__packet_bytes_range__first
%%%  Simplified H55 on reading formula in, to give:
     %%%  H55:  byte + 3 <= dns_types__packet_bytes_range__last
%%%  Simplified H56 on reading formula in, to give:
     %%%  H56:  byte + 3 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H57 on reading formula in, to give:
     %%%  H57:  byte + 3 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H58 on reading formula in, to give:
     %%%  H58:  element(fld_bytes(input_packet), [byte + 2]) * 256 >= 
          integer__base__first
%%%  Simplified H59 on reading formula in, to give:
     %%%  H59:  element(fld_bytes(input_packet), [byte + 2]) * 256 <= 
          integer__base__last
%%%  Simplified H60 on reading formula in, to give:
     %%%  H60:  element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%%  Simplified H61 on reading formula in, to give:
     %%%  H61:  element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%%  Simplified H62 on reading formula in, to give:
     %%%  H62:  byte + 2 >= dns_types__packet_bytes_range__first
%%%  Simplified H63 on reading formula in, to give:
     %%%  H63:  byte + 2 <= dns_types__packet_bytes_range__last
%%%  Simplified H64 on reading formula in, to give:
     %%%  H64:  byte + 2 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H65 on reading formula in, to give:
     %%%  H65:  byte + 2 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H66 on reading formula in, to give:
     %%%  H66:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H67 on reading formula in, to give:
     %%%  H67:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H68 on reading formula in, to give:
     %%%  H68:  element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H69 on reading formula in, to give:
     %%%  H69:  element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  byte + 5 >= dns_types__packet_bytes_range__first
%%%  Simplified H71 on reading formula in, to give:
     %%%  H71:  byte + 5 <= dns_types__packet_bytes_range__last
%%%  Simplified H72 on reading formula in, to give:
     %%%  H72:  byte + 5 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  byte + 5 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  element(fld_bytes(input_packet), [byte + 4]) * 256 >= 
          integer__base__first
%%%  Simplified H75 on reading formula in, to give:
     %%%  H75:  element(fld_bytes(input_packet), [byte + 4]) * 256 <= 
          integer__base__last
%%%  Simplified H76 on reading formula in, to give:
     %%%  H76:  element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%%  Simplified H77 on reading formula in, to give:
     %%%  H77:  element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%%  Simplified H78 on reading formula in, to give:
     %%%  H78:  byte + 4 >= dns_types__packet_bytes_range__first
%%%  Simplified H79 on reading formula in, to give:
     %%%  H79:  byte + 4 <= dns_types__packet_bytes_range__last
%%%  Simplified H80 on reading formula in, to give:
     %%%  H80:  byte + 4 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H81 on reading formula in, to give:
     %%%  H81:  byte + 4 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H82 on reading formula in, to give:
     %%%  H82:  not (element(fld_bytes(input_packet), [byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
          dns_types__query_type__first) and element(fld_bytes(input_packet), [
          byte + 2]) * 256 + element(fld_bytes(input_packet), [byte + 3]) <= 
          type_to_natural(dns_types__query_type__last))
%%%  Simplified H83 on reading formula in, to give:
     %%%  H83:  dns_types__query_type__first <= dns_types__unimplemented
%%%  Simplified H85 on reading formula in, to give:
     %%%  H85:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
          dns_types__query_class__first)
%%%  Simplified H86 on reading formula in, to give:
     %%%  H86:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
          dns_types__query_class__last)
%%%  Simplified H87 on reading formula in, to give:
     %%%  H87:  dns_types__query_class__first <= to_class(element(fld_bytes(
          input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
          byte + 5]))
%%%  Simplified H88 on reading formula in, to give:
     %%%  H88:  to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [byte + 5])) <= 
          dns_types__query_class__last
%%%  Simplified H89 on reading formula in, to give:
     %%%  H89:  not dns_types__query_class__valid(to_class(element(fld_bytes(
          input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
          byte + 5])))
%%%  Simplified H90 on reading formula in, to give:
     %%%  H90:  dns_types__query_class__first <= dns_types__none_class
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  byte + 5 >= dns_types__packet_bytes_range__first
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  byte + 5 <= dns_types__packet_bytes_range__last
***  Proved C1:  byte + 5 >= dns_types__packet_bytes_range__first
     using hypothesis H70.
***  Proved C2:  byte + 5 <= dns_types__packet_bytes_range__last
     using hypothesis H71.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_51.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H19 on reading formula in, to give:
     %%%  H19:  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)
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H27 has been replaced by "true".  (It is already present, as 
          H25).
---  Hypothesis H28 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H30 has been replaced by "true".  (It is already present, as H1)
          .
---  Hypothesis H46 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H47 has been replaced by "true".  (It is already present, as 
          H45).
%%%  Simplified H50 on reading formula in, to give:
     %%%  H50:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H51 on reading formula in, to give:
     %%%  H51:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H53 on reading formula in, to give:
     %%%  H53:  element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  byte + 3 >= dns_types__packet_bytes_range__first
%%%  Simplified H55 on reading formula in, to give:
     %%%  H55:  byte + 3 <= dns_types__packet_bytes_range__last
%%%  Simplified H56 on reading formula in, to give:
     %%%  H56:  byte + 3 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H57 on reading formula in, to give:
     %%%  H57:  byte + 3 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H58 on reading formula in, to give:
     %%%  H58:  element(fld_bytes(input_packet), [byte + 2]) * 256 >= 
          integer__base__first
%%%  Simplified H59 on reading formula in, to give:
     %%%  H59:  element(fld_bytes(input_packet), [byte + 2]) * 256 <= 
          integer__base__last
%%%  Simplified H60 on reading formula in, to give:
     %%%  H60:  element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%%  Simplified H61 on reading formula in, to give:
     %%%  H61:  element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%%  Simplified H62 on reading formula in, to give:
     %%%  H62:  byte + 2 >= dns_types__packet_bytes_range__first
%%%  Simplified H63 on reading formula in, to give:
     %%%  H63:  byte + 2 <= dns_types__packet_bytes_range__last
%%%  Simplified H64 on reading formula in, to give:
     %%%  H64:  byte + 2 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H65 on reading formula in, to give:
     %%%  H65:  byte + 2 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H66 on reading formula in, to give:
     %%%  H66:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H67 on reading formula in, to give:
     %%%  H67:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H68 on reading formula in, to give:
     %%%  H68:  element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H69 on reading formula in, to give:
     %%%  H69:  element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  byte + 5 >= dns_types__packet_bytes_range__first
%%%  Simplified H71 on reading formula in, to give:
     %%%  H71:  byte + 5 <= dns_types__packet_bytes_range__last
%%%  Simplified H72 on reading formula in, to give:
     %%%  H72:  byte + 5 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  byte + 5 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  element(fld_bytes(input_packet), [byte + 4]) * 256 >= 
          integer__base__first
%%%  Simplified H75 on reading formula in, to give:
     %%%  H75:  element(fld_bytes(input_packet), [byte + 4]) * 256 <= 
          integer__base__last
%%%  Simplified H76 on reading formula in, to give:
     %%%  H76:  element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%%  Simplified H77 on reading formula in, to give:
     %%%  H77:  element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%%  Simplified H78 on reading formula in, to give:
     %%%  H78:  byte + 4 >= dns_types__packet_bytes_range__first
%%%  Simplified H79 on reading formula in, to give:
     %%%  H79:  byte + 4 <= dns_types__packet_bytes_range__last
%%%  Simplified H80 on reading formula in, to give:
     %%%  H80:  byte + 4 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H81 on reading formula in, to give:
     %%%  H81:  byte + 4 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H82 on reading formula in, to give:
     %%%  H82:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
          dns_types__query_type__first)
%%%  Simplified H83 on reading formula in, to give:
     %%%  H83:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
          dns_types__query_type__last)
%%%  Simplified H84 on reading formula in, to give:
     %%%  H84:  dns_types__query_type__first <= to_type(element(fld_bytes(
          input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
          byte + 3]))
%%%  Simplified H85 on reading formula in, to give:
     %%%  H85:  to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [byte + 3])) <= 
          dns_types__query_type__last
%%%  Simplified H86 on reading formula in, to give:
     %%%  H86:  not dns_types__query_type__valid(to_type(element(fld_bytes(
          input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
          byte + 3])))
%%%  Simplified H87 on reading formula in, to give:
     %%%  H87:  dns_types__query_type__first <= dns_types__unimplemented
%%%  Simplified H89 on reading formula in, to give:
     %%%  H89:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
          dns_types__query_class__first)
%%%  Simplified H90 on reading formula in, to give:
     %%%  H90:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
          dns_types__query_class__last)
%%%  Simplified H91 on reading formula in, to give:
     %%%  H91:  dns_types__query_class__first <= to_class(element(fld_bytes(
          input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
          byte + 5]))
%%%  Simplified H92 on reading formula in, to give:
     %%%  H92:  to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [byte + 5])) <= 
          dns_types__query_class__last
%%%  Simplified H93 on reading formula in, to give:
     %%%  H93:  dns_types__query_class__valid(to_class(element(fld_bytes(
          input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
          byte + 5])))
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  byte + 5 >= dns_types__packet_bytes_range__first
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  byte + 5 <= dns_types__packet_bytes_range__last
***  Proved C1:  byte + 5 >= dns_types__packet_bytes_range__first
     using hypothesis H70.
***  Proved C2:  byte + 5 <= dns_types__packet_bytes_range__last
     using hypothesis H71.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_52.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H19 on reading formula in, to give:
     %%%  H19:  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)
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H27 has been replaced by "true".  (It is already present, as 
          H25).
---  Hypothesis H28 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H30 has been replaced by "true".  (It is already present, as H1)
          .
---  Hypothesis H46 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H47 has been replaced by "true".  (It is already present, as 
          H45).
%%%  Simplified H50 on reading formula in, to give:
     %%%  H50:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H51 on reading formula in, to give:
     %%%  H51:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H53 on reading formula in, to give:
     %%%  H53:  element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  byte + 3 >= dns_types__packet_bytes_range__first
%%%  Simplified H55 on reading formula in, to give:
     %%%  H55:  byte + 3 <= dns_types__packet_bytes_range__last
%%%  Simplified H56 on reading formula in, to give:
     %%%  H56:  byte + 3 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H57 on reading formula in, to give:
     %%%  H57:  byte + 3 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H58 on reading formula in, to give:
     %%%  H58:  element(fld_bytes(input_packet), [byte + 2]) * 256 >= 
          integer__base__first
%%%  Simplified H59 on reading formula in, to give:
     %%%  H59:  element(fld_bytes(input_packet), [byte + 2]) * 256 <= 
          integer__base__last
%%%  Simplified H60 on reading formula in, to give:
     %%%  H60:  element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%%  Simplified H61 on reading formula in, to give:
     %%%  H61:  element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%%  Simplified H62 on reading formula in, to give:
     %%%  H62:  byte + 2 >= dns_types__packet_bytes_range__first
%%%  Simplified H63 on reading formula in, to give:
     %%%  H63:  byte + 2 <= dns_types__packet_bytes_range__last
%%%  Simplified H64 on reading formula in, to give:
     %%%  H64:  byte + 2 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H65 on reading formula in, to give:
     %%%  H65:  byte + 2 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H66 on reading formula in, to give:
     %%%  H66:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H67 on reading formula in, to give:
     %%%  H67:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H68 on reading formula in, to give:
     %%%  H68:  element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H69 on reading formula in, to give:
     %%%  H69:  element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  byte + 5 >= dns_types__packet_bytes_range__first
%%%  Simplified H71 on reading formula in, to give:
     %%%  H71:  byte + 5 <= dns_types__packet_bytes_range__last
%%%  Simplified H72 on reading formula in, to give:
     %%%  H72:  byte + 5 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  byte + 5 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  element(fld_bytes(input_packet), [byte + 4]) * 256 >= 
          integer__base__first
%%%  Simplified H75 on reading formula in, to give:
     %%%  H75:  element(fld_bytes(input_packet), [byte + 4]) * 256 <= 
          integer__base__last
%%%  Simplified H76 on reading formula in, to give:
     %%%  H76:  element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%%  Simplified H77 on reading formula in, to give:
     %%%  H77:  element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%%  Simplified H78 on reading formula in, to give:
     %%%  H78:  byte + 4 >= dns_types__packet_bytes_range__first
%%%  Simplified H79 on reading formula in, to give:
     %%%  H79:  byte + 4 <= dns_types__packet_bytes_range__last
%%%  Simplified H80 on reading formula in, to give:
     %%%  H80:  byte + 4 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H81 on reading formula in, to give:
     %%%  H81:  byte + 4 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H82 on reading formula in, to give:
     %%%  H82:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
          dns_types__query_type__first)
%%%  Simplified H83 on reading formula in, to give:
     %%%  H83:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
          dns_types__query_type__last)
%%%  Simplified H84 on reading formula in, to give:
     %%%  H84:  dns_types__query_type__first <= to_type(element(fld_bytes(
          input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
          byte + 3]))
%%%  Simplified H85 on reading formula in, to give:
     %%%  H85:  to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [byte + 3])) <= 
          dns_types__query_type__last
%%%  Simplified H86 on reading formula in, to give:
     %%%  H86:  dns_types__query_type__valid(to_type(element(fld_bytes(
          input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
          byte + 3])))
%%%  Simplified H87 on reading formula in, to give:
     %%%  H87:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
          dns_types__query_class__first)
%%%  Simplified H88 on reading formula in, to give:
     %%%  H88:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
          dns_types__query_class__last)
%%%  Simplified H89 on reading formula in, to give:
     %%%  H89:  dns_types__query_class__first <= to_class(element(fld_bytes(
          input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
          byte + 5]))
%%%  Simplified H90 on reading formula in, to give:
     %%%  H90:  to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [byte + 5])) <= 
          dns_types__query_class__last
%%%  Simplified H91 on reading formula in, to give:
     %%%  H91:  dns_types__query_class__valid(to_class(element(fld_bytes(
          input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
          byte + 5])))
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  byte + 5 >= dns_types__packet_bytes_range__first
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  byte + 5 <= dns_types__packet_bytes_range__last
***  Proved C1:  byte + 5 >= dns_types__packet_bytes_range__first
     using hypothesis H70.
***  Proved C2:  byte + 5 <= dns_types__packet_bytes_range__last
     using hypothesis H71.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_53.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H19 on reading formula in, to give:
     %%%  H19:  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)
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H27 has been replaced by "true".  (It is already present, as 
          H25).
---  Hypothesis H28 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H30 has been replaced by "true".  (It is already present, as H1)
          .
---  Hypothesis H46 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H47 has been replaced by "true".  (It is already present, as 
          H45).
%%%  Simplified H50 on reading formula in, to give:
     %%%  H50:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H51 on reading formula in, to give:
     %%%  H51:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H53 on reading formula in, to give:
     %%%  H53:  element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  byte + 3 >= dns_types__packet_bytes_range__first
%%%  Simplified H55 on reading formula in, to give:
     %%%  H55:  byte + 3 <= dns_types__packet_bytes_range__last
%%%  Simplified H56 on reading formula in, to give:
     %%%  H56:  byte + 3 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H57 on reading formula in, to give:
     %%%  H57:  byte + 3 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H58 on reading formula in, to give:
     %%%  H58:  element(fld_bytes(input_packet), [byte + 2]) * 256 >= 
          integer__base__first
%%%  Simplified H59 on reading formula in, to give:
     %%%  H59:  element(fld_bytes(input_packet), [byte + 2]) * 256 <= 
          integer__base__last
%%%  Simplified H60 on reading formula in, to give:
     %%%  H60:  element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%%  Simplified H61 on reading formula in, to give:
     %%%  H61:  element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%%  Simplified H62 on reading formula in, to give:
     %%%  H62:  byte + 2 >= dns_types__packet_bytes_range__first
%%%  Simplified H63 on reading formula in, to give:
     %%%  H63:  byte + 2 <= dns_types__packet_bytes_range__last
%%%  Simplified H64 on reading formula in, to give:
     %%%  H64:  byte + 2 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H65 on reading formula in, to give:
     %%%  H65:  byte + 2 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H66 on reading formula in, to give:
     %%%  H66:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H67 on reading formula in, to give:
     %%%  H67:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H68 on reading formula in, to give:
     %%%  H68:  element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H69 on reading formula in, to give:
     %%%  H69:  element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  byte + 5 >= dns_types__packet_bytes_range__first
%%%  Simplified H71 on reading formula in, to give:
     %%%  H71:  byte + 5 <= dns_types__packet_bytes_range__last
%%%  Simplified H72 on reading formula in, to give:
     %%%  H72:  byte + 5 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  byte + 5 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  element(fld_bytes(input_packet), [byte + 4]) * 256 >= 
          integer__base__first
%%%  Simplified H75 on reading formula in, to give:
     %%%  H75:  element(fld_bytes(input_packet), [byte + 4]) * 256 <= 
          integer__base__last
%%%  Simplified H76 on reading formula in, to give:
     %%%  H76:  element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%%  Simplified H77 on reading formula in, to give:
     %%%  H77:  element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%%  Simplified H78 on reading formula in, to give:
     %%%  H78:  byte + 4 >= dns_types__packet_bytes_range__first
%%%  Simplified H79 on reading formula in, to give:
     %%%  H79:  byte + 4 <= dns_types__packet_bytes_range__last
%%%  Simplified H80 on reading formula in, to give:
     %%%  H80:  byte + 4 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H81 on reading formula in, to give:
     %%%  H81:  byte + 4 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H82 on reading formula in, to give:
     %%%  H82:  not (element(fld_bytes(input_packet), [byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
          dns_types__query_type__first) and element(fld_bytes(input_packet), [
          byte + 2]) * 256 + element(fld_bytes(input_packet), [byte + 3]) <= 
          type_to_natural(dns_types__query_type__last))
%%%  Simplified H83 on reading formula in, to give:
     %%%  H83:  dns_types__query_type__first <= dns_types__unimplemented
%%%  Simplified H85 on reading formula in, to give:
     %%%  H85:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
          dns_types__query_class__first)
%%%  Simplified H86 on reading formula in, to give:
     %%%  H86:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
          dns_types__query_class__last)
%%%  Simplified H87 on reading formula in, to give:
     %%%  H87:  dns_types__query_class__first <= to_class(element(fld_bytes(
          input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
          byte + 5]))
%%%  Simplified H88 on reading formula in, to give:
     %%%  H88:  to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [byte + 5])) <= 
          dns_types__query_class__last
%%%  Simplified H89 on reading formula in, to give:
     %%%  H89:  dns_types__query_class__valid(to_class(element(fld_bytes(
          input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
          byte + 5])))
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  byte + 5 >= dns_types__packet_bytes_range__first
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  byte + 5 <= dns_types__packet_bytes_range__last
***  Proved C1:  byte + 5 >= dns_types__packet_bytes_range__first
     using hypothesis H70.
***  Proved C2:  byte + 5 <= dns_types__packet_bytes_range__last
     using hypothesis H71.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_54.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H19 on reading formula in, to give:
     %%%  H19:  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)
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H27 has been replaced by "true".  (It is already present, as 
          H25).
---  Hypothesis H28 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H30 has been replaced by "true".  (It is already present, as H1)
          .
---  Hypothesis H46 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H47 has been replaced by "true".  (It is already present, as 
          H45).
%%%  Simplified H50 on reading formula in, to give:
     %%%  H50:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H51 on reading formula in, to give:
     %%%  H51:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H53 on reading formula in, to give:
     %%%  H53:  element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  byte + 3 >= dns_types__packet_bytes_range__first
%%%  Simplified H55 on reading formula in, to give:
     %%%  H55:  byte + 3 <= dns_types__packet_bytes_range__last
%%%  Simplified H56 on reading formula in, to give:
     %%%  H56:  byte + 3 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H57 on reading formula in, to give:
     %%%  H57:  byte + 3 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H58 on reading formula in, to give:
     %%%  H58:  element(fld_bytes(input_packet), [byte + 2]) * 256 >= 
          integer__base__first
%%%  Simplified H59 on reading formula in, to give:
     %%%  H59:  element(fld_bytes(input_packet), [byte + 2]) * 256 <= 
          integer__base__last
%%%  Simplified H60 on reading formula in, to give:
     %%%  H60:  element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%%  Simplified H61 on reading formula in, to give:
     %%%  H61:  element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%%  Simplified H62 on reading formula in, to give:
     %%%  H62:  byte + 2 >= dns_types__packet_bytes_range__first
%%%  Simplified H63 on reading formula in, to give:
     %%%  H63:  byte + 2 <= dns_types__packet_bytes_range__last
%%%  Simplified H64 on reading formula in, to give:
     %%%  H64:  byte + 2 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H65 on reading formula in, to give:
     %%%  H65:  byte + 2 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H66 on reading formula in, to give:
     %%%  H66:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H67 on reading formula in, to give:
     %%%  H67:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H68 on reading formula in, to give:
     %%%  H68:  element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H69 on reading formula in, to give:
     %%%  H69:  element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  byte + 5 >= dns_types__packet_bytes_range__first
%%%  Simplified H71 on reading formula in, to give:
     %%%  H71:  byte + 5 <= dns_types__packet_bytes_range__last
%%%  Simplified H72 on reading formula in, to give:
     %%%  H72:  byte + 5 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  byte + 5 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  element(fld_bytes(input_packet), [byte + 4]) * 256 >= 
          integer__base__first
%%%  Simplified H75 on reading formula in, to give:
     %%%  H75:  element(fld_bytes(input_packet), [byte + 4]) * 256 <= 
          integer__base__last
%%%  Simplified H76 on reading formula in, to give:
     %%%  H76:  element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%%  Simplified H77 on reading formula in, to give:
     %%%  H77:  element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%%  Simplified H78 on reading formula in, to give:
     %%%  H78:  byte + 4 >= dns_types__packet_bytes_range__first
%%%  Simplified H79 on reading formula in, to give:
     %%%  H79:  byte + 4 <= dns_types__packet_bytes_range__last
%%%  Simplified H80 on reading formula in, to give:
     %%%  H80:  byte + 4 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H81 on reading formula in, to give:
     %%%  H81:  byte + 4 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H82 on reading formula in, to give:
     %%%  H82:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
          dns_types__query_type__first)
%%%  Simplified H83 on reading formula in, to give:
     %%%  H83:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
          dns_types__query_type__last)
%%%  Simplified H84 on reading formula in, to give:
     %%%  H84:  dns_types__query_type__first <= to_type(element(fld_bytes(
          input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
          byte + 3]))
%%%  Simplified H85 on reading formula in, to give:
     %%%  H85:  to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [byte + 3])) <= 
          dns_types__query_type__last
%%%  Simplified H86 on reading formula in, to give:
     %%%  H86:  not dns_types__query_type__valid(to_type(element(fld_bytes(
          input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
          byte + 3])))
%%%  Simplified H87 on reading formula in, to give:
     %%%  H87:  dns_types__query_type__first <= dns_types__unimplemented
%%%  Simplified H89 on reading formula in, to give:
     %%%  H89:  not (element(fld_bytes(input_packet), [byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
          dns_types__query_class__first) and element(fld_bytes(input_packet), [
          byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]) <= 
          class_to_natural(dns_types__query_class__last))
%%%  Simplified H90 on reading formula in, to give:
     %%%  H90:  dns_types__query_class__first <= dns_types__none_class
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  byte + 5 >= dns_types__packet_bytes_range__first
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  byte + 5 <= dns_types__packet_bytes_range__last
***  Proved C1:  byte + 5 >= dns_types__packet_bytes_range__first
     using hypothesis H70.
***  Proved C2:  byte + 5 <= dns_types__packet_bytes_range__last
     using hypothesis H71.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_55.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H19 on reading formula in, to give:
     %%%  H19:  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)
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H27 has been replaced by "true".  (It is already present, as 
          H25).
---  Hypothesis H28 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H30 has been replaced by "true".  (It is already present, as H1)
          .
---  Hypothesis H46 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H47 has been replaced by "true".  (It is already present, as 
          H45).
%%%  Simplified H50 on reading formula in, to give:
     %%%  H50:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H51 on reading formula in, to give:
     %%%  H51:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H53 on reading formula in, to give:
     %%%  H53:  element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  byte + 3 >= dns_types__packet_bytes_range__first
%%%  Simplified H55 on reading formula in, to give:
     %%%  H55:  byte + 3 <= dns_types__packet_bytes_range__last
%%%  Simplified H56 on reading formula in, to give:
     %%%  H56:  byte + 3 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H57 on reading formula in, to give:
     %%%  H57:  byte + 3 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H58 on reading formula in, to give:
     %%%  H58:  element(fld_bytes(input_packet), [byte + 2]) * 256 >= 
          integer__base__first
%%%  Simplified H59 on reading formula in, to give:
     %%%  H59:  element(fld_bytes(input_packet), [byte + 2]) * 256 <= 
          integer__base__last
%%%  Simplified H60 on reading formula in, to give:
     %%%  H60:  element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%%  Simplified H61 on reading formula in, to give:
     %%%  H61:  element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%%  Simplified H62 on reading formula in, to give:
     %%%  H62:  byte + 2 >= dns_types__packet_bytes_range__first
%%%  Simplified H63 on reading formula in, to give:
     %%%  H63:  byte + 2 <= dns_types__packet_bytes_range__last
%%%  Simplified H64 on reading formula in, to give:
     %%%  H64:  byte + 2 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H65 on reading formula in, to give:
     %%%  H65:  byte + 2 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H66 on reading formula in, to give:
     %%%  H66:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H67 on reading formula in, to give:
     %%%  H67:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H68 on reading formula in, to give:
     %%%  H68:  element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H69 on reading formula in, to give:
     %%%  H69:  element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  byte + 5 >= dns_types__packet_bytes_range__first
%%%  Simplified H71 on reading formula in, to give:
     %%%  H71:  byte + 5 <= dns_types__packet_bytes_range__last
%%%  Simplified H72 on reading formula in, to give:
     %%%  H72:  byte + 5 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  byte + 5 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  element(fld_bytes(input_packet), [byte + 4]) * 256 >= 
          integer__base__first
%%%  Simplified H75 on reading formula in, to give:
     %%%  H75:  element(fld_bytes(input_packet), [byte + 4]) * 256 <= 
          integer__base__last
%%%  Simplified H76 on reading formula in, to give:
     %%%  H76:  element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%%  Simplified H77 on reading formula in, to give:
     %%%  H77:  element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%%  Simplified H78 on reading formula in, to give:
     %%%  H78:  byte + 4 >= dns_types__packet_bytes_range__first
%%%  Simplified H79 on reading formula in, to give:
     %%%  H79:  byte + 4 <= dns_types__packet_bytes_range__last
%%%  Simplified H80 on reading formula in, to give:
     %%%  H80:  byte + 4 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H81 on reading formula in, to give:
     %%%  H81:  byte + 4 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H82 on reading formula in, to give:
     %%%  H82:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
          dns_types__query_type__first)
%%%  Simplified H83 on reading formula in, to give:
     %%%  H83:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
          dns_types__query_type__last)
%%%  Simplified H84 on reading formula in, to give:
     %%%  H84:  dns_types__query_type__first <= to_type(element(fld_bytes(
          input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
          byte + 3]))
%%%  Simplified H85 on reading formula in, to give:
     %%%  H85:  to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [byte + 3])) <= 
          dns_types__query_type__last
%%%  Simplified H86 on reading formula in, to give:
     %%%  H86:  dns_types__query_type__valid(to_type(element(fld_bytes(
          input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
          byte + 3])))
%%%  Simplified H87 on reading formula in, to give:
     %%%  H87:  not (element(fld_bytes(input_packet), [byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
          dns_types__query_class__first) and element(fld_bytes(input_packet), [
          byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]) <= 
          class_to_natural(dns_types__query_class__last))
%%%  Simplified H88 on reading formula in, to give:
     %%%  H88:  dns_types__query_class__first <= dns_types__none_class
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  byte + 5 >= dns_types__packet_bytes_range__first
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  byte + 5 <= dns_types__packet_bytes_range__last
***  Proved C1:  byte + 5 >= dns_types__packet_bytes_range__first
     using hypothesis H70.
***  Proved C2:  byte + 5 <= dns_types__packet_bytes_range__last
     using hypothesis H71.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_56.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H19 on reading formula in, to give:
     %%%  H19:  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)
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H27 has been replaced by "true".  (It is already present, as 
          H25).
---  Hypothesis H28 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H30 has been replaced by "true".  (It is already present, as H1)
          .
---  Hypothesis H46 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H47 has been replaced by "true".  (It is already present, as 
          H45).
%%%  Simplified H50 on reading formula in, to give:
     %%%  H50:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H51 on reading formula in, to give:
     %%%  H51:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H53 on reading formula in, to give:
     %%%  H53:  element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  byte + 3 >= dns_types__packet_bytes_range__first
%%%  Simplified H55 on reading formula in, to give:
     %%%  H55:  byte + 3 <= dns_types__packet_bytes_range__last
%%%  Simplified H56 on reading formula in, to give:
     %%%  H56:  byte + 3 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H57 on reading formula in, to give:
     %%%  H57:  byte + 3 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H58 on reading formula in, to give:
     %%%  H58:  element(fld_bytes(input_packet), [byte + 2]) * 256 >= 
          integer__base__first
%%%  Simplified H59 on reading formula in, to give:
     %%%  H59:  element(fld_bytes(input_packet), [byte + 2]) * 256 <= 
          integer__base__last
%%%  Simplified H60 on reading formula in, to give:
     %%%  H60:  element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%%  Simplified H61 on reading formula in, to give:
     %%%  H61:  element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%%  Simplified H62 on reading formula in, to give:
     %%%  H62:  byte + 2 >= dns_types__packet_bytes_range__first
%%%  Simplified H63 on reading formula in, to give:
     %%%  H63:  byte + 2 <= dns_types__packet_bytes_range__last
%%%  Simplified H64 on reading formula in, to give:
     %%%  H64:  byte + 2 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H65 on reading formula in, to give:
     %%%  H65:  byte + 2 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H66 on reading formula in, to give:
     %%%  H66:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H67 on reading formula in, to give:
     %%%  H67:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H68 on reading formula in, to give:
     %%%  H68:  element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H69 on reading formula in, to give:
     %%%  H69:  element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  byte + 5 >= dns_types__packet_bytes_range__first
%%%  Simplified H71 on reading formula in, to give:
     %%%  H71:  byte + 5 <= dns_types__packet_bytes_range__last
%%%  Simplified H72 on reading formula in, to give:
     %%%  H72:  byte + 5 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  byte + 5 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  element(fld_bytes(input_packet), [byte + 4]) * 256 >= 
          integer__base__first
%%%  Simplified H75 on reading formula in, to give:
     %%%  H75:  element(fld_bytes(input_packet), [byte + 4]) * 256 <= 
          integer__base__last
%%%  Simplified H76 on reading formula in, to give:
     %%%  H76:  element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%%  Simplified H77 on reading formula in, to give:
     %%%  H77:  element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%%  Simplified H78 on reading formula in, to give:
     %%%  H78:  byte + 4 >= dns_types__packet_bytes_range__first
%%%  Simplified H79 on reading formula in, to give:
     %%%  H79:  byte + 4 <= dns_types__packet_bytes_range__last
%%%  Simplified H80 on reading formula in, to give:
     %%%  H80:  byte + 4 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H81 on reading formula in, to give:
     %%%  H81:  byte + 4 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H82 on reading formula in, to give:
     %%%  H82:  not (element(fld_bytes(input_packet), [byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
          dns_types__query_type__first) and element(fld_bytes(input_packet), [
          byte + 2]) * 256 + element(fld_bytes(input_packet), [byte + 3]) <= 
          type_to_natural(dns_types__query_type__last))
%%%  Simplified H83 on reading formula in, to give:
     %%%  H83:  dns_types__query_type__first <= dns_types__unimplemented
%%%  Simplified H85 on reading formula in, to give:
     %%%  H85:  not (element(fld_bytes(input_packet), [byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
          dns_types__query_class__first) and element(fld_bytes(input_packet), [
          byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]) <= 
          class_to_natural(dns_types__query_class__last))
%%%  Simplified H86 on reading formula in, to give:
     %%%  H86:  dns_types__query_class__first <= dns_types__none_class
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  byte + 5 >= dns_types__packet_bytes_range__first
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  byte + 5 <= dns_types__packet_bytes_range__last
***  Proved C1:  byte + 5 >= dns_types__packet_bytes_range__first
     using hypothesis H70.
***  Proved C2:  byte + 5 <= dns_types__packet_bytes_range__last
     using hypothesis H71.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_57.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  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 H22 on reading formula in, to give:
     %%%  H22:  dns_types__packet_bytes_range__first <= input_bytes - 5 -> 
          dns_types__packet_bytes_range__first <= 
          dns_types__packet_bytes_range__last
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H31).
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  true
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  dns_types__query_type__first <= to_type(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 2]))
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  dns_types__query_type__first <= dns_types__unimplemented
%%%  Simplified H77 on reading formula in, to give:
     %%%  H77:  dns_types__query_class__first <= to_class(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 4]))
%%%  Simplified H80 on reading formula in, to give:
     %%%  H80:  dns_types__query_class__first <= dns_types__none_class
---  Hypothesis H82 has been replaced by "true".  (It is already present, as 
          H56).
---  Hypothesis H83 has been replaced by "true".  (It is already present, as 
          H57).
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  dns_types__packet_bytes_range__first >= 0
-S-  Applied substitution rule get_query_na_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H17:  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 H22:  6 <= input_bytes -> 1 <= dns_types__packet_bytes_range__last
<S>  New H27:  1 >= integer__first
<S>  New H28:  1 <= integer__last
<S>  New H29:  not (6 <= input_bytes and element(fld_bytes(input_packet), [1]) 
          <> 0 and rr_type__wirestringtypeindex__first < 
          rr_type__wirestringtypeindex__last)
<S>  New H36:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) >= natural__first
<S>  New H37:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) <= natural__last
<S>  New H38:  element(fld_bytes(input_packet), [3]) >= natural__first
<S>  New H39:  element(fld_bytes(input_packet), [3]) <= natural__last
<S>  New H40:  true
<S>  New H41:  3 <= dns_types__packet_bytes_range__last
<S>  New H42:  3 >= dns_types__packet_bytes_range__base__first
<S>  New H43:  3 <= dns_types__packet_bytes_range__base__last
<S>  New H44:  element(fld_bytes(input_packet), [2]) * 256 >= 
          integer__base__first
<S>  New H45:  element(fld_bytes(input_packet), [2]) * 256 <= 
          integer__base__last
<S>  New H46:  element(fld_bytes(input_packet), [2]) >= natural__first
<S>  New H47:  element(fld_bytes(input_packet), [2]) <= natural__last
<S>  New H48:  true
<S>  New H49:  2 <= dns_types__packet_bytes_range__last
<S>  New H50:  2 >= dns_types__packet_bytes_range__base__first
<S>  New H51:  2 <= dns_types__packet_bytes_range__base__last
<S>  New H52:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) >= natural__first
<S>  New H53:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) <= natural__last
<S>  New H54:  element(fld_bytes(input_packet), [5]) >= natural__first
<S>  New H55:  element(fld_bytes(input_packet), [5]) <= natural__last
<S>  New H56:  true
<S>  New H57:  5 <= dns_types__packet_bytes_range__last
<S>  New H58:  5 >= dns_types__packet_bytes_range__base__first
<S>  New H59:  5 <= dns_types__packet_bytes_range__base__last
<S>  New H60:  element(fld_bytes(input_packet), [4]) * 256 >= 
          integer__base__first
<S>  New H61:  element(fld_bytes(input_packet), [4]) * 256 <= 
          integer__base__last
<S>  New H62:  element(fld_bytes(input_packet), [4]) >= natural__first
<S>  New H63:  element(fld_bytes(input_packet), [4]) <= natural__last
<S>  New H64:  true
<S>  New H65:  4 <= dns_types__packet_bytes_range__last
<S>  New H66:  4 >= dns_types__packet_bytes_range__base__first
<S>  New H67:  4 <= dns_types__packet_bytes_range__base__last
<S>  New H68:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) >= type_to_natural(dns_types__query_type__first)
<S>  New H69:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) <= type_to_natural(dns_types__query_type__last)
<S>  New H70:  dns_types__query_type__first <= to_type(element(fld_bytes(
          input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3]))
<S>  New H71:  to_type(element(fld_bytes(input_packet), [2]) * 256 + element(
          fld_bytes(input_packet), [3])) <= dns_types__query_type__last
<S>  New H72:  not dns_types__query_type__valid(to_type(element(fld_bytes(
          input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])))
<S>  New H75:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) >= class_to_natural(dns_types__query_class__first)
<S>  New H76:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) <= class_to_natural(dns_types__query_class__last)
<S>  New H77:  dns_types__query_class__first <= to_class(element(fld_bytes(
          input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5]))
<S>  New H78:  to_class(element(fld_bytes(input_packet), [4]) * 256 + element(
          fld_bytes(input_packet), [5])) <= dns_types__query_class__last
<S>  New H79:  not dns_types__query_class__valid(to_class(element(fld_bytes(
          input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5])))
<S>  New C1:  5 <= input_bytes
<S>  New C2:  true
***  Proved C2:  true
>>>  Restructured hypothesis H29 into:
     >>>  H29:  input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or 
          rr_type__wirestringtypeindex__last <= 
          rr_type__wirestringtypeindex__first
-S-  Applied substitution rule get_query_na_rules(1).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H1:  input_bytes >= 13
-S-  Applied substitution rule get_query_na_rules(7).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H23:  input_bytes >= - 2147483643
<S>  New H27:  true
-S-  Applied substitution rule get_query_na_rules(8).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H24:  input_bytes <= 2147483652
<S>  New H28:  true
-S-  Applied substitution rule get_query_na_rules(9).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H44:  element(fld_bytes(input_packet), [2]) * 256 >= - 2147483648
<S>  New H60:  element(fld_bytes(input_packet), [4]) * 256 >= - 2147483648
-S-  Applied substitution rule get_query_na_rules(10).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H45:  element(fld_bytes(input_packet), [2]) * 256 <= 2147483647
<S>  New H61:  element(fld_bytes(input_packet), [4]) * 256 <= 2147483647
-S-  Applied substitution rule get_query_na_rules(12).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H20:  true
<S>  New H30:  true
-S-  Applied substitution rule get_query_na_rules(13).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H21:  true
<S>  New H31:  true
-S-  Applied substitution rule get_query_na_rules(17).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H36:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) >= 0
<S>  New H38:  element(fld_bytes(input_packet), [3]) >= 0
<S>  New H46:  element(fld_bytes(input_packet), [2]) >= 0
<S>  New H52:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) >= 0
<S>  New H54:  element(fld_bytes(input_packet), [5]) >= 0
<S>  New H62:  element(fld_bytes(input_packet), [4]) >= 0
-S-  Applied substitution rule get_query_na_rules(18).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H37:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) <= 2147483647
<S>  New H39:  element(fld_bytes(input_packet), [3]) <= 2147483647
<S>  New H47:  element(fld_bytes(input_packet), [2]) <= 2147483647
<S>  New H53:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) <= 2147483647
<S>  New H55:  element(fld_bytes(input_packet), [5]) <= 2147483647
<S>  New H63:  element(fld_bytes(input_packet), [4]) <= 2147483647
-S-  Applied substitution rule get_query_na_rules(22).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H18:  input_bytes >= 0
-S-  Applied substitution rule get_query_na_rules(23).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H19:  input_bytes <= 8192
-S-  Applied substitution rule get_query_na_rules(24).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__first by:
          - 2147483648.
<S>  New H25:  input_bytes >= - 2147483643
-S-  Applied substitution rule get_query_na_rules(25).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__last by:
          2147483647.
<S>  New H26:  input_bytes <= 2147483652
-S-  Applied substitution rule get_query_na_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H17:  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 H22:  true
<S>  New H41:  true
<S>  New H49:  true
<S>  New H57:  true
<S>  New H65:  true
-S-  Applied substitution rule get_query_na_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H42:  true
<S>  New H50:  true
<S>  New H58:  true
<S>  New H66:  true
-S-  Applied substitution rule get_query_na_rules(30).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H43:  true
<S>  New H51:  true
<S>  New H59:  true
<S>  New H67:  true
-S-  Applied substitution rule get_query_na_rules(33).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H17:  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-  Applied substitution rule get_query_na_rules(34).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H17:  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-  Applied substitution rule get_query_na_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H3:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H9:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H11:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H13:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H15:  fld_arcount(fld_header(input_packet)) >= 0
-S-  Applied substitution rule get_query_na_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H4:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H10:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H12:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H14:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H16:  fld_arcount(fld_header(input_packet)) <= 65535
-S-  Applied substitution rule get_query_na_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H5:  dns_types__query <= fld_opcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H6:  fld_opcode(fld_header(input_packet)) <= dns_types__status
-S-  Applied substitution rule get_query_na_rules(72).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H7:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(73).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H8:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S-  Applied substitution rule get_query_na_rules(107).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__first by:
          dns_types__in_class.
<S>  New H75:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) >= class_to_natural(dns_types__in_class)
<S>  New H77:  dns_types__in_class <= to_class(element(fld_bytes(input_packet), 
          [4]) * 256 + element(fld_bytes(input_packet), [5]))
<S>  New H80:  true
-S-  Applied substitution rule get_query_na_rules(108).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__last by:
          dns_types__any_class.
<S>  New H76:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) <= class_to_natural(dns_types__any_class)
<S>  New H78:  to_class(element(fld_bytes(input_packet), [4]) * 256 + element(
          fld_bytes(input_packet), [5])) <= dns_types__any_class
<S>  New H81:  true
-S-  Applied substitution rule get_query_na_rules(137).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__first by:
          dns_types__a.
<S>  New H68:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) >= type_to_natural(dns_types__a)
<S>  New H70:  dns_types__a <= to_type(element(fld_bytes(input_packet), [2]) * 
          256 + element(fld_bytes(input_packet), [3]))
<S>  New H73:  true
-S-  Applied substitution rule get_query_na_rules(138).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__last by:
          dns_types__unimplemented.
<S>  New H69:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) <= type_to_natural(dns_types__unimplemented)
<S>  New H71:  to_type(element(fld_bytes(input_packet), [2]) * 256 + element(
          fld_bytes(input_packet), [3])) <= dns_types__unimplemented
<S>  New H74:  true
-S-  Applied substitution rule get_query_na_rules(196).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H29:  input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or 
          rr_type__wirestringtypeindex__last <= 1
<S>  New H35:  1 <= rr_type__wirestringtypeindex__last
-S-  Applied substitution rule get_query_na_rules(197).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H29:  input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0
<S>  New H35:  true
***  Proved C1:  5 <= input_bytes
     using hypothesis H1.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_58.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  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 H22 on reading formula in, to give:
     %%%  H22:  dns_types__packet_bytes_range__first <= input_bytes - 5 -> 
          dns_types__packet_bytes_range__first <= 
          dns_types__packet_bytes_range__last
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H31).
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  true
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  dns_types__query_type__first <= to_type(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 2]))
%%%  Simplified H72 on reading formula in, to give:
     %%%  H72:  dns_types__query_type__valid(to_type(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 2])))
%%%  Simplified H75 on reading formula in, to give:
     %%%  H75:  dns_types__query_class__first <= to_class(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 4]))
%%%  Simplified H78 on reading formula in, to give:
     %%%  H78:  dns_types__query_class__first <= dns_types__none_class
---  Hypothesis H80 has been replaced by "true".  (It is already present, as 
          H56).
---  Hypothesis H81 has been replaced by "true".  (It is already present, as 
          H57).
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  dns_types__packet_bytes_range__first >= 0
-S-  Applied substitution rule get_query_na_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H17:  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 H22:  6 <= input_bytes -> 1 <= dns_types__packet_bytes_range__last
<S>  New H27:  1 >= integer__first
<S>  New H28:  1 <= integer__last
<S>  New H29:  not (6 <= input_bytes and element(fld_bytes(input_packet), [1]) 
          <> 0 and rr_type__wirestringtypeindex__first < 
          rr_type__wirestringtypeindex__last)
<S>  New H36:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) >= natural__first
<S>  New H37:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) <= natural__last
<S>  New H38:  element(fld_bytes(input_packet), [3]) >= natural__first
<S>  New H39:  element(fld_bytes(input_packet), [3]) <= natural__last
<S>  New H40:  true
<S>  New H41:  3 <= dns_types__packet_bytes_range__last
<S>  New H42:  3 >= dns_types__packet_bytes_range__base__first
<S>  New H43:  3 <= dns_types__packet_bytes_range__base__last
<S>  New H44:  element(fld_bytes(input_packet), [2]) * 256 >= 
          integer__base__first
<S>  New H45:  element(fld_bytes(input_packet), [2]) * 256 <= 
          integer__base__last
<S>  New H46:  element(fld_bytes(input_packet), [2]) >= natural__first
<S>  New H47:  element(fld_bytes(input_packet), [2]) <= natural__last
<S>  New H48:  true
<S>  New H49:  2 <= dns_types__packet_bytes_range__last
<S>  New H50:  2 >= dns_types__packet_bytes_range__base__first
<S>  New H51:  2 <= dns_types__packet_bytes_range__base__last
<S>  New H52:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) >= natural__first
<S>  New H53:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) <= natural__last
<S>  New H54:  element(fld_bytes(input_packet), [5]) >= natural__first
<S>  New H55:  element(fld_bytes(input_packet), [5]) <= natural__last
<S>  New H56:  true
<S>  New H57:  5 <= dns_types__packet_bytes_range__last
<S>  New H58:  5 >= dns_types__packet_bytes_range__base__first
<S>  New H59:  5 <= dns_types__packet_bytes_range__base__last
<S>  New H60:  element(fld_bytes(input_packet), [4]) * 256 >= 
          integer__base__first
<S>  New H61:  element(fld_bytes(input_packet), [4]) * 256 <= 
          integer__base__last
<S>  New H62:  element(fld_bytes(input_packet), [4]) >= natural__first
<S>  New H63:  element(fld_bytes(input_packet), [4]) <= natural__last
<S>  New H64:  true
<S>  New H65:  4 <= dns_types__packet_bytes_range__last
<S>  New H66:  4 >= dns_types__packet_bytes_range__base__first
<S>  New H67:  4 <= dns_types__packet_bytes_range__base__last
<S>  New H68:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) >= type_to_natural(dns_types__query_type__first)
<S>  New H69:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) <= type_to_natural(dns_types__query_type__last)
<S>  New H70:  dns_types__query_type__first <= to_type(element(fld_bytes(
          input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3]))
<S>  New H71:  to_type(element(fld_bytes(input_packet), [2]) * 256 + element(
          fld_bytes(input_packet), [3])) <= dns_types__query_type__last
<S>  New H72:  dns_types__query_type__valid(to_type(element(fld_bytes(
          input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])))
<S>  New H73:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) >= class_to_natural(dns_types__query_class__first)
<S>  New H74:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) <= class_to_natural(dns_types__query_class__last)
<S>  New H75:  dns_types__query_class__first <= to_class(element(fld_bytes(
          input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5]))
<S>  New H76:  to_class(element(fld_bytes(input_packet), [4]) * 256 + element(
          fld_bytes(input_packet), [5])) <= dns_types__query_class__last
<S>  New H77:  not dns_types__query_class__valid(to_class(element(fld_bytes(
          input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5])))
<S>  New C1:  5 <= input_bytes
<S>  New C2:  true
***  Proved C2:  true
>>>  Restructured hypothesis H29 into:
     >>>  H29:  input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or 
          rr_type__wirestringtypeindex__last <= 
          rr_type__wirestringtypeindex__first
-S-  Applied substitution rule get_query_na_rules(1).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H1:  input_bytes >= 13
-S-  Applied substitution rule get_query_na_rules(7).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H23:  input_bytes >= - 2147483643
<S>  New H27:  true
-S-  Applied substitution rule get_query_na_rules(8).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H24:  input_bytes <= 2147483652
<S>  New H28:  true
-S-  Applied substitution rule get_query_na_rules(9).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H44:  element(fld_bytes(input_packet), [2]) * 256 >= - 2147483648
<S>  New H60:  element(fld_bytes(input_packet), [4]) * 256 >= - 2147483648
-S-  Applied substitution rule get_query_na_rules(10).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H45:  element(fld_bytes(input_packet), [2]) * 256 <= 2147483647
<S>  New H61:  element(fld_bytes(input_packet), [4]) * 256 <= 2147483647
-S-  Applied substitution rule get_query_na_rules(12).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H20:  true
<S>  New H30:  true
-S-  Applied substitution rule get_query_na_rules(13).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H21:  true
<S>  New H31:  true
-S-  Applied substitution rule get_query_na_rules(17).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H36:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) >= 0
<S>  New H38:  element(fld_bytes(input_packet), [3]) >= 0
<S>  New H46:  element(fld_bytes(input_packet), [2]) >= 0
<S>  New H52:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) >= 0
<S>  New H54:  element(fld_bytes(input_packet), [5]) >= 0
<S>  New H62:  element(fld_bytes(input_packet), [4]) >= 0
-S-  Applied substitution rule get_query_na_rules(18).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H37:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) <= 2147483647
<S>  New H39:  element(fld_bytes(input_packet), [3]) <= 2147483647
<S>  New H47:  element(fld_bytes(input_packet), [2]) <= 2147483647
<S>  New H53:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) <= 2147483647
<S>  New H55:  element(fld_bytes(input_packet), [5]) <= 2147483647
<S>  New H63:  element(fld_bytes(input_packet), [4]) <= 2147483647
-S-  Applied substitution rule get_query_na_rules(22).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H18:  input_bytes >= 0
-S-  Applied substitution rule get_query_na_rules(23).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H19:  input_bytes <= 8192
-S-  Applied substitution rule get_query_na_rules(24).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__first by:
          - 2147483648.
<S>  New H25:  input_bytes >= - 2147483643
-S-  Applied substitution rule get_query_na_rules(25).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__last by:
          2147483647.
<S>  New H26:  input_bytes <= 2147483652
-S-  Applied substitution rule get_query_na_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H17:  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 H22:  true
<S>  New H41:  true
<S>  New H49:  true
<S>  New H57:  true
<S>  New H65:  true
-S-  Applied substitution rule get_query_na_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H42:  true
<S>  New H50:  true
<S>  New H58:  true
<S>  New H66:  true
-S-  Applied substitution rule get_query_na_rules(30).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H43:  true
<S>  New H51:  true
<S>  New H59:  true
<S>  New H67:  true
-S-  Applied substitution rule get_query_na_rules(33).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H17:  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-  Applied substitution rule get_query_na_rules(34).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H17:  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-  Applied substitution rule get_query_na_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H3:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H9:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H11:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H13:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H15:  fld_arcount(fld_header(input_packet)) >= 0
-S-  Applied substitution rule get_query_na_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H4:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H10:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H12:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H14:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H16:  fld_arcount(fld_header(input_packet)) <= 65535
-S-  Applied substitution rule get_query_na_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H5:  dns_types__query <= fld_opcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H6:  fld_opcode(fld_header(input_packet)) <= dns_types__status
-S-  Applied substitution rule get_query_na_rules(72).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H7:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(73).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H8:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S-  Applied substitution rule get_query_na_rules(107).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__first by:
          dns_types__in_class.
<S>  New H73:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) >= class_to_natural(dns_types__in_class)
<S>  New H75:  dns_types__in_class <= to_class(element(fld_bytes(input_packet), 
          [4]) * 256 + element(fld_bytes(input_packet), [5]))
<S>  New H78:  true
-S-  Applied substitution rule get_query_na_rules(108).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__last by:
          dns_types__any_class.
<S>  New H74:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) <= class_to_natural(dns_types__any_class)
<S>  New H76:  to_class(element(fld_bytes(input_packet), [4]) * 256 + element(
          fld_bytes(input_packet), [5])) <= dns_types__any_class
<S>  New H79:  true
-S-  Applied substitution rule get_query_na_rules(137).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__first by:
          dns_types__a.
<S>  New H68:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) >= type_to_natural(dns_types__a)
<S>  New H70:  dns_types__a <= to_type(element(fld_bytes(input_packet), [2]) * 
          256 + element(fld_bytes(input_packet), [3]))
-S-  Applied substitution rule get_query_na_rules(138).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__last by:
          dns_types__unimplemented.
<S>  New H69:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) <= type_to_natural(dns_types__unimplemented)
<S>  New H71:  to_type(element(fld_bytes(input_packet), [2]) * 256 + element(
          fld_bytes(input_packet), [3])) <= dns_types__unimplemented
-S-  Applied substitution rule get_query_na_rules(196).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H29:  input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or 
          rr_type__wirestringtypeindex__last <= 1
<S>  New H35:  1 <= rr_type__wirestringtypeindex__last
-S-  Applied substitution rule get_query_na_rules(197).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H29:  input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0
<S>  New H35:  true
***  Proved C1:  5 <= input_bytes
     using hypothesis H1.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_59.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  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 H22 on reading formula in, to give:
     %%%  H22:  dns_types__packet_bytes_range__first <= input_bytes - 5 -> 
          dns_types__packet_bytes_range__first <= 
          dns_types__packet_bytes_range__last
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H31).
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  true
%%%  Simplified H69 on reading formula in, to give:
     %%%  H69:  dns_types__query_type__first <= dns_types__unimplemented
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  dns_types__query_class__first <= to_class(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 4]))
%%%  Simplified H76 on reading formula in, to give:
     %%%  H76:  dns_types__query_class__first <= dns_types__none_class
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H56).
---  Hypothesis H79 has been replaced by "true".  (It is already present, as 
          H57).
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  dns_types__packet_bytes_range__first >= 0
-S-  Applied substitution rule get_query_na_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H17:  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 H22:  6 <= input_bytes -> 1 <= dns_types__packet_bytes_range__last
<S>  New H27:  1 >= integer__first
<S>  New H28:  1 <= integer__last
<S>  New H29:  not (6 <= input_bytes and element(fld_bytes(input_packet), [1]) 
          <> 0 and rr_type__wirestringtypeindex__first < 
          rr_type__wirestringtypeindex__last)
<S>  New H36:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) >= natural__first
<S>  New H37:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) <= natural__last
<S>  New H38:  element(fld_bytes(input_packet), [3]) >= natural__first
<S>  New H39:  element(fld_bytes(input_packet), [3]) <= natural__last
<S>  New H40:  true
<S>  New H41:  3 <= dns_types__packet_bytes_range__last
<S>  New H42:  3 >= dns_types__packet_bytes_range__base__first
<S>  New H43:  3 <= dns_types__packet_bytes_range__base__last
<S>  New H44:  element(fld_bytes(input_packet), [2]) * 256 >= 
          integer__base__first
<S>  New H45:  element(fld_bytes(input_packet), [2]) * 256 <= 
          integer__base__last
<S>  New H46:  element(fld_bytes(input_packet), [2]) >= natural__first
<S>  New H47:  element(fld_bytes(input_packet), [2]) <= natural__last
<S>  New H48:  true
<S>  New H49:  2 <= dns_types__packet_bytes_range__last
<S>  New H50:  2 >= dns_types__packet_bytes_range__base__first
<S>  New H51:  2 <= dns_types__packet_bytes_range__base__last
<S>  New H52:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) >= natural__first
<S>  New H53:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) <= natural__last
<S>  New H54:  element(fld_bytes(input_packet), [5]) >= natural__first
<S>  New H55:  element(fld_bytes(input_packet), [5]) <= natural__last
<S>  New H56:  true
<S>  New H57:  5 <= dns_types__packet_bytes_range__last
<S>  New H58:  5 >= dns_types__packet_bytes_range__base__first
<S>  New H59:  5 <= dns_types__packet_bytes_range__base__last
<S>  New H60:  element(fld_bytes(input_packet), [4]) * 256 >= 
          integer__base__first
<S>  New H61:  element(fld_bytes(input_packet), [4]) * 256 <= 
          integer__base__last
<S>  New H62:  element(fld_bytes(input_packet), [4]) >= natural__first
<S>  New H63:  element(fld_bytes(input_packet), [4]) <= natural__last
<S>  New H64:  true
<S>  New H65:  4 <= dns_types__packet_bytes_range__last
<S>  New H66:  4 >= dns_types__packet_bytes_range__base__first
<S>  New H67:  4 <= dns_types__packet_bytes_range__base__last
<S>  New H68:  not (element(fld_bytes(input_packet), [2]) * 256 + element(
          fld_bytes(input_packet), [3]) >= type_to_natural(
          dns_types__query_type__first) and element(fld_bytes(input_packet), [2]
          ) * 256 + element(fld_bytes(input_packet), [3]) <= type_to_natural(
          dns_types__query_type__last))
<S>  New H71:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) >= class_to_natural(dns_types__query_class__first)
<S>  New H72:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) <= class_to_natural(dns_types__query_class__last)
<S>  New H73:  dns_types__query_class__first <= to_class(element(fld_bytes(
          input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5]))
<S>  New H74:  to_class(element(fld_bytes(input_packet), [4]) * 256 + element(
          fld_bytes(input_packet), [5])) <= dns_types__query_class__last
<S>  New H75:  not dns_types__query_class__valid(to_class(element(fld_bytes(
          input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5])))
<S>  New C1:  5 <= input_bytes
<S>  New C2:  true
***  Proved C2:  true
>>>  Restructured hypothesis H29 into:
     >>>  H29:  input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or 
          rr_type__wirestringtypeindex__last <= 
          rr_type__wirestringtypeindex__first
>>>  Restructured hypothesis H68 into:
     >>>  H68:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) < type_to_natural(dns_types__query_type__first) 
          or type_to_natural(dns_types__query_type__last) < element(fld_bytes(
          input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])
-S-  Applied substitution rule get_query_na_rules(1).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H1:  input_bytes >= 13
-S-  Applied substitution rule get_query_na_rules(7).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H23:  input_bytes >= - 2147483643
<S>  New H27:  true
-S-  Applied substitution rule get_query_na_rules(8).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H24:  input_bytes <= 2147483652
<S>  New H28:  true
-S-  Applied substitution rule get_query_na_rules(9).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H44:  element(fld_bytes(input_packet), [2]) * 256 >= - 2147483648
<S>  New H60:  element(fld_bytes(input_packet), [4]) * 256 >= - 2147483648
-S-  Applied substitution rule get_query_na_rules(10).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H45:  element(fld_bytes(input_packet), [2]) * 256 <= 2147483647
<S>  New H61:  element(fld_bytes(input_packet), [4]) * 256 <= 2147483647
-S-  Applied substitution rule get_query_na_rules(12).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H20:  true
<S>  New H30:  true
-S-  Applied substitution rule get_query_na_rules(13).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H21:  true
<S>  New H31:  true
-S-  Applied substitution rule get_query_na_rules(17).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H36:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) >= 0
<S>  New H38:  element(fld_bytes(input_packet), [3]) >= 0
<S>  New H46:  element(fld_bytes(input_packet), [2]) >= 0
<S>  New H52:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) >= 0
<S>  New H54:  element(fld_bytes(input_packet), [5]) >= 0
<S>  New H62:  element(fld_bytes(input_packet), [4]) >= 0
-S-  Applied substitution rule get_query_na_rules(18).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H37:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) <= 2147483647
<S>  New H39:  element(fld_bytes(input_packet), [3]) <= 2147483647
<S>  New H47:  element(fld_bytes(input_packet), [2]) <= 2147483647
<S>  New H53:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) <= 2147483647
<S>  New H55:  element(fld_bytes(input_packet), [5]) <= 2147483647
<S>  New H63:  element(fld_bytes(input_packet), [4]) <= 2147483647
-S-  Applied substitution rule get_query_na_rules(22).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H18:  input_bytes >= 0
-S-  Applied substitution rule get_query_na_rules(23).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H19:  input_bytes <= 8192
-S-  Applied substitution rule get_query_na_rules(24).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__first by:
          - 2147483648.
<S>  New H25:  input_bytes >= - 2147483643
-S-  Applied substitution rule get_query_na_rules(25).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__last by:
          2147483647.
<S>  New H26:  input_bytes <= 2147483652
-S-  Applied substitution rule get_query_na_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H17:  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 H22:  true
<S>  New H41:  true
<S>  New H49:  true
<S>  New H57:  true
<S>  New H65:  true
-S-  Applied substitution rule get_query_na_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H42:  true
<S>  New H50:  true
<S>  New H58:  true
<S>  New H66:  true
-S-  Applied substitution rule get_query_na_rules(30).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H43:  true
<S>  New H51:  true
<S>  New H59:  true
<S>  New H67:  true
-S-  Applied substitution rule get_query_na_rules(33).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H17:  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-  Applied substitution rule get_query_na_rules(34).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H17:  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-  Applied substitution rule get_query_na_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H3:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H9:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H11:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H13:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H15:  fld_arcount(fld_header(input_packet)) >= 0
-S-  Applied substitution rule get_query_na_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H4:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H10:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H12:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H14:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H16:  fld_arcount(fld_header(input_packet)) <= 65535
-S-  Applied substitution rule get_query_na_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H5:  dns_types__query <= fld_opcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H6:  fld_opcode(fld_header(input_packet)) <= dns_types__status
-S-  Applied substitution rule get_query_na_rules(72).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H7:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(73).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H8:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S-  Applied substitution rule get_query_na_rules(107).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__first by:
          dns_types__in_class.
<S>  New H71:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) >= class_to_natural(dns_types__in_class)
<S>  New H73:  dns_types__in_class <= to_class(element(fld_bytes(input_packet), 
          [4]) * 256 + element(fld_bytes(input_packet), [5]))
<S>  New H76:  true
-S-  Applied substitution rule get_query_na_rules(108).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__last by:
          dns_types__any_class.
<S>  New H72:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) <= class_to_natural(dns_types__any_class)
<S>  New H74:  to_class(element(fld_bytes(input_packet), [4]) * 256 + element(
          fld_bytes(input_packet), [5])) <= dns_types__any_class
<S>  New H77:  true
-S-  Applied substitution rule get_query_na_rules(137).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__first by:
          dns_types__a.
<S>  New H68:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) < type_to_natural(dns_types__a) or 
          type_to_natural(dns_types__query_type__last) < element(fld_bytes(
          input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])
<S>  New H69:  true
-S-  Applied substitution rule get_query_na_rules(138).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__last by:
          dns_types__unimplemented.
<S>  New H70:  true
<S>  New H68:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) < type_to_natural(dns_types__a) or 
          type_to_natural(dns_types__unimplemented) < element(fld_bytes(
          input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])
-S-  Applied substitution rule get_query_na_rules(196).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H29:  input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or 
          rr_type__wirestringtypeindex__last <= 1
<S>  New H35:  1 <= rr_type__wirestringtypeindex__last
-S-  Applied substitution rule get_query_na_rules(197).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H29:  input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0
<S>  New H35:  true
***  Proved C1:  5 <= input_bytes
     using hypothesis H1.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_60.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  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 H22 on reading formula in, to give:
     %%%  H22:  dns_types__packet_bytes_range__first <= input_bytes - 5 -> 
          dns_types__packet_bytes_range__first <= 
          dns_types__packet_bytes_range__last
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H31).
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  true
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  dns_types__query_type__first <= to_type(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 2]))
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  dns_types__query_type__first <= dns_types__unimplemented
%%%  Simplified H77 on reading formula in, to give:
     %%%  H77:  dns_types__query_class__first <= to_class(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 4]))
%%%  Simplified H79 on reading formula in, to give:
     %%%  H79:  dns_types__query_class__valid(to_class(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 4])))
---  Hypothesis H80 has been replaced by "true".  (It is already present, as 
          H56).
---  Hypothesis H81 has been replaced by "true".  (It is already present, as 
          H57).
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  dns_types__packet_bytes_range__first >= 0
-S-  Applied substitution rule get_query_na_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H17:  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 H22:  6 <= input_bytes -> 1 <= dns_types__packet_bytes_range__last
<S>  New H27:  1 >= integer__first
<S>  New H28:  1 <= integer__last
<S>  New H29:  not (6 <= input_bytes and element(fld_bytes(input_packet), [1]) 
          <> 0 and rr_type__wirestringtypeindex__first < 
          rr_type__wirestringtypeindex__last)
<S>  New H36:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) >= natural__first
<S>  New H37:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) <= natural__last
<S>  New H38:  element(fld_bytes(input_packet), [3]) >= natural__first
<S>  New H39:  element(fld_bytes(input_packet), [3]) <= natural__last
<S>  New H40:  true
<S>  New H41:  3 <= dns_types__packet_bytes_range__last
<S>  New H42:  3 >= dns_types__packet_bytes_range__base__first
<S>  New H43:  3 <= dns_types__packet_bytes_range__base__last
<S>  New H44:  element(fld_bytes(input_packet), [2]) * 256 >= 
          integer__base__first
<S>  New H45:  element(fld_bytes(input_packet), [2]) * 256 <= 
          integer__base__last
<S>  New H46:  element(fld_bytes(input_packet), [2]) >= natural__first
<S>  New H47:  element(fld_bytes(input_packet), [2]) <= natural__last
<S>  New H48:  true
<S>  New H49:  2 <= dns_types__packet_bytes_range__last
<S>  New H50:  2 >= dns_types__packet_bytes_range__base__first
<S>  New H51:  2 <= dns_types__packet_bytes_range__base__last
<S>  New H52:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) >= natural__first
<S>  New H53:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) <= natural__last
<S>  New H54:  element(fld_bytes(input_packet), [5]) >= natural__first
<S>  New H55:  element(fld_bytes(input_packet), [5]) <= natural__last
<S>  New H56:  true
<S>  New H57:  5 <= dns_types__packet_bytes_range__last
<S>  New H58:  5 >= dns_types__packet_bytes_range__base__first
<S>  New H59:  5 <= dns_types__packet_bytes_range__base__last
<S>  New H60:  element(fld_bytes(input_packet), [4]) * 256 >= 
          integer__base__first
<S>  New H61:  element(fld_bytes(input_packet), [4]) * 256 <= 
          integer__base__last
<S>  New H62:  element(fld_bytes(input_packet), [4]) >= natural__first
<S>  New H63:  element(fld_bytes(input_packet), [4]) <= natural__last
<S>  New H64:  true
<S>  New H65:  4 <= dns_types__packet_bytes_range__last
<S>  New H66:  4 >= dns_types__packet_bytes_range__base__first
<S>  New H67:  4 <= dns_types__packet_bytes_range__base__last
<S>  New H68:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) >= type_to_natural(dns_types__query_type__first)
<S>  New H69:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) <= type_to_natural(dns_types__query_type__last)
<S>  New H70:  dns_types__query_type__first <= to_type(element(fld_bytes(
          input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3]))
<S>  New H71:  to_type(element(fld_bytes(input_packet), [2]) * 256 + element(
          fld_bytes(input_packet), [3])) <= dns_types__query_type__last
<S>  New H72:  not dns_types__query_type__valid(to_type(element(fld_bytes(
          input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])))
<S>  New H75:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) >= class_to_natural(dns_types__query_class__first)
<S>  New H76:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) <= class_to_natural(dns_types__query_class__last)
<S>  New H77:  dns_types__query_class__first <= to_class(element(fld_bytes(
          input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5]))
<S>  New H78:  to_class(element(fld_bytes(input_packet), [4]) * 256 + element(
          fld_bytes(input_packet), [5])) <= dns_types__query_class__last
<S>  New H79:  dns_types__query_class__valid(to_class(element(fld_bytes(
          input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5])))
<S>  New C1:  5 <= input_bytes
<S>  New C2:  true
***  Proved C2:  true
>>>  Restructured hypothesis H29 into:
     >>>  H29:  input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or 
          rr_type__wirestringtypeindex__last <= 
          rr_type__wirestringtypeindex__first
-S-  Applied substitution rule get_query_na_rules(1).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H1:  input_bytes >= 13
-S-  Applied substitution rule get_query_na_rules(7).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H23:  input_bytes >= - 2147483643
<S>  New H27:  true
-S-  Applied substitution rule get_query_na_rules(8).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H24:  input_bytes <= 2147483652
<S>  New H28:  true
-S-  Applied substitution rule get_query_na_rules(9).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H44:  element(fld_bytes(input_packet), [2]) * 256 >= - 2147483648
<S>  New H60:  element(fld_bytes(input_packet), [4]) * 256 >= - 2147483648
-S-  Applied substitution rule get_query_na_rules(10).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H45:  element(fld_bytes(input_packet), [2]) * 256 <= 2147483647
<S>  New H61:  element(fld_bytes(input_packet), [4]) * 256 <= 2147483647
-S-  Applied substitution rule get_query_na_rules(12).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H20:  true
<S>  New H30:  true
-S-  Applied substitution rule get_query_na_rules(13).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H21:  true
<S>  New H31:  true
-S-  Applied substitution rule get_query_na_rules(17).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H36:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) >= 0
<S>  New H38:  element(fld_bytes(input_packet), [3]) >= 0
<S>  New H46:  element(fld_bytes(input_packet), [2]) >= 0
<S>  New H52:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) >= 0
<S>  New H54:  element(fld_bytes(input_packet), [5]) >= 0
<S>  New H62:  element(fld_bytes(input_packet), [4]) >= 0
-S-  Applied substitution rule get_query_na_rules(18).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H37:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) <= 2147483647
<S>  New H39:  element(fld_bytes(input_packet), [3]) <= 2147483647
<S>  New H47:  element(fld_bytes(input_packet), [2]) <= 2147483647
<S>  New H53:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) <= 2147483647
<S>  New H55:  element(fld_bytes(input_packet), [5]) <= 2147483647
<S>  New H63:  element(fld_bytes(input_packet), [4]) <= 2147483647
-S-  Applied substitution rule get_query_na_rules(22).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H18:  input_bytes >= 0
-S-  Applied substitution rule get_query_na_rules(23).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H19:  input_bytes <= 8192
-S-  Applied substitution rule get_query_na_rules(24).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__first by:
          - 2147483648.
<S>  New H25:  input_bytes >= - 2147483643
-S-  Applied substitution rule get_query_na_rules(25).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__last by:
          2147483647.
<S>  New H26:  input_bytes <= 2147483652
-S-  Applied substitution rule get_query_na_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H17:  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 H22:  true
<S>  New H41:  true
<S>  New H49:  true
<S>  New H57:  true
<S>  New H65:  true
-S-  Applied substitution rule get_query_na_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H42:  true
<S>  New H50:  true
<S>  New H58:  true
<S>  New H66:  true
-S-  Applied substitution rule get_query_na_rules(30).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H43:  true
<S>  New H51:  true
<S>  New H59:  true
<S>  New H67:  true
-S-  Applied substitution rule get_query_na_rules(33).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H17:  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-  Applied substitution rule get_query_na_rules(34).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H17:  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-  Applied substitution rule get_query_na_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H3:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H9:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H11:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H13:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H15:  fld_arcount(fld_header(input_packet)) >= 0
-S-  Applied substitution rule get_query_na_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H4:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H10:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H12:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H14:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H16:  fld_arcount(fld_header(input_packet)) <= 65535
-S-  Applied substitution rule get_query_na_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H5:  dns_types__query <= fld_opcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H6:  fld_opcode(fld_header(input_packet)) <= dns_types__status
-S-  Applied substitution rule get_query_na_rules(72).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H7:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(73).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H8:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S-  Applied substitution rule get_query_na_rules(107).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__first by:
          dns_types__in_class.
<S>  New H75:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) >= class_to_natural(dns_types__in_class)
<S>  New H77:  dns_types__in_class <= to_class(element(fld_bytes(input_packet), 
          [4]) * 256 + element(fld_bytes(input_packet), [5]))
-S-  Applied substitution rule get_query_na_rules(108).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__last by:
          dns_types__any_class.
<S>  New H76:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) <= class_to_natural(dns_types__any_class)
<S>  New H78:  to_class(element(fld_bytes(input_packet), [4]) * 256 + element(
          fld_bytes(input_packet), [5])) <= dns_types__any_class
-S-  Applied substitution rule get_query_na_rules(137).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__first by:
          dns_types__a.
<S>  New H68:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) >= type_to_natural(dns_types__a)
<S>  New H70:  dns_types__a <= to_type(element(fld_bytes(input_packet), [2]) * 
          256 + element(fld_bytes(input_packet), [3]))
<S>  New H73:  true
-S-  Applied substitution rule get_query_na_rules(138).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__last by:
          dns_types__unimplemented.
<S>  New H69:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) <= type_to_natural(dns_types__unimplemented)
<S>  New H71:  to_type(element(fld_bytes(input_packet), [2]) * 256 + element(
          fld_bytes(input_packet), [3])) <= dns_types__unimplemented
<S>  New H74:  true
-S-  Applied substitution rule get_query_na_rules(196).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H29:  input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or 
          rr_type__wirestringtypeindex__last <= 1
<S>  New H35:  1 <= rr_type__wirestringtypeindex__last
-S-  Applied substitution rule get_query_na_rules(197).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H29:  input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0
<S>  New H35:  true
***  Proved C1:  5 <= input_bytes
     using hypothesis H1.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_61.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  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 H22 on reading formula in, to give:
     %%%  H22:  dns_types__packet_bytes_range__first <= input_bytes - 5 -> 
          dns_types__packet_bytes_range__first <= 
          dns_types__packet_bytes_range__last
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H31).
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  true
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  dns_types__query_type__first <= to_type(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 2]))
%%%  Simplified H72 on reading formula in, to give:
     %%%  H72:  dns_types__query_type__valid(to_type(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 2])))
%%%  Simplified H75 on reading formula in, to give:
     %%%  H75:  dns_types__query_class__first <= to_class(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 4]))
%%%  Simplified H77 on reading formula in, to give:
     %%%  H77:  dns_types__query_class__valid(to_class(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 4])))
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H56).
---  Hypothesis H79 has been replaced by "true".  (It is already present, as 
          H57).
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  dns_types__packet_bytes_range__first >= 0
-S-  Applied substitution rule get_query_na_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H17:  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 H22:  6 <= input_bytes -> 1 <= dns_types__packet_bytes_range__last
<S>  New H27:  1 >= integer__first
<S>  New H28:  1 <= integer__last
<S>  New H29:  not (6 <= input_bytes and element(fld_bytes(input_packet), [1]) 
          <> 0 and rr_type__wirestringtypeindex__first < 
          rr_type__wirestringtypeindex__last)
<S>  New H36:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) >= natural__first
<S>  New H37:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) <= natural__last
<S>  New H38:  element(fld_bytes(input_packet), [3]) >= natural__first
<S>  New H39:  element(fld_bytes(input_packet), [3]) <= natural__last
<S>  New H40:  true
<S>  New H41:  3 <= dns_types__packet_bytes_range__last
<S>  New H42:  3 >= dns_types__packet_bytes_range__base__first
<S>  New H43:  3 <= dns_types__packet_bytes_range__base__last
<S>  New H44:  element(fld_bytes(input_packet), [2]) * 256 >= 
          integer__base__first
<S>  New H45:  element(fld_bytes(input_packet), [2]) * 256 <= 
          integer__base__last
<S>  New H46:  element(fld_bytes(input_packet), [2]) >= natural__first
<S>  New H47:  element(fld_bytes(input_packet), [2]) <= natural__last
<S>  New H48:  true
<S>  New H49:  2 <= dns_types__packet_bytes_range__last
<S>  New H50:  2 >= dns_types__packet_bytes_range__base__first
<S>  New H51:  2 <= dns_types__packet_bytes_range__base__last
<S>  New H52:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) >= natural__first
<S>  New H53:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) <= natural__last
<S>  New H54:  element(fld_bytes(input_packet), [5]) >= natural__first
<S>  New H55:  element(fld_bytes(input_packet), [5]) <= natural__last
<S>  New H56:  true
<S>  New H57:  5 <= dns_types__packet_bytes_range__last
<S>  New H58:  5 >= dns_types__packet_bytes_range__base__first
<S>  New H59:  5 <= dns_types__packet_bytes_range__base__last
<S>  New H60:  element(fld_bytes(input_packet), [4]) * 256 >= 
          integer__base__first
<S>  New H61:  element(fld_bytes(input_packet), [4]) * 256 <= 
          integer__base__last
<S>  New H62:  element(fld_bytes(input_packet), [4]) >= natural__first
<S>  New H63:  element(fld_bytes(input_packet), [4]) <= natural__last
<S>  New H64:  true
<S>  New H65:  4 <= dns_types__packet_bytes_range__last
<S>  New H66:  4 >= dns_types__packet_bytes_range__base__first
<S>  New H67:  4 <= dns_types__packet_bytes_range__base__last
<S>  New H68:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) >= type_to_natural(dns_types__query_type__first)
<S>  New H69:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) <= type_to_natural(dns_types__query_type__last)
<S>  New H70:  dns_types__query_type__first <= to_type(element(fld_bytes(
          input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3]))
<S>  New H71:  to_type(element(fld_bytes(input_packet), [2]) * 256 + element(
          fld_bytes(input_packet), [3])) <= dns_types__query_type__last
<S>  New H72:  dns_types__query_type__valid(to_type(element(fld_bytes(
          input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])))
<S>  New H73:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) >= class_to_natural(dns_types__query_class__first)
<S>  New H74:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) <= class_to_natural(dns_types__query_class__last)
<S>  New H75:  dns_types__query_class__first <= to_class(element(fld_bytes(
          input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5]))
<S>  New H76:  to_class(element(fld_bytes(input_packet), [4]) * 256 + element(
          fld_bytes(input_packet), [5])) <= dns_types__query_class__last
<S>  New H77:  dns_types__query_class__valid(to_class(element(fld_bytes(
          input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5])))
<S>  New C1:  5 <= input_bytes
<S>  New C2:  true
***  Proved C2:  true
>>>  Restructured hypothesis H29 into:
     >>>  H29:  input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or 
          rr_type__wirestringtypeindex__last <= 
          rr_type__wirestringtypeindex__first
-S-  Applied substitution rule get_query_na_rules(1).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H1:  input_bytes >= 13
-S-  Applied substitution rule get_query_na_rules(7).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H23:  input_bytes >= - 2147483643
<S>  New H27:  true
-S-  Applied substitution rule get_query_na_rules(8).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H24:  input_bytes <= 2147483652
<S>  New H28:  true
-S-  Applied substitution rule get_query_na_rules(9).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H44:  element(fld_bytes(input_packet), [2]) * 256 >= - 2147483648
<S>  New H60:  element(fld_bytes(input_packet), [4]) * 256 >= - 2147483648
-S-  Applied substitution rule get_query_na_rules(10).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H45:  element(fld_bytes(input_packet), [2]) * 256 <= 2147483647
<S>  New H61:  element(fld_bytes(input_packet), [4]) * 256 <= 2147483647
-S-  Applied substitution rule get_query_na_rules(12).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H20:  true
<S>  New H30:  true
-S-  Applied substitution rule get_query_na_rules(13).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H21:  true
<S>  New H31:  true
-S-  Applied substitution rule get_query_na_rules(17).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H36:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) >= 0
<S>  New H38:  element(fld_bytes(input_packet), [3]) >= 0
<S>  New H46:  element(fld_bytes(input_packet), [2]) >= 0
<S>  New H52:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) >= 0
<S>  New H54:  element(fld_bytes(input_packet), [5]) >= 0
<S>  New H62:  element(fld_bytes(input_packet), [4]) >= 0
-S-  Applied substitution rule get_query_na_rules(18).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H37:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) <= 2147483647
<S>  New H39:  element(fld_bytes(input_packet), [3]) <= 2147483647
<S>  New H47:  element(fld_bytes(input_packet), [2]) <= 2147483647
<S>  New H53:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) <= 2147483647
<S>  New H55:  element(fld_bytes(input_packet), [5]) <= 2147483647
<S>  New H63:  element(fld_bytes(input_packet), [4]) <= 2147483647
-S-  Applied substitution rule get_query_na_rules(22).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H18:  input_bytes >= 0
-S-  Applied substitution rule get_query_na_rules(23).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H19:  input_bytes <= 8192
-S-  Applied substitution rule get_query_na_rules(24).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__first by:
          - 2147483648.
<S>  New H25:  input_bytes >= - 2147483643
-S-  Applied substitution rule get_query_na_rules(25).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__last by:
          2147483647.
<S>  New H26:  input_bytes <= 2147483652
-S-  Applied substitution rule get_query_na_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H17:  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 H22:  true
<S>  New H41:  true
<S>  New H49:  true
<S>  New H57:  true
<S>  New H65:  true
-S-  Applied substitution rule get_query_na_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H42:  true
<S>  New H50:  true
<S>  New H58:  true
<S>  New H66:  true
-S-  Applied substitution rule get_query_na_rules(30).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H43:  true
<S>  New H51:  true
<S>  New H59:  true
<S>  New H67:  true
-S-  Applied substitution rule get_query_na_rules(33).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H17:  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-  Applied substitution rule get_query_na_rules(34).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H17:  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-  Applied substitution rule get_query_na_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H3:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H9:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H11:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H13:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H15:  fld_arcount(fld_header(input_packet)) >= 0
-S-  Applied substitution rule get_query_na_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H4:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H10:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H12:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H14:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H16:  fld_arcount(fld_header(input_packet)) <= 65535
-S-  Applied substitution rule get_query_na_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H5:  dns_types__query <= fld_opcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H6:  fld_opcode(fld_header(input_packet)) <= dns_types__status
-S-  Applied substitution rule get_query_na_rules(72).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H7:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(73).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H8:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S-  Applied substitution rule get_query_na_rules(107).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__first by:
          dns_types__in_class.
<S>  New H73:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) >= class_to_natural(dns_types__in_class)
<S>  New H75:  dns_types__in_class <= to_class(element(fld_bytes(input_packet), 
          [4]) * 256 + element(fld_bytes(input_packet), [5]))
-S-  Applied substitution rule get_query_na_rules(108).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__last by:
          dns_types__any_class.
<S>  New H74:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) <= class_to_natural(dns_types__any_class)
<S>  New H76:  to_class(element(fld_bytes(input_packet), [4]) * 256 + element(
          fld_bytes(input_packet), [5])) <= dns_types__any_class
-S-  Applied substitution rule get_query_na_rules(137).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__first by:
          dns_types__a.
<S>  New H68:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) >= type_to_natural(dns_types__a)
<S>  New H70:  dns_types__a <= to_type(element(fld_bytes(input_packet), [2]) * 
          256 + element(fld_bytes(input_packet), [3]))
-S-  Applied substitution rule get_query_na_rules(138).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__last by:
          dns_types__unimplemented.
<S>  New H69:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) <= type_to_natural(dns_types__unimplemented)
<S>  New H71:  to_type(element(fld_bytes(input_packet), [2]) * 256 + element(
          fld_bytes(input_packet), [3])) <= dns_types__unimplemented
-S-  Applied substitution rule get_query_na_rules(196).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H29:  input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or 
          rr_type__wirestringtypeindex__last <= 1
<S>  New H35:  1 <= rr_type__wirestringtypeindex__last
-S-  Applied substitution rule get_query_na_rules(197).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H29:  input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0
<S>  New H35:  true
***  Proved C1:  5 <= input_bytes
     using hypothesis H1.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_62.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  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 H22 on reading formula in, to give:
     %%%  H22:  dns_types__packet_bytes_range__first <= input_bytes - 5 -> 
          dns_types__packet_bytes_range__first <= 
          dns_types__packet_bytes_range__last
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H31).
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  true
%%%  Simplified H69 on reading formula in, to give:
     %%%  H69:  dns_types__query_type__first <= dns_types__unimplemented
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  dns_types__query_class__first <= to_class(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 4]))
%%%  Simplified H75 on reading formula in, to give:
     %%%  H75:  dns_types__query_class__valid(to_class(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 3]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 4])))
---  Hypothesis H76 has been replaced by "true".  (It is already present, as 
          H56).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H57).
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  dns_types__packet_bytes_range__first >= 0
-S-  Applied substitution rule get_query_na_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H17:  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 H22:  6 <= input_bytes -> 1 <= dns_types__packet_bytes_range__last
<S>  New H27:  1 >= integer__first
<S>  New H28:  1 <= integer__last
<S>  New H29:  not (6 <= input_bytes and element(fld_bytes(input_packet), [1]) 
          <> 0 and rr_type__wirestringtypeindex__first < 
          rr_type__wirestringtypeindex__last)
<S>  New H36:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) >= natural__first
<S>  New H37:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) <= natural__last
<S>  New H38:  element(fld_bytes(input_packet), [3]) >= natural__first
<S>  New H39:  element(fld_bytes(input_packet), [3]) <= natural__last
<S>  New H40:  true
<S>  New H41:  3 <= dns_types__packet_bytes_range__last
<S>  New H42:  3 >= dns_types__packet_bytes_range__base__first
<S>  New H43:  3 <= dns_types__packet_bytes_range__base__last
<S>  New H44:  element(fld_bytes(input_packet), [2]) * 256 >= 
          integer__base__first
<S>  New H45:  element(fld_bytes(input_packet), [2]) * 256 <= 
          integer__base__last
<S>  New H46:  element(fld_bytes(input_packet), [2]) >= natural__first
<S>  New H47:  element(fld_bytes(input_packet), [2]) <= natural__last
<S>  New H48:  true
<S>  New H49:  2 <= dns_types__packet_bytes_range__last
<S>  New H50:  2 >= dns_types__packet_bytes_range__base__first
<S>  New H51:  2 <= dns_types__packet_bytes_range__base__last
<S>  New H52:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) >= natural__first
<S>  New H53:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) <= natural__last
<S>  New H54:  element(fld_bytes(input_packet), [5]) >= natural__first
<S>  New H55:  element(fld_bytes(input_packet), [5]) <= natural__last
<S>  New H56:  true
<S>  New H57:  5 <= dns_types__packet_bytes_range__last
<S>  New H58:  5 >= dns_types__packet_bytes_range__base__first
<S>  New H59:  5 <= dns_types__packet_bytes_range__base__last
<S>  New H60:  element(fld_bytes(input_packet), [4]) * 256 >= 
          integer__base__first
<S>  New H61:  element(fld_bytes(input_packet), [4]) * 256 <= 
          integer__base__last
<S>  New H62:  element(fld_bytes(input_packet), [4]) >= natural__first
<S>  New H63:  element(fld_bytes(input_packet), [4]) <= natural__last
<S>  New H64:  true
<S>  New H65:  4 <= dns_types__packet_bytes_range__last
<S>  New H66:  4 >= dns_types__packet_bytes_range__base__first
<S>  New H67:  4 <= dns_types__packet_bytes_range__base__last
<S>  New H68:  not (element(fld_bytes(input_packet), [2]) * 256 + element(
          fld_bytes(input_packet), [3]) >= type_to_natural(
          dns_types__query_type__first) and element(fld_bytes(input_packet), [2]
          ) * 256 + element(fld_bytes(input_packet), [3]) <= type_to_natural(
          dns_types__query_type__last))
<S>  New H71:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) >= class_to_natural(dns_types__query_class__first)
<S>  New H72:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) <= class_to_natural(dns_types__query_class__last)
<S>  New H73:  dns_types__query_class__first <= to_class(element(fld_bytes(
          input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5]))
<S>  New H74:  to_class(element(fld_bytes(input_packet), [4]) * 256 + element(
          fld_bytes(input_packet), [5])) <= dns_types__query_class__last
<S>  New H75:  dns_types__query_class__valid(to_class(element(fld_bytes(
          input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5])))
<S>  New C1:  5 <= input_bytes
<S>  New C2:  true
***  Proved C2:  true
>>>  Restructured hypothesis H29 into:
     >>>  H29:  input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or 
          rr_type__wirestringtypeindex__last <= 
          rr_type__wirestringtypeindex__first
>>>  Restructured hypothesis H68 into:
     >>>  H68:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) < type_to_natural(dns_types__query_type__first) 
          or type_to_natural(dns_types__query_type__last) < element(fld_bytes(
          input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])
-S-  Applied substitution rule get_query_na_rules(1).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H1:  input_bytes >= 13
-S-  Applied substitution rule get_query_na_rules(7).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H23:  input_bytes >= - 2147483643
<S>  New H27:  true
-S-  Applied substitution rule get_query_na_rules(8).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H24:  input_bytes <= 2147483652
<S>  New H28:  true
-S-  Applied substitution rule get_query_na_rules(9).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H44:  element(fld_bytes(input_packet), [2]) * 256 >= - 2147483648
<S>  New H60:  element(fld_bytes(input_packet), [4]) * 256 >= - 2147483648
-S-  Applied substitution rule get_query_na_rules(10).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H45:  element(fld_bytes(input_packet), [2]) * 256 <= 2147483647
<S>  New H61:  element(fld_bytes(input_packet), [4]) * 256 <= 2147483647
-S-  Applied substitution rule get_query_na_rules(12).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H20:  true
<S>  New H30:  true
-S-  Applied substitution rule get_query_na_rules(13).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H21:  true
<S>  New H31:  true
-S-  Applied substitution rule get_query_na_rules(17).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H36:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) >= 0
<S>  New H38:  element(fld_bytes(input_packet), [3]) >= 0
<S>  New H46:  element(fld_bytes(input_packet), [2]) >= 0
<S>  New H52:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) >= 0
<S>  New H54:  element(fld_bytes(input_packet), [5]) >= 0
<S>  New H62:  element(fld_bytes(input_packet), [4]) >= 0
-S-  Applied substitution rule get_query_na_rules(18).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H37:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) <= 2147483647
<S>  New H39:  element(fld_bytes(input_packet), [3]) <= 2147483647
<S>  New H47:  element(fld_bytes(input_packet), [2]) <= 2147483647
<S>  New H53:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) <= 2147483647
<S>  New H55:  element(fld_bytes(input_packet), [5]) <= 2147483647
<S>  New H63:  element(fld_bytes(input_packet), [4]) <= 2147483647
-S-  Applied substitution rule get_query_na_rules(22).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H18:  input_bytes >= 0
-S-  Applied substitution rule get_query_na_rules(23).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H19:  input_bytes <= 8192
-S-  Applied substitution rule get_query_na_rules(24).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__first by:
          - 2147483648.
<S>  New H25:  input_bytes >= - 2147483643
-S-  Applied substitution rule get_query_na_rules(25).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__last by:
          2147483647.
<S>  New H26:  input_bytes <= 2147483652
-S-  Applied substitution rule get_query_na_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H17:  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 H22:  true
<S>  New H41:  true
<S>  New H49:  true
<S>  New H57:  true
<S>  New H65:  true
-S-  Applied substitution rule get_query_na_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H42:  true
<S>  New H50:  true
<S>  New H58:  true
<S>  New H66:  true
-S-  Applied substitution rule get_query_na_rules(30).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H43:  true
<S>  New H51:  true
<S>  New H59:  true
<S>  New H67:  true
-S-  Applied substitution rule get_query_na_rules(33).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H17:  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-  Applied substitution rule get_query_na_rules(34).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H17:  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-  Applied substitution rule get_query_na_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H3:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H9:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H11:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H13:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H15:  fld_arcount(fld_header(input_packet)) >= 0
-S-  Applied substitution rule get_query_na_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H4:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H10:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H12:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H14:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H16:  fld_arcount(fld_header(input_packet)) <= 65535
-S-  Applied substitution rule get_query_na_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H5:  dns_types__query <= fld_opcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H6:  fld_opcode(fld_header(input_packet)) <= dns_types__status
-S-  Applied substitution rule get_query_na_rules(72).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H7:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(73).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H8:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S-  Applied substitution rule get_query_na_rules(107).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__first by:
          dns_types__in_class.
<S>  New H71:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) >= class_to_natural(dns_types__in_class)
<S>  New H73:  dns_types__in_class <= to_class(element(fld_bytes(input_packet), 
          [4]) * 256 + element(fld_bytes(input_packet), [5]))
-S-  Applied substitution rule get_query_na_rules(108).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__last by:
          dns_types__any_class.
<S>  New H72:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) <= class_to_natural(dns_types__any_class)
<S>  New H74:  to_class(element(fld_bytes(input_packet), [4]) * 256 + element(
          fld_bytes(input_packet), [5])) <= dns_types__any_class
-S-  Applied substitution rule get_query_na_rules(137).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__first by:
          dns_types__a.
<S>  New H68:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) < type_to_natural(dns_types__a) or 
          type_to_natural(dns_types__query_type__last) < element(fld_bytes(
          input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])
<S>  New H69:  true
-S-  Applied substitution rule get_query_na_rules(138).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__last by:
          dns_types__unimplemented.
<S>  New H70:  true
<S>  New H68:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) < type_to_natural(dns_types__a) or 
          type_to_natural(dns_types__unimplemented) < element(fld_bytes(
          input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])
-S-  Applied substitution rule get_query_na_rules(196).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H29:  input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or 
          rr_type__wirestringtypeindex__last <= 1
<S>  New H35:  1 <= rr_type__wirestringtypeindex__last
-S-  Applied substitution rule get_query_na_rules(197).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H29:  input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0
<S>  New H35:  true
***  Proved C1:  5 <= input_bytes
     using hypothesis H1.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_63.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  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 H22 on reading formula in, to give:
     %%%  H22:  dns_types__packet_bytes_range__first <= input_bytes - 5 -> 
          dns_types__packet_bytes_range__first <= 
          dns_types__packet_bytes_range__last
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H31).
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  true
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  dns_types__query_type__first <= to_type(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 2]))
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  dns_types__query_type__first <= dns_types__unimplemented
%%%  Simplified H76 on reading formula in, to give:
     %%%  H76:  dns_types__query_class__first <= dns_types__none_class
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H56).
---  Hypothesis H79 has been replaced by "true".  (It is already present, as 
          H57).
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  dns_types__packet_bytes_range__first >= 0
-S-  Applied substitution rule get_query_na_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H17:  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 H22:  6 <= input_bytes -> 1 <= dns_types__packet_bytes_range__last
<S>  New H27:  1 >= integer__first
<S>  New H28:  1 <= integer__last
<S>  New H29:  not (6 <= input_bytes and element(fld_bytes(input_packet), [1]) 
          <> 0 and rr_type__wirestringtypeindex__first < 
          rr_type__wirestringtypeindex__last)
<S>  New H36:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) >= natural__first
<S>  New H37:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) <= natural__last
<S>  New H38:  element(fld_bytes(input_packet), [3]) >= natural__first
<S>  New H39:  element(fld_bytes(input_packet), [3]) <= natural__last
<S>  New H40:  true
<S>  New H41:  3 <= dns_types__packet_bytes_range__last
<S>  New H42:  3 >= dns_types__packet_bytes_range__base__first
<S>  New H43:  3 <= dns_types__packet_bytes_range__base__last
<S>  New H44:  element(fld_bytes(input_packet), [2]) * 256 >= 
          integer__base__first
<S>  New H45:  element(fld_bytes(input_packet), [2]) * 256 <= 
          integer__base__last
<S>  New H46:  element(fld_bytes(input_packet), [2]) >= natural__first
<S>  New H47:  element(fld_bytes(input_packet), [2]) <= natural__last
<S>  New H48:  true
<S>  New H49:  2 <= dns_types__packet_bytes_range__last
<S>  New H50:  2 >= dns_types__packet_bytes_range__base__first
<S>  New H51:  2 <= dns_types__packet_bytes_range__base__last
<S>  New H52:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) >= natural__first
<S>  New H53:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) <= natural__last
<S>  New H54:  element(fld_bytes(input_packet), [5]) >= natural__first
<S>  New H55:  element(fld_bytes(input_packet), [5]) <= natural__last
<S>  New H56:  true
<S>  New H57:  5 <= dns_types__packet_bytes_range__last
<S>  New H58:  5 >= dns_types__packet_bytes_range__base__first
<S>  New H59:  5 <= dns_types__packet_bytes_range__base__last
<S>  New H60:  element(fld_bytes(input_packet), [4]) * 256 >= 
          integer__base__first
<S>  New H61:  element(fld_bytes(input_packet), [4]) * 256 <= 
          integer__base__last
<S>  New H62:  element(fld_bytes(input_packet), [4]) >= natural__first
<S>  New H63:  element(fld_bytes(input_packet), [4]) <= natural__last
<S>  New H64:  true
<S>  New H65:  4 <= dns_types__packet_bytes_range__last
<S>  New H66:  4 >= dns_types__packet_bytes_range__base__first
<S>  New H67:  4 <= dns_types__packet_bytes_range__base__last
<S>  New H68:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) >= type_to_natural(dns_types__query_type__first)
<S>  New H69:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) <= type_to_natural(dns_types__query_type__last)
<S>  New H70:  dns_types__query_type__first <= to_type(element(fld_bytes(
          input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3]))
<S>  New H71:  to_type(element(fld_bytes(input_packet), [2]) * 256 + element(
          fld_bytes(input_packet), [3])) <= dns_types__query_type__last
<S>  New H72:  not dns_types__query_type__valid(to_type(element(fld_bytes(
          input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])))
<S>  New H75:  not (element(fld_bytes(input_packet), [4]) * 256 + element(
          fld_bytes(input_packet), [5]) >= class_to_natural(
          dns_types__query_class__first) and element(fld_bytes(input_packet), [
          4]) * 256 + element(fld_bytes(input_packet), [5]) <= class_to_natural(
          dns_types__query_class__last))
<S>  New C1:  5 <= input_bytes
<S>  New C2:  true
***  Proved C2:  true
>>>  Restructured hypothesis H29 into:
     >>>  H29:  input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or 
          rr_type__wirestringtypeindex__last <= 
          rr_type__wirestringtypeindex__first
>>>  Restructured hypothesis H75 into:
     >>>  H75:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) < class_to_natural(dns_types__query_class__first) 
          or class_to_natural(dns_types__query_class__last) < element(fld_bytes(
          input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5])
-S-  Applied substitution rule get_query_na_rules(1).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H1:  input_bytes >= 13
-S-  Applied substitution rule get_query_na_rules(7).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H23:  input_bytes >= - 2147483643
<S>  New H27:  true
-S-  Applied substitution rule get_query_na_rules(8).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H24:  input_bytes <= 2147483652
<S>  New H28:  true
-S-  Applied substitution rule get_query_na_rules(9).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H44:  element(fld_bytes(input_packet), [2]) * 256 >= - 2147483648
<S>  New H60:  element(fld_bytes(input_packet), [4]) * 256 >= - 2147483648
-S-  Applied substitution rule get_query_na_rules(10).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H45:  element(fld_bytes(input_packet), [2]) * 256 <= 2147483647
<S>  New H61:  element(fld_bytes(input_packet), [4]) * 256 <= 2147483647
-S-  Applied substitution rule get_query_na_rules(12).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H20:  true
<S>  New H30:  true
-S-  Applied substitution rule get_query_na_rules(13).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H21:  true
<S>  New H31:  true
-S-  Applied substitution rule get_query_na_rules(17).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H36:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) >= 0
<S>  New H38:  element(fld_bytes(input_packet), [3]) >= 0
<S>  New H46:  element(fld_bytes(input_packet), [2]) >= 0
<S>  New H52:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) >= 0
<S>  New H54:  element(fld_bytes(input_packet), [5]) >= 0
<S>  New H62:  element(fld_bytes(input_packet), [4]) >= 0
-S-  Applied substitution rule get_query_na_rules(18).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H37:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) <= 2147483647
<S>  New H39:  element(fld_bytes(input_packet), [3]) <= 2147483647
<S>  New H47:  element(fld_bytes(input_packet), [2]) <= 2147483647
<S>  New H53:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) <= 2147483647
<S>  New H55:  element(fld_bytes(input_packet), [5]) <= 2147483647
<S>  New H63:  element(fld_bytes(input_packet), [4]) <= 2147483647
-S-  Applied substitution rule get_query_na_rules(22).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H18:  input_bytes >= 0
-S-  Applied substitution rule get_query_na_rules(23).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H19:  input_bytes <= 8192
-S-  Applied substitution rule get_query_na_rules(24).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__first by:
          - 2147483648.
<S>  New H25:  input_bytes >= - 2147483643
-S-  Applied substitution rule get_query_na_rules(25).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__last by:
          2147483647.
<S>  New H26:  input_bytes <= 2147483652
-S-  Applied substitution rule get_query_na_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H17:  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 H22:  true
<S>  New H41:  true
<S>  New H49:  true
<S>  New H57:  true
<S>  New H65:  true
-S-  Applied substitution rule get_query_na_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H42:  true
<S>  New H50:  true
<S>  New H58:  true
<S>  New H66:  true
-S-  Applied substitution rule get_query_na_rules(30).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H43:  true
<S>  New H51:  true
<S>  New H59:  true
<S>  New H67:  true
-S-  Applied substitution rule get_query_na_rules(33).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H17:  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-  Applied substitution rule get_query_na_rules(34).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H17:  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-  Applied substitution rule get_query_na_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H3:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H9:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H11:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H13:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H15:  fld_arcount(fld_header(input_packet)) >= 0
-S-  Applied substitution rule get_query_na_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H4:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H10:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H12:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H14:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H16:  fld_arcount(fld_header(input_packet)) <= 65535
-S-  Applied substitution rule get_query_na_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H5:  dns_types__query <= fld_opcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H6:  fld_opcode(fld_header(input_packet)) <= dns_types__status
-S-  Applied substitution rule get_query_na_rules(72).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H7:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(73).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H8:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S-  Applied substitution rule get_query_na_rules(107).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__first by:
          dns_types__in_class.
<S>  New H75:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) < class_to_natural(dns_types__in_class) or 
          class_to_natural(dns_types__query_class__last) < element(fld_bytes(
          input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5])
<S>  New H76:  true
-S-  Applied substitution rule get_query_na_rules(108).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__last by:
          dns_types__any_class.
<S>  New H77:  true
<S>  New H75:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) < class_to_natural(dns_types__in_class) or 
          class_to_natural(dns_types__any_class) < element(fld_bytes(
          input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5])
-S-  Applied substitution rule get_query_na_rules(137).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__first by:
          dns_types__a.
<S>  New H68:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) >= type_to_natural(dns_types__a)
<S>  New H70:  dns_types__a <= to_type(element(fld_bytes(input_packet), [2]) * 
          256 + element(fld_bytes(input_packet), [3]))
<S>  New H73:  true
-S-  Applied substitution rule get_query_na_rules(138).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__last by:
          dns_types__unimplemented.
<S>  New H69:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) <= type_to_natural(dns_types__unimplemented)
<S>  New H71:  to_type(element(fld_bytes(input_packet), [2]) * 256 + element(
          fld_bytes(input_packet), [3])) <= dns_types__unimplemented
<S>  New H74:  true
-S-  Applied substitution rule get_query_na_rules(196).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H29:  input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or 
          rr_type__wirestringtypeindex__last <= 1
<S>  New H35:  1 <= rr_type__wirestringtypeindex__last
-S-  Applied substitution rule get_query_na_rules(197).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H29:  input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0
<S>  New H35:  true
***  Proved C1:  5 <= input_bytes
     using hypothesis H1.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_64.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  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 H22 on reading formula in, to give:
     %%%  H22:  dns_types__packet_bytes_range__first <= input_bytes - 5 -> 
          dns_types__packet_bytes_range__first <= 
          dns_types__packet_bytes_range__last
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H31).
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  true
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  dns_types__query_type__first <= to_type(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 2]))
%%%  Simplified H72 on reading formula in, to give:
     %%%  H72:  dns_types__query_type__valid(to_type(element(fld_bytes(
          input_packet), [dns_types__packet_bytes_range__first + 1]) * 256 + 
          element(fld_bytes(input_packet), [
          dns_types__packet_bytes_range__first + 2])))
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  dns_types__query_class__first <= dns_types__none_class
---  Hypothesis H76 has been replaced by "true".  (It is already present, as 
          H56).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H57).
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  dns_types__packet_bytes_range__first >= 0
-S-  Applied substitution rule get_query_na_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H17:  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 H22:  6 <= input_bytes -> 1 <= dns_types__packet_bytes_range__last
<S>  New H27:  1 >= integer__first
<S>  New H28:  1 <= integer__last
<S>  New H29:  not (6 <= input_bytes and element(fld_bytes(input_packet), [1]) 
          <> 0 and rr_type__wirestringtypeindex__first < 
          rr_type__wirestringtypeindex__last)
<S>  New H36:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) >= natural__first
<S>  New H37:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) <= natural__last
<S>  New H38:  element(fld_bytes(input_packet), [3]) >= natural__first
<S>  New H39:  element(fld_bytes(input_packet), [3]) <= natural__last
<S>  New H40:  true
<S>  New H41:  3 <= dns_types__packet_bytes_range__last
<S>  New H42:  3 >= dns_types__packet_bytes_range__base__first
<S>  New H43:  3 <= dns_types__packet_bytes_range__base__last
<S>  New H44:  element(fld_bytes(input_packet), [2]) * 256 >= 
          integer__base__first
<S>  New H45:  element(fld_bytes(input_packet), [2]) * 256 <= 
          integer__base__last
<S>  New H46:  element(fld_bytes(input_packet), [2]) >= natural__first
<S>  New H47:  element(fld_bytes(input_packet), [2]) <= natural__last
<S>  New H48:  true
<S>  New H49:  2 <= dns_types__packet_bytes_range__last
<S>  New H50:  2 >= dns_types__packet_bytes_range__base__first
<S>  New H51:  2 <= dns_types__packet_bytes_range__base__last
<S>  New H52:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) >= natural__first
<S>  New H53:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) <= natural__last
<S>  New H54:  element(fld_bytes(input_packet), [5]) >= natural__first
<S>  New H55:  element(fld_bytes(input_packet), [5]) <= natural__last
<S>  New H56:  true
<S>  New H57:  5 <= dns_types__packet_bytes_range__last
<S>  New H58:  5 >= dns_types__packet_bytes_range__base__first
<S>  New H59:  5 <= dns_types__packet_bytes_range__base__last
<S>  New H60:  element(fld_bytes(input_packet), [4]) * 256 >= 
          integer__base__first
<S>  New H61:  element(fld_bytes(input_packet), [4]) * 256 <= 
          integer__base__last
<S>  New H62:  element(fld_bytes(input_packet), [4]) >= natural__first
<S>  New H63:  element(fld_bytes(input_packet), [4]) <= natural__last
<S>  New H64:  true
<S>  New H65:  4 <= dns_types__packet_bytes_range__last
<S>  New H66:  4 >= dns_types__packet_bytes_range__base__first
<S>  New H67:  4 <= dns_types__packet_bytes_range__base__last
<S>  New H68:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) >= type_to_natural(dns_types__query_type__first)
<S>  New H69:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) <= type_to_natural(dns_types__query_type__last)
<S>  New H70:  dns_types__query_type__first <= to_type(element(fld_bytes(
          input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3]))
<S>  New H71:  to_type(element(fld_bytes(input_packet), [2]) * 256 + element(
          fld_bytes(input_packet), [3])) <= dns_types__query_type__last
<S>  New H72:  dns_types__query_type__valid(to_type(element(fld_bytes(
          input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])))
<S>  New H73:  not (element(fld_bytes(input_packet), [4]) * 256 + element(
          fld_bytes(input_packet), [5]) >= class_to_natural(
          dns_types__query_class__first) and element(fld_bytes(input_packet), [
          4]) * 256 + element(fld_bytes(input_packet), [5]) <= class_to_natural(
          dns_types__query_class__last))
<S>  New C1:  5 <= input_bytes
<S>  New C2:  true
***  Proved C2:  true
>>>  Restructured hypothesis H29 into:
     >>>  H29:  input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or 
          rr_type__wirestringtypeindex__last <= 
          rr_type__wirestringtypeindex__first
>>>  Restructured hypothesis H73 into:
     >>>  H73:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) < class_to_natural(dns_types__query_class__first) 
          or class_to_natural(dns_types__query_class__last) < element(fld_bytes(
          input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5])
-S-  Applied substitution rule get_query_na_rules(1).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H1:  input_bytes >= 13
-S-  Applied substitution rule get_query_na_rules(7).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H23:  input_bytes >= - 2147483643
<S>  New H27:  true
-S-  Applied substitution rule get_query_na_rules(8).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H24:  input_bytes <= 2147483652
<S>  New H28:  true
-S-  Applied substitution rule get_query_na_rules(9).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H44:  element(fld_bytes(input_packet), [2]) * 256 >= - 2147483648
<S>  New H60:  element(fld_bytes(input_packet), [4]) * 256 >= - 2147483648
-S-  Applied substitution rule get_query_na_rules(10).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H45:  element(fld_bytes(input_packet), [2]) * 256 <= 2147483647
<S>  New H61:  element(fld_bytes(input_packet), [4]) * 256 <= 2147483647
-S-  Applied substitution rule get_query_na_rules(12).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H20:  true
<S>  New H30:  true
-S-  Applied substitution rule get_query_na_rules(13).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H21:  true
<S>  New H31:  true
-S-  Applied substitution rule get_query_na_rules(17).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H36:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) >= 0
<S>  New H38:  element(fld_bytes(input_packet), [3]) >= 0
<S>  New H46:  element(fld_bytes(input_packet), [2]) >= 0
<S>  New H52:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) >= 0
<S>  New H54:  element(fld_bytes(input_packet), [5]) >= 0
<S>  New H62:  element(fld_bytes(input_packet), [4]) >= 0
-S-  Applied substitution rule get_query_na_rules(18).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H37:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) <= 2147483647
<S>  New H39:  element(fld_bytes(input_packet), [3]) <= 2147483647
<S>  New H47:  element(fld_bytes(input_packet), [2]) <= 2147483647
<S>  New H53:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) <= 2147483647
<S>  New H55:  element(fld_bytes(input_packet), [5]) <= 2147483647
<S>  New H63:  element(fld_bytes(input_packet), [4]) <= 2147483647
-S-  Applied substitution rule get_query_na_rules(22).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H18:  input_bytes >= 0
-S-  Applied substitution rule get_query_na_rules(23).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H19:  input_bytes <= 8192
-S-  Applied substitution rule get_query_na_rules(24).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__first by:
          - 2147483648.
<S>  New H25:  input_bytes >= - 2147483643
-S-  Applied substitution rule get_query_na_rules(25).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__last by:
          2147483647.
<S>  New H26:  input_bytes <= 2147483652
-S-  Applied substitution rule get_query_na_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H17:  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 H22:  true
<S>  New H41:  true
<S>  New H49:  true
<S>  New H57:  true
<S>  New H65:  true
-S-  Applied substitution rule get_query_na_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H42:  true
<S>  New H50:  true
<S>  New H58:  true
<S>  New H66:  true
-S-  Applied substitution rule get_query_na_rules(30).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H43:  true
<S>  New H51:  true
<S>  New H59:  true
<S>  New H67:  true
-S-  Applied substitution rule get_query_na_rules(33).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H17:  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-  Applied substitution rule get_query_na_rules(34).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H17:  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-  Applied substitution rule get_query_na_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H3:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H9:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H11:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H13:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H15:  fld_arcount(fld_header(input_packet)) >= 0
-S-  Applied substitution rule get_query_na_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H4:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H10:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H12:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H14:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H16:  fld_arcount(fld_header(input_packet)) <= 65535
-S-  Applied substitution rule get_query_na_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H5:  dns_types__query <= fld_opcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H6:  fld_opcode(fld_header(input_packet)) <= dns_types__status
-S-  Applied substitution rule get_query_na_rules(72).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H7:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(73).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H8:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S-  Applied substitution rule get_query_na_rules(107).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__first by:
          dns_types__in_class.
<S>  New H73:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) < class_to_natural(dns_types__in_class) or 
          class_to_natural(dns_types__query_class__last) < element(fld_bytes(
          input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5])
<S>  New H74:  true
-S-  Applied substitution rule get_query_na_rules(108).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__last by:
          dns_types__any_class.
<S>  New H75:  true
<S>  New H73:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) < class_to_natural(dns_types__in_class) or 
          class_to_natural(dns_types__any_class) < element(fld_bytes(
          input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5])
-S-  Applied substitution rule get_query_na_rules(137).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__first by:
          dns_types__a.
<S>  New H68:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) >= type_to_natural(dns_types__a)
<S>  New H70:  dns_types__a <= to_type(element(fld_bytes(input_packet), [2]) * 
          256 + element(fld_bytes(input_packet), [3]))
-S-  Applied substitution rule get_query_na_rules(138).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__last by:
          dns_types__unimplemented.
<S>  New H69:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) <= type_to_natural(dns_types__unimplemented)
<S>  New H71:  to_type(element(fld_bytes(input_packet), [2]) * 256 + element(
          fld_bytes(input_packet), [3])) <= dns_types__unimplemented
-S-  Applied substitution rule get_query_na_rules(196).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H29:  input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or 
          rr_type__wirestringtypeindex__last <= 1
<S>  New H35:  1 <= rr_type__wirestringtypeindex__last
-S-  Applied substitution rule get_query_na_rules(197).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H29:  input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0
<S>  New H35:  true
***  Proved C1:  5 <= input_bytes
     using hypothesis H1.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_65.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H17 on reading formula in, to give:
     %%%  H17:  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 H22 on reading formula in, to give:
     %%%  H22:  dns_types__packet_bytes_range__first <= input_bytes - 5 -> 
          dns_types__packet_bytes_range__first <= 
          dns_types__packet_bytes_range__last
---  Hypothesis H32 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H33 has been replaced by "true".  (It is already present, as 
          H31).
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  true
%%%  Simplified H69 on reading formula in, to give:
     %%%  H69:  dns_types__query_type__first <= dns_types__unimplemented
%%%  Simplified H72 on reading formula in, to give:
     %%%  H72:  dns_types__query_class__first <= dns_types__none_class
---  Hypothesis H74 has been replaced by "true".  (It is already present, as 
          H56).
---  Hypothesis H75 has been replaced by "true".  (It is already present, as 
          H57).
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  dns_types__packet_bytes_range__first >= 0
-S-  Applied substitution rule get_query_na_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H17:  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 H22:  6 <= input_bytes -> 1 <= dns_types__packet_bytes_range__last
<S>  New H27:  1 >= integer__first
<S>  New H28:  1 <= integer__last
<S>  New H29:  not (6 <= input_bytes and element(fld_bytes(input_packet), [1]) 
          <> 0 and rr_type__wirestringtypeindex__first < 
          rr_type__wirestringtypeindex__last)
<S>  New H36:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) >= natural__first
<S>  New H37:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) <= natural__last
<S>  New H38:  element(fld_bytes(input_packet), [3]) >= natural__first
<S>  New H39:  element(fld_bytes(input_packet), [3]) <= natural__last
<S>  New H40:  true
<S>  New H41:  3 <= dns_types__packet_bytes_range__last
<S>  New H42:  3 >= dns_types__packet_bytes_range__base__first
<S>  New H43:  3 <= dns_types__packet_bytes_range__base__last
<S>  New H44:  element(fld_bytes(input_packet), [2]) * 256 >= 
          integer__base__first
<S>  New H45:  element(fld_bytes(input_packet), [2]) * 256 <= 
          integer__base__last
<S>  New H46:  element(fld_bytes(input_packet), [2]) >= natural__first
<S>  New H47:  element(fld_bytes(input_packet), [2]) <= natural__last
<S>  New H48:  true
<S>  New H49:  2 <= dns_types__packet_bytes_range__last
<S>  New H50:  2 >= dns_types__packet_bytes_range__base__first
<S>  New H51:  2 <= dns_types__packet_bytes_range__base__last
<S>  New H52:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) >= natural__first
<S>  New H53:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) <= natural__last
<S>  New H54:  element(fld_bytes(input_packet), [5]) >= natural__first
<S>  New H55:  element(fld_bytes(input_packet), [5]) <= natural__last
<S>  New H56:  true
<S>  New H57:  5 <= dns_types__packet_bytes_range__last
<S>  New H58:  5 >= dns_types__packet_bytes_range__base__first
<S>  New H59:  5 <= dns_types__packet_bytes_range__base__last
<S>  New H60:  element(fld_bytes(input_packet), [4]) * 256 >= 
          integer__base__first
<S>  New H61:  element(fld_bytes(input_packet), [4]) * 256 <= 
          integer__base__last
<S>  New H62:  element(fld_bytes(input_packet), [4]) >= natural__first
<S>  New H63:  element(fld_bytes(input_packet), [4]) <= natural__last
<S>  New H64:  true
<S>  New H65:  4 <= dns_types__packet_bytes_range__last
<S>  New H66:  4 >= dns_types__packet_bytes_range__base__first
<S>  New H67:  4 <= dns_types__packet_bytes_range__base__last
<S>  New H68:  not (element(fld_bytes(input_packet), [2]) * 256 + element(
          fld_bytes(input_packet), [3]) >= type_to_natural(
          dns_types__query_type__first) and element(fld_bytes(input_packet), [2]
          ) * 256 + element(fld_bytes(input_packet), [3]) <= type_to_natural(
          dns_types__query_type__last))
<S>  New H71:  not (element(fld_bytes(input_packet), [4]) * 256 + element(
          fld_bytes(input_packet), [5]) >= class_to_natural(
          dns_types__query_class__first) and element(fld_bytes(input_packet), [
          4]) * 256 + element(fld_bytes(input_packet), [5]) <= class_to_natural(
          dns_types__query_class__last))
<S>  New C1:  5 <= input_bytes
<S>  New C2:  true
***  Proved C2:  true
>>>  Restructured hypothesis H29 into:
     >>>  H29:  input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or 
          rr_type__wirestringtypeindex__last <= 
          rr_type__wirestringtypeindex__first
>>>  Restructured hypothesis H68 into:
     >>>  H68:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) < type_to_natural(dns_types__query_type__first) 
          or type_to_natural(dns_types__query_type__last) < element(fld_bytes(
          input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])
>>>  Restructured hypothesis H71 into:
     >>>  H71:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) < class_to_natural(dns_types__query_class__first) 
          or class_to_natural(dns_types__query_class__last) < element(fld_bytes(
          input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5])
-S-  Applied substitution rule get_query_na_rules(1).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H1:  input_bytes >= 13
-S-  Applied substitution rule get_query_na_rules(7).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H23:  input_bytes >= - 2147483643
<S>  New H27:  true
-S-  Applied substitution rule get_query_na_rules(8).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H24:  input_bytes <= 2147483652
<S>  New H28:  true
-S-  Applied substitution rule get_query_na_rules(9).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H44:  element(fld_bytes(input_packet), [2]) * 256 >= - 2147483648
<S>  New H60:  element(fld_bytes(input_packet), [4]) * 256 >= - 2147483648
-S-  Applied substitution rule get_query_na_rules(10).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H45:  element(fld_bytes(input_packet), [2]) * 256 <= 2147483647
<S>  New H61:  element(fld_bytes(input_packet), [4]) * 256 <= 2147483647
-S-  Applied substitution rule get_query_na_rules(12).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H20:  true
<S>  New H30:  true
-S-  Applied substitution rule get_query_na_rules(13).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H21:  true
<S>  New H31:  true
-S-  Applied substitution rule get_query_na_rules(17).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H36:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) >= 0
<S>  New H38:  element(fld_bytes(input_packet), [3]) >= 0
<S>  New H46:  element(fld_bytes(input_packet), [2]) >= 0
<S>  New H52:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) >= 0
<S>  New H54:  element(fld_bytes(input_packet), [5]) >= 0
<S>  New H62:  element(fld_bytes(input_packet), [4]) >= 0
-S-  Applied substitution rule get_query_na_rules(18).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H37:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) <= 2147483647
<S>  New H39:  element(fld_bytes(input_packet), [3]) <= 2147483647
<S>  New H47:  element(fld_bytes(input_packet), [2]) <= 2147483647
<S>  New H53:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) <= 2147483647
<S>  New H55:  element(fld_bytes(input_packet), [5]) <= 2147483647
<S>  New H63:  element(fld_bytes(input_packet), [4]) <= 2147483647
-S-  Applied substitution rule get_query_na_rules(22).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H18:  input_bytes >= 0
-S-  Applied substitution rule get_query_na_rules(23).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H19:  input_bytes <= 8192
-S-  Applied substitution rule get_query_na_rules(24).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__first by:
          - 2147483648.
<S>  New H25:  input_bytes >= - 2147483643
-S-  Applied substitution rule get_query_na_rules(25).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__last by:
          2147483647.
<S>  New H26:  input_bytes <= 2147483652
-S-  Applied substitution rule get_query_na_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H17:  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 H22:  true
<S>  New H41:  true
<S>  New H49:  true
<S>  New H57:  true
<S>  New H65:  true
-S-  Applied substitution rule get_query_na_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H42:  true
<S>  New H50:  true
<S>  New H58:  true
<S>  New H66:  true
-S-  Applied substitution rule get_query_na_rules(30).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H43:  true
<S>  New H51:  true
<S>  New H59:  true
<S>  New H67:  true
-S-  Applied substitution rule get_query_na_rules(33).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H17:  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-  Applied substitution rule get_query_na_rules(34).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H17:  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-  Applied substitution rule get_query_na_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H3:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H9:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H11:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H13:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H15:  fld_arcount(fld_header(input_packet)) >= 0
-S-  Applied substitution rule get_query_na_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H4:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H10:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H12:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H14:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H16:  fld_arcount(fld_header(input_packet)) <= 65535
-S-  Applied substitution rule get_query_na_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H5:  dns_types__query <= fld_opcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H6:  fld_opcode(fld_header(input_packet)) <= dns_types__status
-S-  Applied substitution rule get_query_na_rules(72).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H7:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(73).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H8:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S-  Applied substitution rule get_query_na_rules(107).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__first by:
          dns_types__in_class.
<S>  New H71:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) < class_to_natural(dns_types__in_class) or 
          class_to_natural(dns_types__query_class__last) < element(fld_bytes(
          input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5])
<S>  New H72:  true
-S-  Applied substitution rule get_query_na_rules(108).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__last by:
          dns_types__any_class.
<S>  New H73:  true
<S>  New H71:  element(fld_bytes(input_packet), [4]) * 256 + element(fld_bytes(
          input_packet), [5]) < class_to_natural(dns_types__in_class) or 
          class_to_natural(dns_types__any_class) < element(fld_bytes(
          input_packet), [4]) * 256 + element(fld_bytes(input_packet), [5])
-S-  Applied substitution rule get_query_na_rules(137).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__first by:
          dns_types__a.
<S>  New H68:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) < type_to_natural(dns_types__a) or 
          type_to_natural(dns_types__query_type__last) < element(fld_bytes(
          input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])
<S>  New H69:  true
-S-  Applied substitution rule get_query_na_rules(138).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__last by:
          dns_types__unimplemented.
<S>  New H70:  true
<S>  New H68:  element(fld_bytes(input_packet), [2]) * 256 + element(fld_bytes(
          input_packet), [3]) < type_to_natural(dns_types__a) or 
          type_to_natural(dns_types__unimplemented) < element(fld_bytes(
          input_packet), [2]) * 256 + element(fld_bytes(input_packet), [3])
-S-  Applied substitution rule get_query_na_rules(196).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H29:  input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0 or 
          rr_type__wirestringtypeindex__last <= 1
<S>  New H35:  1 <= rr_type__wirestringtypeindex__last
-S-  Applied substitution rule get_query_na_rules(197).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H29:  input_bytes < 6 or element(fld_bytes(input_packet), [1]) = 0
<S>  New H35:  true
***  Proved C1:  5 <= input_bytes
     using hypothesis H1.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_66.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H19 on reading formula in, to give:
     %%%  H19:  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)
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H27 has been replaced by "true".  (It is already present, as 
          H25).
---  Hypothesis H28 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H30 has been replaced by "true".  (It is already present, as H1)
          .
---  Hypothesis H46 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H47 has been replaced by "true".  (It is already present, as 
          H45).
%%%  Simplified H50 on reading formula in, to give:
     %%%  H50:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H51 on reading formula in, to give:
     %%%  H51:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H53 on reading formula in, to give:
     %%%  H53:  element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  byte + 3 >= dns_types__packet_bytes_range__first
%%%  Simplified H55 on reading formula in, to give:
     %%%  H55:  byte + 3 <= dns_types__packet_bytes_range__last
%%%  Simplified H56 on reading formula in, to give:
     %%%  H56:  byte + 3 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H57 on reading formula in, to give:
     %%%  H57:  byte + 3 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H58 on reading formula in, to give:
     %%%  H58:  element(fld_bytes(input_packet), [byte + 2]) * 256 >= 
          integer__base__first
%%%  Simplified H59 on reading formula in, to give:
     %%%  H59:  element(fld_bytes(input_packet), [byte + 2]) * 256 <= 
          integer__base__last
%%%  Simplified H60 on reading formula in, to give:
     %%%  H60:  element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%%  Simplified H61 on reading formula in, to give:
     %%%  H61:  element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%%  Simplified H62 on reading formula in, to give:
     %%%  H62:  byte + 2 >= dns_types__packet_bytes_range__first
%%%  Simplified H63 on reading formula in, to give:
     %%%  H63:  byte + 2 <= dns_types__packet_bytes_range__last
%%%  Simplified H64 on reading formula in, to give:
     %%%  H64:  byte + 2 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H65 on reading formula in, to give:
     %%%  H65:  byte + 2 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H66 on reading formula in, to give:
     %%%  H66:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H67 on reading formula in, to give:
     %%%  H67:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H68 on reading formula in, to give:
     %%%  H68:  element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H69 on reading formula in, to give:
     %%%  H69:  element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  byte + 5 >= dns_types__packet_bytes_range__first
%%%  Simplified H71 on reading formula in, to give:
     %%%  H71:  byte + 5 <= dns_types__packet_bytes_range__last
%%%  Simplified H72 on reading formula in, to give:
     %%%  H72:  byte + 5 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  byte + 5 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  element(fld_bytes(input_packet), [byte + 4]) * 256 >= 
          integer__base__first
%%%  Simplified H75 on reading formula in, to give:
     %%%  H75:  element(fld_bytes(input_packet), [byte + 4]) * 256 <= 
          integer__base__last
%%%  Simplified H76 on reading formula in, to give:
     %%%  H76:  element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%%  Simplified H77 on reading formula in, to give:
     %%%  H77:  element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%%  Simplified H78 on reading formula in, to give:
     %%%  H78:  byte + 4 >= dns_types__packet_bytes_range__first
%%%  Simplified H79 on reading formula in, to give:
     %%%  H79:  byte + 4 <= dns_types__packet_bytes_range__last
%%%  Simplified H80 on reading formula in, to give:
     %%%  H80:  byte + 4 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H81 on reading formula in, to give:
     %%%  H81:  byte + 4 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H82 on reading formula in, to give:
     %%%  H82:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
          dns_types__query_type__first)
%%%  Simplified H83 on reading formula in, to give:
     %%%  H83:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
          dns_types__query_type__last)
%%%  Simplified H84 on reading formula in, to give:
     %%%  H84:  dns_types__query_type__first <= to_type(element(fld_bytes(
          input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
          byte + 3]))
%%%  Simplified H85 on reading formula in, to give:
     %%%  H85:  to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [byte + 3])) <= 
          dns_types__query_type__last
%%%  Simplified H86 on reading formula in, to give:
     %%%  H86:  not dns_types__query_type__valid(to_type(element(fld_bytes(
          input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
          byte + 3])))
%%%  Simplified H87 on reading formula in, to give:
     %%%  H87:  dns_types__query_type__first <= dns_types__unimplemented
%%%  Simplified H89 on reading formula in, to give:
     %%%  H89:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
          dns_types__query_class__first)
%%%  Simplified H90 on reading formula in, to give:
     %%%  H90:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
          dns_types__query_class__last)
%%%  Simplified H91 on reading formula in, to give:
     %%%  H91:  dns_types__query_class__first <= to_class(element(fld_bytes(
          input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
          byte + 5]))
%%%  Simplified H92 on reading formula in, to give:
     %%%  H92:  to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [byte + 5])) <= 
          dns_types__query_class__last
%%%  Simplified H93 on reading formula in, to give:
     %%%  H93:  not dns_types__query_class__valid(to_class(element(fld_bytes(
          input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
          byte + 5])))
%%%  Simplified H94 on reading formula in, to give:
     %%%  H94:  dns_types__query_class__first <= dns_types__none_class
---  Hypothesis H96 has been replaced by "true".  (It is already present, as 
          H70).
---  Hypothesis H97 has been replaced by "true".  (It is already present, as 
          H71).
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  byte + 5 <= input_bytes
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  byte >= - 1
***  Proved C1:  byte + 5 <= input_bytes
     using hypothesis H4.
>>>  Restructured hypothesis H43 into:
     >>>  H43:  input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
          byte + 1]) = 0 or rr_type__wirestringtypeindex__last <= i + 1
-S-  Applied substitution rule get_query_na_rules(1).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H22:  input_bytes >= 13
-S-  Applied substitution rule get_query_na_rules(7).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H37:  input_bytes >= - 2147483643
<S>  New H41:  byte >= - 2147483649
-S-  Applied substitution rule get_query_na_rules(8).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H38:  input_bytes <= 2147483652
<S>  New H42:  byte <= 2147483646
-S-  Applied substitution rule get_query_na_rules(9).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H58:  element(fld_bytes(input_packet), [byte + 2]) * 256 >= - 
          2147483648
<S>  New H74:  element(fld_bytes(input_packet), [byte + 4]) * 256 >= - 
          2147483648
-S-  Applied substitution rule get_query_na_rules(10).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H59:  element(fld_bytes(input_packet), [byte + 2]) * 256 <= 2147483647
<S>  New H75:  element(fld_bytes(input_packet), [byte + 4]) * 256 <= 2147483647
-S-  Applied substitution rule get_query_na_rules(12).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H24:  element(fld_bytes(input_packet), [byte]) >= 0
<S>  New H44:  true
-S-  Applied substitution rule get_query_na_rules(13).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H25:  element(fld_bytes(input_packet), [byte]) <= 255
<S>  New H45:  true
-S-  Applied substitution rule get_query_na_rules(17).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H32:  i >= - 1
<S>  New H50:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= 0
<S>  New H52:  element(fld_bytes(input_packet), [byte + 3]) >= 0
<S>  New H60:  element(fld_bytes(input_packet), [byte + 2]) >= 0
<S>  New H66:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= 0
<S>  New H68:  element(fld_bytes(input_packet), [byte + 5]) >= 0
<S>  New H76:  element(fld_bytes(input_packet), [byte + 4]) >= 0
-S-  Applied substitution rule get_query_na_rules(18).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H33:  i <= 2147483646
<S>  New H51:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S>  New H53:  element(fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S>  New H61:  element(fld_bytes(input_packet), [byte + 2]) <= 2147483647
<S>  New H67:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S>  New H69:  element(fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S>  New H77:  element(fld_bytes(input_packet), [byte + 4]) <= 2147483647
-S-  Applied substitution rule get_query_na_rules(22).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H20:  input_bytes >= 0
-S-  Applied substitution rule get_query_na_rules(23).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H21:  input_bytes <= 8192
-S-  Applied substitution rule get_query_na_rules(24).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__first by:
          - 2147483648.
<S>  New H39:  input_bytes >= - 2147483643
-S-  Applied substitution rule get_query_na_rules(25).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__last by:
          2147483647.
<S>  New H40:  input_bytes <= 2147483652
-S-  Applied substitution rule get_query_na_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H3:  byte >= 1
<S>  New H19:  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 H34:  byte >= 0
<S>  New H36:  byte + 1 <= input_bytes - 5 -> byte >= 0 and byte + 1 <= 
          dns_types__packet_bytes_range__last
<S>  New H54:  byte >= - 2
<S>  New H62:  byte >= - 1
<S>  New H70:  byte >= - 4
<S>  New H78:  byte >= - 3
-S-  Applied substitution rule get_query_na_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H29:  byte <= 8180
<S>  New H35:  byte <= 8179
<S>  New H55:  byte <= 8177
<S>  New H63:  byte <= 8178
<S>  New H71:  byte <= 8175
<S>  New H79:  byte <= 8176
<S>  New H19:  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 H36:  byte + 1 <= input_bytes - 5 -> byte >= 0 and byte <= 8179
-S-  Applied substitution rule get_query_na_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H56:  byte >= - 2147483651
<S>  New H64:  byte >= - 2147483650
<S>  New H72:  byte >= - 2147483653
<S>  New H80:  byte >= - 2147483652
-S-  Applied substitution rule get_query_na_rules(30).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H57:  byte <= 2147483644
<S>  New H65:  byte <= 2147483645
<S>  New H73:  byte <= 2147483642
<S>  New H81:  byte <= 2147483643
-S-  Applied substitution rule get_query_na_rules(33).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H19:  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-  Applied substitution rule get_query_na_rules(34).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H19:  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-  Applied substitution rule get_query_na_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H5:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H11:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H13:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H15:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H17:  fld_arcount(fld_header(input_packet)) >= 0
-S-  Applied substitution rule get_query_na_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H6:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H12:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H14:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H16:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H18:  fld_arcount(fld_header(input_packet)) <= 65535
-S-  Applied substitution rule get_query_na_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H7:  dns_types__query <= fld_opcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H8:  fld_opcode(fld_header(input_packet)) <= dns_types__status
-S-  Applied substitution rule get_query_na_rules(72).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H9:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(73).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H10:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S-  Applied substitution rule get_query_na_rules(107).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__first by:
          dns_types__in_class.
<S>  New H89:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
          dns_types__in_class)
<S>  New H91:  dns_types__in_class <= to_class(element(fld_bytes(input_packet), 
          [byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]))
<S>  New H94:  true
-S-  Applied substitution rule get_query_na_rules(108).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__last by:
          dns_types__any_class.
<S>  New H90:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
          dns_types__any_class)
<S>  New H92:  to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [byte + 5])) <= dns_types__any_class
<S>  New H95:  true
-S-  Applied substitution rule get_query_na_rules(137).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__first by:
          dns_types__a.
<S>  New H82:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= type_to_natural(dns_types__a)
<S>  New H84:  dns_types__a <= to_type(element(fld_bytes(input_packet), [byte + 
          2]) * 256 + element(fld_bytes(input_packet), [byte + 3]))
<S>  New H87:  true
-S-  Applied substitution rule get_query_na_rules(138).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__last by:
          dns_types__unimplemented.
<S>  New H83:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
          dns_types__unimplemented)
<S>  New H85:  to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [byte + 3])) <= 
          dns_types__unimplemented
<S>  New H88:  true
-S-  Applied substitution rule get_query_na_rules(196).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H1:  i >= 1
<S>  New H48:  i >= 0
-S-  Applied substitution rule get_query_na_rules(197).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H2:  i < 129
<S>  New H31:  i <= 129
<S>  New H43:  input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
          byte + 1]) = 0 or 128 <= i
<S>  New H49:  i <= 128
***  Proved C2:  byte >= - 1
     using hypothesis H62.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_67.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H19 on reading formula in, to give:
     %%%  H19:  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)
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H27 has been replaced by "true".  (It is already present, as 
          H25).
---  Hypothesis H28 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H30 has been replaced by "true".  (It is already present, as H1)
          .
---  Hypothesis H46 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H47 has been replaced by "true".  (It is already present, as 
          H45).
%%%  Simplified H50 on reading formula in, to give:
     %%%  H50:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H51 on reading formula in, to give:
     %%%  H51:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H53 on reading formula in, to give:
     %%%  H53:  element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  byte + 3 >= dns_types__packet_bytes_range__first
%%%  Simplified H55 on reading formula in, to give:
     %%%  H55:  byte + 3 <= dns_types__packet_bytes_range__last
%%%  Simplified H56 on reading formula in, to give:
     %%%  H56:  byte + 3 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H57 on reading formula in, to give:
     %%%  H57:  byte + 3 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H58 on reading formula in, to give:
     %%%  H58:  element(fld_bytes(input_packet), [byte + 2]) * 256 >= 
          integer__base__first
%%%  Simplified H59 on reading formula in, to give:
     %%%  H59:  element(fld_bytes(input_packet), [byte + 2]) * 256 <= 
          integer__base__last
%%%  Simplified H60 on reading formula in, to give:
     %%%  H60:  element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%%  Simplified H61 on reading formula in, to give:
     %%%  H61:  element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%%  Simplified H62 on reading formula in, to give:
     %%%  H62:  byte + 2 >= dns_types__packet_bytes_range__first
%%%  Simplified H63 on reading formula in, to give:
     %%%  H63:  byte + 2 <= dns_types__packet_bytes_range__last
%%%  Simplified H64 on reading formula in, to give:
     %%%  H64:  byte + 2 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H65 on reading formula in, to give:
     %%%  H65:  byte + 2 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H66 on reading formula in, to give:
     %%%  H66:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H67 on reading formula in, to give:
     %%%  H67:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H68 on reading formula in, to give:
     %%%  H68:  element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H69 on reading formula in, to give:
     %%%  H69:  element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  byte + 5 >= dns_types__packet_bytes_range__first
%%%  Simplified H71 on reading formula in, to give:
     %%%  H71:  byte + 5 <= dns_types__packet_bytes_range__last
%%%  Simplified H72 on reading formula in, to give:
     %%%  H72:  byte + 5 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  byte + 5 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  element(fld_bytes(input_packet), [byte + 4]) * 256 >= 
          integer__base__first
%%%  Simplified H75 on reading formula in, to give:
     %%%  H75:  element(fld_bytes(input_packet), [byte + 4]) * 256 <= 
          integer__base__last
%%%  Simplified H76 on reading formula in, to give:
     %%%  H76:  element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%%  Simplified H77 on reading formula in, to give:
     %%%  H77:  element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%%  Simplified H78 on reading formula in, to give:
     %%%  H78:  byte + 4 >= dns_types__packet_bytes_range__first
%%%  Simplified H79 on reading formula in, to give:
     %%%  H79:  byte + 4 <= dns_types__packet_bytes_range__last
%%%  Simplified H80 on reading formula in, to give:
     %%%  H80:  byte + 4 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H81 on reading formula in, to give:
     %%%  H81:  byte + 4 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H82 on reading formula in, to give:
     %%%  H82:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
          dns_types__query_type__first)
%%%  Simplified H83 on reading formula in, to give:
     %%%  H83:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
          dns_types__query_type__last)
%%%  Simplified H84 on reading formula in, to give:
     %%%  H84:  dns_types__query_type__first <= to_type(element(fld_bytes(
          input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
          byte + 3]))
%%%  Simplified H85 on reading formula in, to give:
     %%%  H85:  to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [byte + 3])) <= 
          dns_types__query_type__last
%%%  Simplified H86 on reading formula in, to give:
     %%%  H86:  dns_types__query_type__valid(to_type(element(fld_bytes(
          input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
          byte + 3])))
%%%  Simplified H87 on reading formula in, to give:
     %%%  H87:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
          dns_types__query_class__first)
%%%  Simplified H88 on reading formula in, to give:
     %%%  H88:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
          dns_types__query_class__last)
%%%  Simplified H89 on reading formula in, to give:
     %%%  H89:  dns_types__query_class__first <= to_class(element(fld_bytes(
          input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
          byte + 5]))
%%%  Simplified H90 on reading formula in, to give:
     %%%  H90:  to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [byte + 5])) <= 
          dns_types__query_class__last
%%%  Simplified H91 on reading formula in, to give:
     %%%  H91:  not dns_types__query_class__valid(to_class(element(fld_bytes(
          input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
          byte + 5])))
%%%  Simplified H92 on reading formula in, to give:
     %%%  H92:  dns_types__query_class__first <= dns_types__none_class
---  Hypothesis H94 has been replaced by "true".  (It is already present, as 
          H70).
---  Hypothesis H95 has been replaced by "true".  (It is already present, as 
          H71).
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  byte + 5 <= input_bytes
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  byte >= - 1
***  Proved C1:  byte + 5 <= input_bytes
     using hypothesis H4.
>>>  Restructured hypothesis H43 into:
     >>>  H43:  input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
          byte + 1]) = 0 or rr_type__wirestringtypeindex__last <= i + 1
-S-  Applied substitution rule get_query_na_rules(1).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H22:  input_bytes >= 13
-S-  Applied substitution rule get_query_na_rules(7).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H37:  input_bytes >= - 2147483643
<S>  New H41:  byte >= - 2147483649
-S-  Applied substitution rule get_query_na_rules(8).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H38:  input_bytes <= 2147483652
<S>  New H42:  byte <= 2147483646
-S-  Applied substitution rule get_query_na_rules(9).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H58:  element(fld_bytes(input_packet), [byte + 2]) * 256 >= - 
          2147483648
<S>  New H74:  element(fld_bytes(input_packet), [byte + 4]) * 256 >= - 
          2147483648
-S-  Applied substitution rule get_query_na_rules(10).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H59:  element(fld_bytes(input_packet), [byte + 2]) * 256 <= 2147483647
<S>  New H75:  element(fld_bytes(input_packet), [byte + 4]) * 256 <= 2147483647
-S-  Applied substitution rule get_query_na_rules(12).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H24:  element(fld_bytes(input_packet), [byte]) >= 0
<S>  New H44:  true
-S-  Applied substitution rule get_query_na_rules(13).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H25:  element(fld_bytes(input_packet), [byte]) <= 255
<S>  New H45:  true
-S-  Applied substitution rule get_query_na_rules(17).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H32:  i >= - 1
<S>  New H50:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= 0
<S>  New H52:  element(fld_bytes(input_packet), [byte + 3]) >= 0
<S>  New H60:  element(fld_bytes(input_packet), [byte + 2]) >= 0
<S>  New H66:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= 0
<S>  New H68:  element(fld_bytes(input_packet), [byte + 5]) >= 0
<S>  New H76:  element(fld_bytes(input_packet), [byte + 4]) >= 0
-S-  Applied substitution rule get_query_na_rules(18).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H33:  i <= 2147483646
<S>  New H51:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S>  New H53:  element(fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S>  New H61:  element(fld_bytes(input_packet), [byte + 2]) <= 2147483647
<S>  New H67:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S>  New H69:  element(fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S>  New H77:  element(fld_bytes(input_packet), [byte + 4]) <= 2147483647
-S-  Applied substitution rule get_query_na_rules(22).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H20:  input_bytes >= 0
-S-  Applied substitution rule get_query_na_rules(23).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H21:  input_bytes <= 8192
-S-  Applied substitution rule get_query_na_rules(24).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__first by:
          - 2147483648.
<S>  New H39:  input_bytes >= - 2147483643
-S-  Applied substitution rule get_query_na_rules(25).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__last by:
          2147483647.
<S>  New H40:  input_bytes <= 2147483652
-S-  Applied substitution rule get_query_na_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H3:  byte >= 1
<S>  New H19:  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 H34:  byte >= 0
<S>  New H36:  byte + 1 <= input_bytes - 5 -> byte >= 0 and byte + 1 <= 
          dns_types__packet_bytes_range__last
<S>  New H54:  byte >= - 2
<S>  New H62:  byte >= - 1
<S>  New H70:  byte >= - 4
<S>  New H78:  byte >= - 3
-S-  Applied substitution rule get_query_na_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H29:  byte <= 8180
<S>  New H35:  byte <= 8179
<S>  New H55:  byte <= 8177
<S>  New H63:  byte <= 8178
<S>  New H71:  byte <= 8175
<S>  New H79:  byte <= 8176
<S>  New H19:  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 H36:  byte + 1 <= input_bytes - 5 -> byte >= 0 and byte <= 8179
-S-  Applied substitution rule get_query_na_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H56:  byte >= - 2147483651
<S>  New H64:  byte >= - 2147483650
<S>  New H72:  byte >= - 2147483653
<S>  New H80:  byte >= - 2147483652
-S-  Applied substitution rule get_query_na_rules(30).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H57:  byte <= 2147483644
<S>  New H65:  byte <= 2147483645
<S>  New H73:  byte <= 2147483642
<S>  New H81:  byte <= 2147483643
-S-  Applied substitution rule get_query_na_rules(33).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H19:  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-  Applied substitution rule get_query_na_rules(34).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H19:  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-  Applied substitution rule get_query_na_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H5:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H11:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H13:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H15:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H17:  fld_arcount(fld_header(input_packet)) >= 0
-S-  Applied substitution rule get_query_na_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H6:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H12:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H14:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H16:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H18:  fld_arcount(fld_header(input_packet)) <= 65535
-S-  Applied substitution rule get_query_na_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H7:  dns_types__query <= fld_opcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H8:  fld_opcode(fld_header(input_packet)) <= dns_types__status
-S-  Applied substitution rule get_query_na_rules(72).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H9:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(73).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H10:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S-  Applied substitution rule get_query_na_rules(107).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__first by:
          dns_types__in_class.
<S>  New H87:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
          dns_types__in_class)
<S>  New H89:  dns_types__in_class <= to_class(element(fld_bytes(input_packet), 
          [byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]))
<S>  New H92:  true
-S-  Applied substitution rule get_query_na_rules(108).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__last by:
          dns_types__any_class.
<S>  New H88:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
          dns_types__any_class)
<S>  New H90:  to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [byte + 5])) <= dns_types__any_class
<S>  New H93:  true
-S-  Applied substitution rule get_query_na_rules(137).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__first by:
          dns_types__a.
<S>  New H82:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= type_to_natural(dns_types__a)
<S>  New H84:  dns_types__a <= to_type(element(fld_bytes(input_packet), [byte + 
          2]) * 256 + element(fld_bytes(input_packet), [byte + 3]))
-S-  Applied substitution rule get_query_na_rules(138).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__last by:
          dns_types__unimplemented.
<S>  New H83:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
          dns_types__unimplemented)
<S>  New H85:  to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [byte + 3])) <= 
          dns_types__unimplemented
-S-  Applied substitution rule get_query_na_rules(196).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H1:  i >= 1
<S>  New H48:  i >= 0
-S-  Applied substitution rule get_query_na_rules(197).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H2:  i < 129
<S>  New H31:  i <= 129
<S>  New H43:  input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
          byte + 1]) = 0 or 128 <= i
<S>  New H49:  i <= 128
***  Proved C2:  byte >= - 1
     using hypothesis H62.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_68.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H19 on reading formula in, to give:
     %%%  H19:  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)
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H27 has been replaced by "true".  (It is already present, as 
          H25).
---  Hypothesis H28 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H30 has been replaced by "true".  (It is already present, as H1)
          .
---  Hypothesis H46 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H47 has been replaced by "true".  (It is already present, as 
          H45).
%%%  Simplified H50 on reading formula in, to give:
     %%%  H50:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H51 on reading formula in, to give:
     %%%  H51:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H53 on reading formula in, to give:
     %%%  H53:  element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  byte + 3 >= dns_types__packet_bytes_range__first
%%%  Simplified H55 on reading formula in, to give:
     %%%  H55:  byte + 3 <= dns_types__packet_bytes_range__last
%%%  Simplified H56 on reading formula in, to give:
     %%%  H56:  byte + 3 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H57 on reading formula in, to give:
     %%%  H57:  byte + 3 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H58 on reading formula in, to give:
     %%%  H58:  element(fld_bytes(input_packet), [byte + 2]) * 256 >= 
          integer__base__first
%%%  Simplified H59 on reading formula in, to give:
     %%%  H59:  element(fld_bytes(input_packet), [byte + 2]) * 256 <= 
          integer__base__last
%%%  Simplified H60 on reading formula in, to give:
     %%%  H60:  element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%%  Simplified H61 on reading formula in, to give:
     %%%  H61:  element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%%  Simplified H62 on reading formula in, to give:
     %%%  H62:  byte + 2 >= dns_types__packet_bytes_range__first
%%%  Simplified H63 on reading formula in, to give:
     %%%  H63:  byte + 2 <= dns_types__packet_bytes_range__last
%%%  Simplified H64 on reading formula in, to give:
     %%%  H64:  byte + 2 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H65 on reading formula in, to give:
     %%%  H65:  byte + 2 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H66 on reading formula in, to give:
     %%%  H66:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H67 on reading formula in, to give:
     %%%  H67:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H68 on reading formula in, to give:
     %%%  H68:  element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H69 on reading formula in, to give:
     %%%  H69:  element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  byte + 5 >= dns_types__packet_bytes_range__first
%%%  Simplified H71 on reading formula in, to give:
     %%%  H71:  byte + 5 <= dns_types__packet_bytes_range__last
%%%  Simplified H72 on reading formula in, to give:
     %%%  H72:  byte + 5 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  byte + 5 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  element(fld_bytes(input_packet), [byte + 4]) * 256 >= 
          integer__base__first
%%%  Simplified H75 on reading formula in, to give:
     %%%  H75:  element(fld_bytes(input_packet), [byte + 4]) * 256 <= 
          integer__base__last
%%%  Simplified H76 on reading formula in, to give:
     %%%  H76:  element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%%  Simplified H77 on reading formula in, to give:
     %%%  H77:  element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%%  Simplified H78 on reading formula in, to give:
     %%%  H78:  byte + 4 >= dns_types__packet_bytes_range__first
%%%  Simplified H79 on reading formula in, to give:
     %%%  H79:  byte + 4 <= dns_types__packet_bytes_range__last
%%%  Simplified H80 on reading formula in, to give:
     %%%  H80:  byte + 4 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H81 on reading formula in, to give:
     %%%  H81:  byte + 4 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H82 on reading formula in, to give:
     %%%  H82:  not (element(fld_bytes(input_packet), [byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
          dns_types__query_type__first) and element(fld_bytes(input_packet), [
          byte + 2]) * 256 + element(fld_bytes(input_packet), [byte + 3]) <= 
          type_to_natural(dns_types__query_type__last))
%%%  Simplified H83 on reading formula in, to give:
     %%%  H83:  dns_types__query_type__first <= dns_types__unimplemented
%%%  Simplified H85 on reading formula in, to give:
     %%%  H85:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
          dns_types__query_class__first)
%%%  Simplified H86 on reading formula in, to give:
     %%%  H86:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
          dns_types__query_class__last)
%%%  Simplified H87 on reading formula in, to give:
     %%%  H87:  dns_types__query_class__first <= to_class(element(fld_bytes(
          input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
          byte + 5]))
%%%  Simplified H88 on reading formula in, to give:
     %%%  H88:  to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [byte + 5])) <= 
          dns_types__query_class__last
%%%  Simplified H89 on reading formula in, to give:
     %%%  H89:  not dns_types__query_class__valid(to_class(element(fld_bytes(
          input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
          byte + 5])))
%%%  Simplified H90 on reading formula in, to give:
     %%%  H90:  dns_types__query_class__first <= dns_types__none_class
---  Hypothesis H92 has been replaced by "true".  (It is already present, as 
          H70).
---  Hypothesis H93 has been replaced by "true".  (It is already present, as 
          H71).
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  byte + 5 <= input_bytes
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  byte >= - 1
***  Proved C1:  byte + 5 <= input_bytes
     using hypothesis H4.
>>>  Restructured hypothesis H43 into:
     >>>  H43:  input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
          byte + 1]) = 0 or rr_type__wirestringtypeindex__last <= i + 1
>>>  Restructured hypothesis H82 into:
     >>>  H82:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) < type_to_natural(
          dns_types__query_type__first) or type_to_natural(
          dns_types__query_type__last) < element(fld_bytes(input_packet), [byte 
          + 2]) * 256 + element(fld_bytes(input_packet), [byte + 3])
-S-  Applied substitution rule get_query_na_rules(1).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H22:  input_bytes >= 13
-S-  Applied substitution rule get_query_na_rules(7).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H37:  input_bytes >= - 2147483643
<S>  New H41:  byte >= - 2147483649
-S-  Applied substitution rule get_query_na_rules(8).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H38:  input_bytes <= 2147483652
<S>  New H42:  byte <= 2147483646
-S-  Applied substitution rule get_query_na_rules(9).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H58:  element(fld_bytes(input_packet), [byte + 2]) * 256 >= - 
          2147483648
<S>  New H74:  element(fld_bytes(input_packet), [byte + 4]) * 256 >= - 
          2147483648
-S-  Applied substitution rule get_query_na_rules(10).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H59:  element(fld_bytes(input_packet), [byte + 2]) * 256 <= 2147483647
<S>  New H75:  element(fld_bytes(input_packet), [byte + 4]) * 256 <= 2147483647
-S-  Applied substitution rule get_query_na_rules(12).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H24:  element(fld_bytes(input_packet), [byte]) >= 0
<S>  New H44:  true
-S-  Applied substitution rule get_query_na_rules(13).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H25:  element(fld_bytes(input_packet), [byte]) <= 255
<S>  New H45:  true
-S-  Applied substitution rule get_query_na_rules(17).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H32:  i >= - 1
<S>  New H50:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= 0
<S>  New H52:  element(fld_bytes(input_packet), [byte + 3]) >= 0
<S>  New H60:  element(fld_bytes(input_packet), [byte + 2]) >= 0
<S>  New H66:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= 0
<S>  New H68:  element(fld_bytes(input_packet), [byte + 5]) >= 0
<S>  New H76:  element(fld_bytes(input_packet), [byte + 4]) >= 0
-S-  Applied substitution rule get_query_na_rules(18).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H33:  i <= 2147483646
<S>  New H51:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S>  New H53:  element(fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S>  New H61:  element(fld_bytes(input_packet), [byte + 2]) <= 2147483647
<S>  New H67:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S>  New H69:  element(fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S>  New H77:  element(fld_bytes(input_packet), [byte + 4]) <= 2147483647
-S-  Applied substitution rule get_query_na_rules(22).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H20:  input_bytes >= 0
-S-  Applied substitution rule get_query_na_rules(23).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H21:  input_bytes <= 8192
-S-  Applied substitution rule get_query_na_rules(24).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__first by:
          - 2147483648.
<S>  New H39:  input_bytes >= - 2147483643
-S-  Applied substitution rule get_query_na_rules(25).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__last by:
          2147483647.
<S>  New H40:  input_bytes <= 2147483652
-S-  Applied substitution rule get_query_na_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H3:  byte >= 1
<S>  New H19:  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 H34:  byte >= 0
<S>  New H36:  byte + 1 <= input_bytes - 5 -> byte >= 0 and byte + 1 <= 
          dns_types__packet_bytes_range__last
<S>  New H54:  byte >= - 2
<S>  New H62:  byte >= - 1
<S>  New H70:  byte >= - 4
<S>  New H78:  byte >= - 3
-S-  Applied substitution rule get_query_na_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H29:  byte <= 8180
<S>  New H35:  byte <= 8179
<S>  New H55:  byte <= 8177
<S>  New H63:  byte <= 8178
<S>  New H71:  byte <= 8175
<S>  New H79:  byte <= 8176
<S>  New H19:  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 H36:  byte + 1 <= input_bytes - 5 -> byte >= 0 and byte <= 8179
-S-  Applied substitution rule get_query_na_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H56:  byte >= - 2147483651
<S>  New H64:  byte >= - 2147483650
<S>  New H72:  byte >= - 2147483653
<S>  New H80:  byte >= - 2147483652
-S-  Applied substitution rule get_query_na_rules(30).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H57:  byte <= 2147483644
<S>  New H65:  byte <= 2147483645
<S>  New H73:  byte <= 2147483642
<S>  New H81:  byte <= 2147483643
-S-  Applied substitution rule get_query_na_rules(33).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H19:  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-  Applied substitution rule get_query_na_rules(34).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H19:  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-  Applied substitution rule get_query_na_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H5:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H11:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H13:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H15:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H17:  fld_arcount(fld_header(input_packet)) >= 0
-S-  Applied substitution rule get_query_na_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H6:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H12:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H14:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H16:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H18:  fld_arcount(fld_header(input_packet)) <= 65535
-S-  Applied substitution rule get_query_na_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H7:  dns_types__query <= fld_opcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H8:  fld_opcode(fld_header(input_packet)) <= dns_types__status
-S-  Applied substitution rule get_query_na_rules(72).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H9:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(73).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H10:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S-  Applied substitution rule get_query_na_rules(107).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__first by:
          dns_types__in_class.
<S>  New H85:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
          dns_types__in_class)
<S>  New H87:  dns_types__in_class <= to_class(element(fld_bytes(input_packet), 
          [byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]))
<S>  New H90:  true
-S-  Applied substitution rule get_query_na_rules(108).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__last by:
          dns_types__any_class.
<S>  New H86:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
          dns_types__any_class)
<S>  New H88:  to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [byte + 5])) <= dns_types__any_class
<S>  New H91:  true
-S-  Applied substitution rule get_query_na_rules(137).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__first by:
          dns_types__a.
<S>  New H82:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) < type_to_natural(dns_types__a) 
          or type_to_natural(dns_types__query_type__last) < element(fld_bytes(
          input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
          byte + 3])
<S>  New H83:  true
-S-  Applied substitution rule get_query_na_rules(138).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__last by:
          dns_types__unimplemented.
<S>  New H84:  true
<S>  New H82:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) < type_to_natural(dns_types__a) 
          or type_to_natural(dns_types__unimplemented) < element(fld_bytes(
          input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
          byte + 3])
-S-  Applied substitution rule get_query_na_rules(196).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H1:  i >= 1
<S>  New H48:  i >= 0
-S-  Applied substitution rule get_query_na_rules(197).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H2:  i < 129
<S>  New H31:  i <= 129
<S>  New H43:  input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
          byte + 1]) = 0 or 128 <= i
<S>  New H49:  i <= 128
***  Proved C2:  byte >= - 1
     using hypothesis H62.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_69.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H19 on reading formula in, to give:
     %%%  H19:  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)
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H27 has been replaced by "true".  (It is already present, as 
          H25).
---  Hypothesis H28 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H30 has been replaced by "true".  (It is already present, as H1)
          .
---  Hypothesis H46 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H47 has been replaced by "true".  (It is already present, as 
          H45).
%%%  Simplified H50 on reading formula in, to give:
     %%%  H50:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H51 on reading formula in, to give:
     %%%  H51:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H53 on reading formula in, to give:
     %%%  H53:  element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  byte + 3 >= dns_types__packet_bytes_range__first
%%%  Simplified H55 on reading formula in, to give:
     %%%  H55:  byte + 3 <= dns_types__packet_bytes_range__last
%%%  Simplified H56 on reading formula in, to give:
     %%%  H56:  byte + 3 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H57 on reading formula in, to give:
     %%%  H57:  byte + 3 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H58 on reading formula in, to give:
     %%%  H58:  element(fld_bytes(input_packet), [byte + 2]) * 256 >= 
          integer__base__first
%%%  Simplified H59 on reading formula in, to give:
     %%%  H59:  element(fld_bytes(input_packet), [byte + 2]) * 256 <= 
          integer__base__last
%%%  Simplified H60 on reading formula in, to give:
     %%%  H60:  element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%%  Simplified H61 on reading formula in, to give:
     %%%  H61:  element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%%  Simplified H62 on reading formula in, to give:
     %%%  H62:  byte + 2 >= dns_types__packet_bytes_range__first
%%%  Simplified H63 on reading formula in, to give:
     %%%  H63:  byte + 2 <= dns_types__packet_bytes_range__last
%%%  Simplified H64 on reading formula in, to give:
     %%%  H64:  byte + 2 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H65 on reading formula in, to give:
     %%%  H65:  byte + 2 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H66 on reading formula in, to give:
     %%%  H66:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H67 on reading formula in, to give:
     %%%  H67:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H68 on reading formula in, to give:
     %%%  H68:  element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H69 on reading formula in, to give:
     %%%  H69:  element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  byte + 5 >= dns_types__packet_bytes_range__first
%%%  Simplified H71 on reading formula in, to give:
     %%%  H71:  byte + 5 <= dns_types__packet_bytes_range__last
%%%  Simplified H72 on reading formula in, to give:
     %%%  H72:  byte + 5 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  byte + 5 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  element(fld_bytes(input_packet), [byte + 4]) * 256 >= 
          integer__base__first
%%%  Simplified H75 on reading formula in, to give:
     %%%  H75:  element(fld_bytes(input_packet), [byte + 4]) * 256 <= 
          integer__base__last
%%%  Simplified H76 on reading formula in, to give:
     %%%  H76:  element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%%  Simplified H77 on reading formula in, to give:
     %%%  H77:  element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%%  Simplified H78 on reading formula in, to give:
     %%%  H78:  byte + 4 >= dns_types__packet_bytes_range__first
%%%  Simplified H79 on reading formula in, to give:
     %%%  H79:  byte + 4 <= dns_types__packet_bytes_range__last
%%%  Simplified H80 on reading formula in, to give:
     %%%  H80:  byte + 4 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H81 on reading formula in, to give:
     %%%  H81:  byte + 4 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H82 on reading formula in, to give:
     %%%  H82:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
          dns_types__query_type__first)
%%%  Simplified H83 on reading formula in, to give:
     %%%  H83:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
          dns_types__query_type__last)
%%%  Simplified H84 on reading formula in, to give:
     %%%  H84:  dns_types__query_type__first <= to_type(element(fld_bytes(
          input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
          byte + 3]))
%%%  Simplified H85 on reading formula in, to give:
     %%%  H85:  to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [byte + 3])) <= 
          dns_types__query_type__last
%%%  Simplified H86 on reading formula in, to give:
     %%%  H86:  not dns_types__query_type__valid(to_type(element(fld_bytes(
          input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
          byte + 3])))
%%%  Simplified H87 on reading formula in, to give:
     %%%  H87:  dns_types__query_type__first <= dns_types__unimplemented
%%%  Simplified H89 on reading formula in, to give:
     %%%  H89:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
          dns_types__query_class__first)
%%%  Simplified H90 on reading formula in, to give:
     %%%  H90:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
          dns_types__query_class__last)
%%%  Simplified H91 on reading formula in, to give:
     %%%  H91:  dns_types__query_class__first <= to_class(element(fld_bytes(
          input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
          byte + 5]))
%%%  Simplified H92 on reading formula in, to give:
     %%%  H92:  to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [byte + 5])) <= 
          dns_types__query_class__last
%%%  Simplified H93 on reading formula in, to give:
     %%%  H93:  dns_types__query_class__valid(to_class(element(fld_bytes(
          input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
          byte + 5])))
---  Hypothesis H94 has been replaced by "true".  (It is already present, as 
          H70).
---  Hypothesis H95 has been replaced by "true".  (It is already present, as 
          H71).
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  byte + 5 <= input_bytes
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  byte >= - 1
***  Proved C1:  byte + 5 <= input_bytes
     using hypothesis H4.
>>>  Restructured hypothesis H43 into:
     >>>  H43:  input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
          byte + 1]) = 0 or rr_type__wirestringtypeindex__last <= i + 1
-S-  Applied substitution rule get_query_na_rules(1).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H22:  input_bytes >= 13
-S-  Applied substitution rule get_query_na_rules(7).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H37:  input_bytes >= - 2147483643
<S>  New H41:  byte >= - 2147483649
-S-  Applied substitution rule get_query_na_rules(8).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H38:  input_bytes <= 2147483652
<S>  New H42:  byte <= 2147483646
-S-  Applied substitution rule get_query_na_rules(9).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H58:  element(fld_bytes(input_packet), [byte + 2]) * 256 >= - 
          2147483648
<S>  New H74:  element(fld_bytes(input_packet), [byte + 4]) * 256 >= - 
          2147483648
-S-  Applied substitution rule get_query_na_rules(10).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H59:  element(fld_bytes(input_packet), [byte + 2]) * 256 <= 2147483647
<S>  New H75:  element(fld_bytes(input_packet), [byte + 4]) * 256 <= 2147483647
-S-  Applied substitution rule get_query_na_rules(12).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H24:  element(fld_bytes(input_packet), [byte]) >= 0
<S>  New H44:  true
-S-  Applied substitution rule get_query_na_rules(13).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H25:  element(fld_bytes(input_packet), [byte]) <= 255
<S>  New H45:  true
-S-  Applied substitution rule get_query_na_rules(17).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H32:  i >= - 1
<S>  New H50:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= 0
<S>  New H52:  element(fld_bytes(input_packet), [byte + 3]) >= 0
<S>  New H60:  element(fld_bytes(input_packet), [byte + 2]) >= 0
<S>  New H66:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= 0
<S>  New H68:  element(fld_bytes(input_packet), [byte + 5]) >= 0
<S>  New H76:  element(fld_bytes(input_packet), [byte + 4]) >= 0
-S-  Applied substitution rule get_query_na_rules(18).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H33:  i <= 2147483646
<S>  New H51:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S>  New H53:  element(fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S>  New H61:  element(fld_bytes(input_packet), [byte + 2]) <= 2147483647
<S>  New H67:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S>  New H69:  element(fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S>  New H77:  element(fld_bytes(input_packet), [byte + 4]) <= 2147483647
-S-  Applied substitution rule get_query_na_rules(22).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H20:  input_bytes >= 0
-S-  Applied substitution rule get_query_na_rules(23).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H21:  input_bytes <= 8192
-S-  Applied substitution rule get_query_na_rules(24).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__first by:
          - 2147483648.
<S>  New H39:  input_bytes >= - 2147483643
-S-  Applied substitution rule get_query_na_rules(25).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__last by:
          2147483647.
<S>  New H40:  input_bytes <= 2147483652
-S-  Applied substitution rule get_query_na_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H3:  byte >= 1
<S>  New H19:  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 H34:  byte >= 0
<S>  New H36:  byte + 1 <= input_bytes - 5 -> byte >= 0 and byte + 1 <= 
          dns_types__packet_bytes_range__last
<S>  New H54:  byte >= - 2
<S>  New H62:  byte >= - 1
<S>  New H70:  byte >= - 4
<S>  New H78:  byte >= - 3
-S-  Applied substitution rule get_query_na_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H29:  byte <= 8180
<S>  New H35:  byte <= 8179
<S>  New H55:  byte <= 8177
<S>  New H63:  byte <= 8178
<S>  New H71:  byte <= 8175
<S>  New H79:  byte <= 8176
<S>  New H19:  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 H36:  byte + 1 <= input_bytes - 5 -> byte >= 0 and byte <= 8179
-S-  Applied substitution rule get_query_na_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H56:  byte >= - 2147483651
<S>  New H64:  byte >= - 2147483650
<S>  New H72:  byte >= - 2147483653
<S>  New H80:  byte >= - 2147483652
-S-  Applied substitution rule get_query_na_rules(30).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H57:  byte <= 2147483644
<S>  New H65:  byte <= 2147483645
<S>  New H73:  byte <= 2147483642
<S>  New H81:  byte <= 2147483643
-S-  Applied substitution rule get_query_na_rules(33).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H19:  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-  Applied substitution rule get_query_na_rules(34).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H19:  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-  Applied substitution rule get_query_na_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H5:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H11:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H13:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H15:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H17:  fld_arcount(fld_header(input_packet)) >= 0
-S-  Applied substitution rule get_query_na_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H6:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H12:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H14:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H16:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H18:  fld_arcount(fld_header(input_packet)) <= 65535
-S-  Applied substitution rule get_query_na_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H7:  dns_types__query <= fld_opcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H8:  fld_opcode(fld_header(input_packet)) <= dns_types__status
-S-  Applied substitution rule get_query_na_rules(72).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H9:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(73).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H10:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S-  Applied substitution rule get_query_na_rules(107).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__first by:
          dns_types__in_class.
<S>  New H89:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
          dns_types__in_class)
<S>  New H91:  dns_types__in_class <= to_class(element(fld_bytes(input_packet), 
          [byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]))
-S-  Applied substitution rule get_query_na_rules(108).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__last by:
          dns_types__any_class.
<S>  New H90:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
          dns_types__any_class)
<S>  New H92:  to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [byte + 5])) <= dns_types__any_class
-S-  Applied substitution rule get_query_na_rules(137).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__first by:
          dns_types__a.
<S>  New H82:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= type_to_natural(dns_types__a)
<S>  New H84:  dns_types__a <= to_type(element(fld_bytes(input_packet), [byte + 
          2]) * 256 + element(fld_bytes(input_packet), [byte + 3]))
<S>  New H87:  true
-S-  Applied substitution rule get_query_na_rules(138).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__last by:
          dns_types__unimplemented.
<S>  New H83:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
          dns_types__unimplemented)
<S>  New H85:  to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [byte + 3])) <= 
          dns_types__unimplemented
<S>  New H88:  true
-S-  Applied substitution rule get_query_na_rules(196).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H1:  i >= 1
<S>  New H48:  i >= 0
-S-  Applied substitution rule get_query_na_rules(197).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H2:  i < 129
<S>  New H31:  i <= 129
<S>  New H43:  input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
          byte + 1]) = 0 or 128 <= i
<S>  New H49:  i <= 128
***  Proved C2:  byte >= - 1
     using hypothesis H62.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_70.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H19 on reading formula in, to give:
     %%%  H19:  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)
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H27 has been replaced by "true".  (It is already present, as 
          H25).
---  Hypothesis H28 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H30 has been replaced by "true".  (It is already present, as H1)
          .
---  Hypothesis H46 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H47 has been replaced by "true".  (It is already present, as 
          H45).
%%%  Simplified H50 on reading formula in, to give:
     %%%  H50:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H51 on reading formula in, to give:
     %%%  H51:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H53 on reading formula in, to give:
     %%%  H53:  element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  byte + 3 >= dns_types__packet_bytes_range__first
%%%  Simplified H55 on reading formula in, to give:
     %%%  H55:  byte + 3 <= dns_types__packet_bytes_range__last
%%%  Simplified H56 on reading formula in, to give:
     %%%  H56:  byte + 3 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H57 on reading formula in, to give:
     %%%  H57:  byte + 3 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H58 on reading formula in, to give:
     %%%  H58:  element(fld_bytes(input_packet), [byte + 2]) * 256 >= 
          integer__base__first
%%%  Simplified H59 on reading formula in, to give:
     %%%  H59:  element(fld_bytes(input_packet), [byte + 2]) * 256 <= 
          integer__base__last
%%%  Simplified H60 on reading formula in, to give:
     %%%  H60:  element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%%  Simplified H61 on reading formula in, to give:
     %%%  H61:  element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%%  Simplified H62 on reading formula in, to give:
     %%%  H62:  byte + 2 >= dns_types__packet_bytes_range__first
%%%  Simplified H63 on reading formula in, to give:
     %%%  H63:  byte + 2 <= dns_types__packet_bytes_range__last
%%%  Simplified H64 on reading formula in, to give:
     %%%  H64:  byte + 2 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H65 on reading formula in, to give:
     %%%  H65:  byte + 2 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H66 on reading formula in, to give:
     %%%  H66:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H67 on reading formula in, to give:
     %%%  H67:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H68 on reading formula in, to give:
     %%%  H68:  element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H69 on reading formula in, to give:
     %%%  H69:  element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  byte + 5 >= dns_types__packet_bytes_range__first
%%%  Simplified H71 on reading formula in, to give:
     %%%  H71:  byte + 5 <= dns_types__packet_bytes_range__last
%%%  Simplified H72 on reading formula in, to give:
     %%%  H72:  byte + 5 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  byte + 5 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  element(fld_bytes(input_packet), [byte + 4]) * 256 >= 
          integer__base__first
%%%  Simplified H75 on reading formula in, to give:
     %%%  H75:  element(fld_bytes(input_packet), [byte + 4]) * 256 <= 
          integer__base__last
%%%  Simplified H76 on reading formula in, to give:
     %%%  H76:  element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%%  Simplified H77 on reading formula in, to give:
     %%%  H77:  element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%%  Simplified H78 on reading formula in, to give:
     %%%  H78:  byte + 4 >= dns_types__packet_bytes_range__first
%%%  Simplified H79 on reading formula in, to give:
     %%%  H79:  byte + 4 <= dns_types__packet_bytes_range__last
%%%  Simplified H80 on reading formula in, to give:
     %%%  H80:  byte + 4 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H81 on reading formula in, to give:
     %%%  H81:  byte + 4 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H82 on reading formula in, to give:
     %%%  H82:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
          dns_types__query_type__first)
%%%  Simplified H83 on reading formula in, to give:
     %%%  H83:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
          dns_types__query_type__last)
%%%  Simplified H84 on reading formula in, to give:
     %%%  H84:  dns_types__query_type__first <= to_type(element(fld_bytes(
          input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
          byte + 3]))
%%%  Simplified H85 on reading formula in, to give:
     %%%  H85:  to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [byte + 3])) <= 
          dns_types__query_type__last
%%%  Simplified H86 on reading formula in, to give:
     %%%  H86:  dns_types__query_type__valid(to_type(element(fld_bytes(
          input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
          byte + 3])))
%%%  Simplified H87 on reading formula in, to give:
     %%%  H87:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
          dns_types__query_class__first)
%%%  Simplified H88 on reading formula in, to give:
     %%%  H88:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
          dns_types__query_class__last)
%%%  Simplified H89 on reading formula in, to give:
     %%%  H89:  dns_types__query_class__first <= to_class(element(fld_bytes(
          input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
          byte + 5]))
%%%  Simplified H90 on reading formula in, to give:
     %%%  H90:  to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [byte + 5])) <= 
          dns_types__query_class__last
%%%  Simplified H91 on reading formula in, to give:
     %%%  H91:  dns_types__query_class__valid(to_class(element(fld_bytes(
          input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
          byte + 5])))
---  Hypothesis H92 has been replaced by "true".  (It is already present, as 
          H70).
---  Hypothesis H93 has been replaced by "true".  (It is already present, as 
          H71).
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  byte + 5 <= input_bytes
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  byte >= - 1
***  Proved C1:  byte + 5 <= input_bytes
     using hypothesis H4.
>>>  Restructured hypothesis H43 into:
     >>>  H43:  input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
          byte + 1]) = 0 or rr_type__wirestringtypeindex__last <= i + 1
-S-  Applied substitution rule get_query_na_rules(1).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H22:  input_bytes >= 13
-S-  Applied substitution rule get_query_na_rules(7).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H37:  input_bytes >= - 2147483643
<S>  New H41:  byte >= - 2147483649
-S-  Applied substitution rule get_query_na_rules(8).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H38:  input_bytes <= 2147483652
<S>  New H42:  byte <= 2147483646
-S-  Applied substitution rule get_query_na_rules(9).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H58:  element(fld_bytes(input_packet), [byte + 2]) * 256 >= - 
          2147483648
<S>  New H74:  element(fld_bytes(input_packet), [byte + 4]) * 256 >= - 
          2147483648
-S-  Applied substitution rule get_query_na_rules(10).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H59:  element(fld_bytes(input_packet), [byte + 2]) * 256 <= 2147483647
<S>  New H75:  element(fld_bytes(input_packet), [byte + 4]) * 256 <= 2147483647
-S-  Applied substitution rule get_query_na_rules(12).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H24:  element(fld_bytes(input_packet), [byte]) >= 0
<S>  New H44:  true
-S-  Applied substitution rule get_query_na_rules(13).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H25:  element(fld_bytes(input_packet), [byte]) <= 255
<S>  New H45:  true
-S-  Applied substitution rule get_query_na_rules(17).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H32:  i >= - 1
<S>  New H50:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= 0
<S>  New H52:  element(fld_bytes(input_packet), [byte + 3]) >= 0
<S>  New H60:  element(fld_bytes(input_packet), [byte + 2]) >= 0
<S>  New H66:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= 0
<S>  New H68:  element(fld_bytes(input_packet), [byte + 5]) >= 0
<S>  New H76:  element(fld_bytes(input_packet), [byte + 4]) >= 0
-S-  Applied substitution rule get_query_na_rules(18).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H33:  i <= 2147483646
<S>  New H51:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S>  New H53:  element(fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S>  New H61:  element(fld_bytes(input_packet), [byte + 2]) <= 2147483647
<S>  New H67:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S>  New H69:  element(fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S>  New H77:  element(fld_bytes(input_packet), [byte + 4]) <= 2147483647
-S-  Applied substitution rule get_query_na_rules(22).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H20:  input_bytes >= 0
-S-  Applied substitution rule get_query_na_rules(23).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H21:  input_bytes <= 8192
-S-  Applied substitution rule get_query_na_rules(24).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__first by:
          - 2147483648.
<S>  New H39:  input_bytes >= - 2147483643
-S-  Applied substitution rule get_query_na_rules(25).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__last by:
          2147483647.
<S>  New H40:  input_bytes <= 2147483652
-S-  Applied substitution rule get_query_na_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H3:  byte >= 1
<S>  New H19:  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 H34:  byte >= 0
<S>  New H36:  byte + 1 <= input_bytes - 5 -> byte >= 0 and byte + 1 <= 
          dns_types__packet_bytes_range__last
<S>  New H54:  byte >= - 2
<S>  New H62:  byte >= - 1
<S>  New H70:  byte >= - 4
<S>  New H78:  byte >= - 3
-S-  Applied substitution rule get_query_na_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H29:  byte <= 8180
<S>  New H35:  byte <= 8179
<S>  New H55:  byte <= 8177
<S>  New H63:  byte <= 8178
<S>  New H71:  byte <= 8175
<S>  New H79:  byte <= 8176
<S>  New H19:  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 H36:  byte + 1 <= input_bytes - 5 -> byte >= 0 and byte <= 8179
-S-  Applied substitution rule get_query_na_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H56:  byte >= - 2147483651
<S>  New H64:  byte >= - 2147483650
<S>  New H72:  byte >= - 2147483653
<S>  New H80:  byte >= - 2147483652
-S-  Applied substitution rule get_query_na_rules(30).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H57:  byte <= 2147483644
<S>  New H65:  byte <= 2147483645
<S>  New H73:  byte <= 2147483642
<S>  New H81:  byte <= 2147483643
-S-  Applied substitution rule get_query_na_rules(33).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H19:  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-  Applied substitution rule get_query_na_rules(34).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H19:  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-  Applied substitution rule get_query_na_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H5:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H11:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H13:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H15:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H17:  fld_arcount(fld_header(input_packet)) >= 0
-S-  Applied substitution rule get_query_na_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H6:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H12:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H14:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H16:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H18:  fld_arcount(fld_header(input_packet)) <= 65535
-S-  Applied substitution rule get_query_na_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H7:  dns_types__query <= fld_opcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H8:  fld_opcode(fld_header(input_packet)) <= dns_types__status
-S-  Applied substitution rule get_query_na_rules(72).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H9:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(73).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H10:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S-  Applied substitution rule get_query_na_rules(107).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__first by:
          dns_types__in_class.
<S>  New H87:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
          dns_types__in_class)
<S>  New H89:  dns_types__in_class <= to_class(element(fld_bytes(input_packet), 
          [byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]))
-S-  Applied substitution rule get_query_na_rules(108).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__last by:
          dns_types__any_class.
<S>  New H88:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
          dns_types__any_class)
<S>  New H90:  to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [byte + 5])) <= dns_types__any_class
-S-  Applied substitution rule get_query_na_rules(137).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__first by:
          dns_types__a.
<S>  New H82:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= type_to_natural(dns_types__a)
<S>  New H84:  dns_types__a <= to_type(element(fld_bytes(input_packet), [byte + 
          2]) * 256 + element(fld_bytes(input_packet), [byte + 3]))
-S-  Applied substitution rule get_query_na_rules(138).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__last by:
          dns_types__unimplemented.
<S>  New H83:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
          dns_types__unimplemented)
<S>  New H85:  to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [byte + 3])) <= 
          dns_types__unimplemented
-S-  Applied substitution rule get_query_na_rules(196).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H1:  i >= 1
<S>  New H48:  i >= 0
-S-  Applied substitution rule get_query_na_rules(197).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H2:  i < 129
<S>  New H31:  i <= 129
<S>  New H43:  input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
          byte + 1]) = 0 or 128 <= i
<S>  New H49:  i <= 128
***  Proved C2:  byte >= - 1
     using hypothesis H62.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_71.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H19 on reading formula in, to give:
     %%%  H19:  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)
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H27 has been replaced by "true".  (It is already present, as 
          H25).
---  Hypothesis H28 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H30 has been replaced by "true".  (It is already present, as H1)
          .
---  Hypothesis H46 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H47 has been replaced by "true".  (It is already present, as 
          H45).
%%%  Simplified H50 on reading formula in, to give:
     %%%  H50:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H51 on reading formula in, to give:
     %%%  H51:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H53 on reading formula in, to give:
     %%%  H53:  element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  byte + 3 >= dns_types__packet_bytes_range__first
%%%  Simplified H55 on reading formula in, to give:
     %%%  H55:  byte + 3 <= dns_types__packet_bytes_range__last
%%%  Simplified H56 on reading formula in, to give:
     %%%  H56:  byte + 3 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H57 on reading formula in, to give:
     %%%  H57:  byte + 3 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H58 on reading formula in, to give:
     %%%  H58:  element(fld_bytes(input_packet), [byte + 2]) * 256 >= 
          integer__base__first
%%%  Simplified H59 on reading formula in, to give:
     %%%  H59:  element(fld_bytes(input_packet), [byte + 2]) * 256 <= 
          integer__base__last
%%%  Simplified H60 on reading formula in, to give:
     %%%  H60:  element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%%  Simplified H61 on reading formula in, to give:
     %%%  H61:  element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%%  Simplified H62 on reading formula in, to give:
     %%%  H62:  byte + 2 >= dns_types__packet_bytes_range__first
%%%  Simplified H63 on reading formula in, to give:
     %%%  H63:  byte + 2 <= dns_types__packet_bytes_range__last
%%%  Simplified H64 on reading formula in, to give:
     %%%  H64:  byte + 2 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H65 on reading formula in, to give:
     %%%  H65:  byte + 2 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H66 on reading formula in, to give:
     %%%  H66:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H67 on reading formula in, to give:
     %%%  H67:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H68 on reading formula in, to give:
     %%%  H68:  element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H69 on reading formula in, to give:
     %%%  H69:  element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  byte + 5 >= dns_types__packet_bytes_range__first
%%%  Simplified H71 on reading formula in, to give:
     %%%  H71:  byte + 5 <= dns_types__packet_bytes_range__last
%%%  Simplified H72 on reading formula in, to give:
     %%%  H72:  byte + 5 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  byte + 5 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  element(fld_bytes(input_packet), [byte + 4]) * 256 >= 
          integer__base__first
%%%  Simplified H75 on reading formula in, to give:
     %%%  H75:  element(fld_bytes(input_packet), [byte + 4]) * 256 <= 
          integer__base__last
%%%  Simplified H76 on reading formula in, to give:
     %%%  H76:  element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%%  Simplified H77 on reading formula in, to give:
     %%%  H77:  element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%%  Simplified H78 on reading formula in, to give:
     %%%  H78:  byte + 4 >= dns_types__packet_bytes_range__first
%%%  Simplified H79 on reading formula in, to give:
     %%%  H79:  byte + 4 <= dns_types__packet_bytes_range__last
%%%  Simplified H80 on reading formula in, to give:
     %%%  H80:  byte + 4 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H81 on reading formula in, to give:
     %%%  H81:  byte + 4 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H82 on reading formula in, to give:
     %%%  H82:  not (element(fld_bytes(input_packet), [byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
          dns_types__query_type__first) and element(fld_bytes(input_packet), [
          byte + 2]) * 256 + element(fld_bytes(input_packet), [byte + 3]) <= 
          type_to_natural(dns_types__query_type__last))
%%%  Simplified H83 on reading formula in, to give:
     %%%  H83:  dns_types__query_type__first <= dns_types__unimplemented
%%%  Simplified H85 on reading formula in, to give:
     %%%  H85:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
          dns_types__query_class__first)
%%%  Simplified H86 on reading formula in, to give:
     %%%  H86:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
          dns_types__query_class__last)
%%%  Simplified H87 on reading formula in, to give:
     %%%  H87:  dns_types__query_class__first <= to_class(element(fld_bytes(
          input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
          byte + 5]))
%%%  Simplified H88 on reading formula in, to give:
     %%%  H88:  to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [byte + 5])) <= 
          dns_types__query_class__last
%%%  Simplified H89 on reading formula in, to give:
     %%%  H89:  dns_types__query_class__valid(to_class(element(fld_bytes(
          input_packet), [byte + 4]) * 256 + element(fld_bytes(input_packet), [
          byte + 5])))
---  Hypothesis H90 has been replaced by "true".  (It is already present, as 
          H70).
---  Hypothesis H91 has been replaced by "true".  (It is already present, as 
          H71).
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  byte + 5 <= input_bytes
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  byte >= - 1
***  Proved C1:  byte + 5 <= input_bytes
     using hypothesis H4.
>>>  Restructured hypothesis H43 into:
     >>>  H43:  input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
          byte + 1]) = 0 or rr_type__wirestringtypeindex__last <= i + 1
>>>  Restructured hypothesis H82 into:
     >>>  H82:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) < type_to_natural(
          dns_types__query_type__first) or type_to_natural(
          dns_types__query_type__last) < element(fld_bytes(input_packet), [byte 
          + 2]) * 256 + element(fld_bytes(input_packet), [byte + 3])
-S-  Applied substitution rule get_query_na_rules(1).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H22:  input_bytes >= 13
-S-  Applied substitution rule get_query_na_rules(7).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H37:  input_bytes >= - 2147483643
<S>  New H41:  byte >= - 2147483649
-S-  Applied substitution rule get_query_na_rules(8).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H38:  input_bytes <= 2147483652
<S>  New H42:  byte <= 2147483646
-S-  Applied substitution rule get_query_na_rules(9).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H58:  element(fld_bytes(input_packet), [byte + 2]) * 256 >= - 
          2147483648
<S>  New H74:  element(fld_bytes(input_packet), [byte + 4]) * 256 >= - 
          2147483648
-S-  Applied substitution rule get_query_na_rules(10).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H59:  element(fld_bytes(input_packet), [byte + 2]) * 256 <= 2147483647
<S>  New H75:  element(fld_bytes(input_packet), [byte + 4]) * 256 <= 2147483647
-S-  Applied substitution rule get_query_na_rules(12).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H24:  element(fld_bytes(input_packet), [byte]) >= 0
<S>  New H44:  true
-S-  Applied substitution rule get_query_na_rules(13).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H25:  element(fld_bytes(input_packet), [byte]) <= 255
<S>  New H45:  true
-S-  Applied substitution rule get_query_na_rules(17).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H32:  i >= - 1
<S>  New H50:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= 0
<S>  New H52:  element(fld_bytes(input_packet), [byte + 3]) >= 0
<S>  New H60:  element(fld_bytes(input_packet), [byte + 2]) >= 0
<S>  New H66:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= 0
<S>  New H68:  element(fld_bytes(input_packet), [byte + 5]) >= 0
<S>  New H76:  element(fld_bytes(input_packet), [byte + 4]) >= 0
-S-  Applied substitution rule get_query_na_rules(18).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H33:  i <= 2147483646
<S>  New H51:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S>  New H53:  element(fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S>  New H61:  element(fld_bytes(input_packet), [byte + 2]) <= 2147483647
<S>  New H67:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S>  New H69:  element(fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S>  New H77:  element(fld_bytes(input_packet), [byte + 4]) <= 2147483647
-S-  Applied substitution rule get_query_na_rules(22).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H20:  input_bytes >= 0
-S-  Applied substitution rule get_query_na_rules(23).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H21:  input_bytes <= 8192
-S-  Applied substitution rule get_query_na_rules(24).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__first by:
          - 2147483648.
<S>  New H39:  input_bytes >= - 2147483643
-S-  Applied substitution rule get_query_na_rules(25).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__last by:
          2147483647.
<S>  New H40:  input_bytes <= 2147483652
-S-  Applied substitution rule get_query_na_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H3:  byte >= 1
<S>  New H19:  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 H34:  byte >= 0
<S>  New H36:  byte + 1 <= input_bytes - 5 -> byte >= 0 and byte + 1 <= 
          dns_types__packet_bytes_range__last
<S>  New H54:  byte >= - 2
<S>  New H62:  byte >= - 1
<S>  New H70:  byte >= - 4
<S>  New H78:  byte >= - 3
-S-  Applied substitution rule get_query_na_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H29:  byte <= 8180
<S>  New H35:  byte <= 8179
<S>  New H55:  byte <= 8177
<S>  New H63:  byte <= 8178
<S>  New H71:  byte <= 8175
<S>  New H79:  byte <= 8176
<S>  New H19:  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 H36:  byte + 1 <= input_bytes - 5 -> byte >= 0 and byte <= 8179
-S-  Applied substitution rule get_query_na_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H56:  byte >= - 2147483651
<S>  New H64:  byte >= - 2147483650
<S>  New H72:  byte >= - 2147483653
<S>  New H80:  byte >= - 2147483652
-S-  Applied substitution rule get_query_na_rules(30).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H57:  byte <= 2147483644
<S>  New H65:  byte <= 2147483645
<S>  New H73:  byte <= 2147483642
<S>  New H81:  byte <= 2147483643
-S-  Applied substitution rule get_query_na_rules(33).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H19:  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-  Applied substitution rule get_query_na_rules(34).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H19:  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-  Applied substitution rule get_query_na_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H5:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H11:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H13:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H15:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H17:  fld_arcount(fld_header(input_packet)) >= 0
-S-  Applied substitution rule get_query_na_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H6:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H12:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H14:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H16:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H18:  fld_arcount(fld_header(input_packet)) <= 65535
-S-  Applied substitution rule get_query_na_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H7:  dns_types__query <= fld_opcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H8:  fld_opcode(fld_header(input_packet)) <= dns_types__status
-S-  Applied substitution rule get_query_na_rules(72).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H9:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(73).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H10:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S-  Applied substitution rule get_query_na_rules(107).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__first by:
          dns_types__in_class.
<S>  New H85:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
          dns_types__in_class)
<S>  New H87:  dns_types__in_class <= to_class(element(fld_bytes(input_packet), 
          [byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]))
-S-  Applied substitution rule get_query_na_rules(108).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__last by:
          dns_types__any_class.
<S>  New H86:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= class_to_natural(
          dns_types__any_class)
<S>  New H88:  to_class(element(fld_bytes(input_packet), [byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [byte + 5])) <= dns_types__any_class
-S-  Applied substitution rule get_query_na_rules(137).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__first by:
          dns_types__a.
<S>  New H82:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) < type_to_natural(dns_types__a) 
          or type_to_natural(dns_types__query_type__last) < element(fld_bytes(
          input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
          byte + 3])
<S>  New H83:  true
-S-  Applied substitution rule get_query_na_rules(138).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__last by:
          dns_types__unimplemented.
<S>  New H84:  true
<S>  New H82:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) < type_to_natural(dns_types__a) 
          or type_to_natural(dns_types__unimplemented) < element(fld_bytes(
          input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
          byte + 3])
-S-  Applied substitution rule get_query_na_rules(196).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H1:  i >= 1
<S>  New H48:  i >= 0
-S-  Applied substitution rule get_query_na_rules(197).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H2:  i < 129
<S>  New H31:  i <= 129
<S>  New H43:  input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
          byte + 1]) = 0 or 128 <= i
<S>  New H49:  i <= 128
***  Proved C2:  byte >= - 1
     using hypothesis H62.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_72.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H19 on reading formula in, to give:
     %%%  H19:  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)
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H27 has been replaced by "true".  (It is already present, as 
          H25).
---  Hypothesis H28 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H30 has been replaced by "true".  (It is already present, as H1)
          .
---  Hypothesis H46 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H47 has been replaced by "true".  (It is already present, as 
          H45).
%%%  Simplified H50 on reading formula in, to give:
     %%%  H50:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H51 on reading formula in, to give:
     %%%  H51:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H53 on reading formula in, to give:
     %%%  H53:  element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  byte + 3 >= dns_types__packet_bytes_range__first
%%%  Simplified H55 on reading formula in, to give:
     %%%  H55:  byte + 3 <= dns_types__packet_bytes_range__last
%%%  Simplified H56 on reading formula in, to give:
     %%%  H56:  byte + 3 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H57 on reading formula in, to give:
     %%%  H57:  byte + 3 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H58 on reading formula in, to give:
     %%%  H58:  element(fld_bytes(input_packet), [byte + 2]) * 256 >= 
          integer__base__first
%%%  Simplified H59 on reading formula in, to give:
     %%%  H59:  element(fld_bytes(input_packet), [byte + 2]) * 256 <= 
          integer__base__last
%%%  Simplified H60 on reading formula in, to give:
     %%%  H60:  element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%%  Simplified H61 on reading formula in, to give:
     %%%  H61:  element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%%  Simplified H62 on reading formula in, to give:
     %%%  H62:  byte + 2 >= dns_types__packet_bytes_range__first
%%%  Simplified H63 on reading formula in, to give:
     %%%  H63:  byte + 2 <= dns_types__packet_bytes_range__last
%%%  Simplified H64 on reading formula in, to give:
     %%%  H64:  byte + 2 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H65 on reading formula in, to give:
     %%%  H65:  byte + 2 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H66 on reading formula in, to give:
     %%%  H66:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H67 on reading formula in, to give:
     %%%  H67:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H68 on reading formula in, to give:
     %%%  H68:  element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H69 on reading formula in, to give:
     %%%  H69:  element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  byte + 5 >= dns_types__packet_bytes_range__first
%%%  Simplified H71 on reading formula in, to give:
     %%%  H71:  byte + 5 <= dns_types__packet_bytes_range__last
%%%  Simplified H72 on reading formula in, to give:
     %%%  H72:  byte + 5 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  byte + 5 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  element(fld_bytes(input_packet), [byte + 4]) * 256 >= 
          integer__base__first
%%%  Simplified H75 on reading formula in, to give:
     %%%  H75:  element(fld_bytes(input_packet), [byte + 4]) * 256 <= 
          integer__base__last
%%%  Simplified H76 on reading formula in, to give:
     %%%  H76:  element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%%  Simplified H77 on reading formula in, to give:
     %%%  H77:  element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%%  Simplified H78 on reading formula in, to give:
     %%%  H78:  byte + 4 >= dns_types__packet_bytes_range__first
%%%  Simplified H79 on reading formula in, to give:
     %%%  H79:  byte + 4 <= dns_types__packet_bytes_range__last
%%%  Simplified H80 on reading formula in, to give:
     %%%  H80:  byte + 4 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H81 on reading formula in, to give:
     %%%  H81:  byte + 4 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H82 on reading formula in, to give:
     %%%  H82:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
          dns_types__query_type__first)
%%%  Simplified H83 on reading formula in, to give:
     %%%  H83:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
          dns_types__query_type__last)
%%%  Simplified H84 on reading formula in, to give:
     %%%  H84:  dns_types__query_type__first <= to_type(element(fld_bytes(
          input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
          byte + 3]))
%%%  Simplified H85 on reading formula in, to give:
     %%%  H85:  to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [byte + 3])) <= 
          dns_types__query_type__last
%%%  Simplified H86 on reading formula in, to give:
     %%%  H86:  not dns_types__query_type__valid(to_type(element(fld_bytes(
          input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
          byte + 3])))
%%%  Simplified H87 on reading formula in, to give:
     %%%  H87:  dns_types__query_type__first <= dns_types__unimplemented
%%%  Simplified H89 on reading formula in, to give:
     %%%  H89:  not (element(fld_bytes(input_packet), [byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
          dns_types__query_class__first) and element(fld_bytes(input_packet), [
          byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]) <= 
          class_to_natural(dns_types__query_class__last))
%%%  Simplified H90 on reading formula in, to give:
     %%%  H90:  dns_types__query_class__first <= dns_types__none_class
---  Hypothesis H92 has been replaced by "true".  (It is already present, as 
          H70).
---  Hypothesis H93 has been replaced by "true".  (It is already present, as 
          H71).
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  byte + 5 <= input_bytes
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  byte >= - 1
***  Proved C1:  byte + 5 <= input_bytes
     using hypothesis H4.
>>>  Restructured hypothesis H43 into:
     >>>  H43:  input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
          byte + 1]) = 0 or rr_type__wirestringtypeindex__last <= i + 1
>>>  Restructured hypothesis H89 into:
     >>>  H89:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) < class_to_natural(
          dns_types__query_class__first) or class_to_natural(
          dns_types__query_class__last) < element(fld_bytes(input_packet), [
          byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5])
-S-  Applied substitution rule get_query_na_rules(1).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H22:  input_bytes >= 13
-S-  Applied substitution rule get_query_na_rules(7).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H37:  input_bytes >= - 2147483643
<S>  New H41:  byte >= - 2147483649
-S-  Applied substitution rule get_query_na_rules(8).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H38:  input_bytes <= 2147483652
<S>  New H42:  byte <= 2147483646
-S-  Applied substitution rule get_query_na_rules(9).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H58:  element(fld_bytes(input_packet), [byte + 2]) * 256 >= - 
          2147483648
<S>  New H74:  element(fld_bytes(input_packet), [byte + 4]) * 256 >= - 
          2147483648
-S-  Applied substitution rule get_query_na_rules(10).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H59:  element(fld_bytes(input_packet), [byte + 2]) * 256 <= 2147483647
<S>  New H75:  element(fld_bytes(input_packet), [byte + 4]) * 256 <= 2147483647
-S-  Applied substitution rule get_query_na_rules(12).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H24:  element(fld_bytes(input_packet), [byte]) >= 0
<S>  New H44:  true
-S-  Applied substitution rule get_query_na_rules(13).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H25:  element(fld_bytes(input_packet), [byte]) <= 255
<S>  New H45:  true
-S-  Applied substitution rule get_query_na_rules(17).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H32:  i >= - 1
<S>  New H50:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= 0
<S>  New H52:  element(fld_bytes(input_packet), [byte + 3]) >= 0
<S>  New H60:  element(fld_bytes(input_packet), [byte + 2]) >= 0
<S>  New H66:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= 0
<S>  New H68:  element(fld_bytes(input_packet), [byte + 5]) >= 0
<S>  New H76:  element(fld_bytes(input_packet), [byte + 4]) >= 0
-S-  Applied substitution rule get_query_na_rules(18).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H33:  i <= 2147483646
<S>  New H51:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S>  New H53:  element(fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S>  New H61:  element(fld_bytes(input_packet), [byte + 2]) <= 2147483647
<S>  New H67:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S>  New H69:  element(fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S>  New H77:  element(fld_bytes(input_packet), [byte + 4]) <= 2147483647
-S-  Applied substitution rule get_query_na_rules(22).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H20:  input_bytes >= 0
-S-  Applied substitution rule get_query_na_rules(23).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H21:  input_bytes <= 8192
-S-  Applied substitution rule get_query_na_rules(24).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__first by:
          - 2147483648.
<S>  New H39:  input_bytes >= - 2147483643
-S-  Applied substitution rule get_query_na_rules(25).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__last by:
          2147483647.
<S>  New H40:  input_bytes <= 2147483652
-S-  Applied substitution rule get_query_na_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H3:  byte >= 1
<S>  New H19:  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 H34:  byte >= 0
<S>  New H36:  byte + 1 <= input_bytes - 5 -> byte >= 0 and byte + 1 <= 
          dns_types__packet_bytes_range__last
<S>  New H54:  byte >= - 2
<S>  New H62:  byte >= - 1
<S>  New H70:  byte >= - 4
<S>  New H78:  byte >= - 3
-S-  Applied substitution rule get_query_na_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H29:  byte <= 8180
<S>  New H35:  byte <= 8179
<S>  New H55:  byte <= 8177
<S>  New H63:  byte <= 8178
<S>  New H71:  byte <= 8175
<S>  New H79:  byte <= 8176
<S>  New H19:  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 H36:  byte + 1 <= input_bytes - 5 -> byte >= 0 and byte <= 8179
-S-  Applied substitution rule get_query_na_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H56:  byte >= - 2147483651
<S>  New H64:  byte >= - 2147483650
<S>  New H72:  byte >= - 2147483653
<S>  New H80:  byte >= - 2147483652
-S-  Applied substitution rule get_query_na_rules(30).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H57:  byte <= 2147483644
<S>  New H65:  byte <= 2147483645
<S>  New H73:  byte <= 2147483642
<S>  New H81:  byte <= 2147483643
-S-  Applied substitution rule get_query_na_rules(33).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H19:  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-  Applied substitution rule get_query_na_rules(34).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H19:  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-  Applied substitution rule get_query_na_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H5:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H11:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H13:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H15:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H17:  fld_arcount(fld_header(input_packet)) >= 0
-S-  Applied substitution rule get_query_na_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H6:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H12:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H14:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H16:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H18:  fld_arcount(fld_header(input_packet)) <= 65535
-S-  Applied substitution rule get_query_na_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H7:  dns_types__query <= fld_opcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H8:  fld_opcode(fld_header(input_packet)) <= dns_types__status
-S-  Applied substitution rule get_query_na_rules(72).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H9:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(73).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H10:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S-  Applied substitution rule get_query_na_rules(107).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__first by:
          dns_types__in_class.
<S>  New H89:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) < class_to_natural(
          dns_types__in_class) or class_to_natural(dns_types__query_class__last)
           < element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5])
<S>  New H90:  true
-S-  Applied substitution rule get_query_na_rules(108).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__last by:
          dns_types__any_class.
<S>  New H91:  true
<S>  New H89:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) < class_to_natural(
          dns_types__in_class) or class_to_natural(dns_types__any_class) < 
          element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5])
-S-  Applied substitution rule get_query_na_rules(137).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__first by:
          dns_types__a.
<S>  New H82:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= type_to_natural(dns_types__a)
<S>  New H84:  dns_types__a <= to_type(element(fld_bytes(input_packet), [byte + 
          2]) * 256 + element(fld_bytes(input_packet), [byte + 3]))
<S>  New H87:  true
-S-  Applied substitution rule get_query_na_rules(138).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__last by:
          dns_types__unimplemented.
<S>  New H83:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
          dns_types__unimplemented)
<S>  New H85:  to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [byte + 3])) <= 
          dns_types__unimplemented
<S>  New H88:  true
-S-  Applied substitution rule get_query_na_rules(196).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H1:  i >= 1
<S>  New H48:  i >= 0
-S-  Applied substitution rule get_query_na_rules(197).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H2:  i < 129
<S>  New H31:  i <= 129
<S>  New H43:  input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
          byte + 1]) = 0 or 128 <= i
<S>  New H49:  i <= 128
***  Proved C2:  byte >= - 1
     using hypothesis H62.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_73.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H19 on reading formula in, to give:
     %%%  H19:  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)
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H27 has been replaced by "true".  (It is already present, as 
          H25).
---  Hypothesis H28 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H30 has been replaced by "true".  (It is already present, as H1)
          .
---  Hypothesis H46 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H47 has been replaced by "true".  (It is already present, as 
          H45).
%%%  Simplified H50 on reading formula in, to give:
     %%%  H50:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H51 on reading formula in, to give:
     %%%  H51:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H53 on reading formula in, to give:
     %%%  H53:  element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  byte + 3 >= dns_types__packet_bytes_range__first
%%%  Simplified H55 on reading formula in, to give:
     %%%  H55:  byte + 3 <= dns_types__packet_bytes_range__last
%%%  Simplified H56 on reading formula in, to give:
     %%%  H56:  byte + 3 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H57 on reading formula in, to give:
     %%%  H57:  byte + 3 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H58 on reading formula in, to give:
     %%%  H58:  element(fld_bytes(input_packet), [byte + 2]) * 256 >= 
          integer__base__first
%%%  Simplified H59 on reading formula in, to give:
     %%%  H59:  element(fld_bytes(input_packet), [byte + 2]) * 256 <= 
          integer__base__last
%%%  Simplified H60 on reading formula in, to give:
     %%%  H60:  element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%%  Simplified H61 on reading formula in, to give:
     %%%  H61:  element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%%  Simplified H62 on reading formula in, to give:
     %%%  H62:  byte + 2 >= dns_types__packet_bytes_range__first
%%%  Simplified H63 on reading formula in, to give:
     %%%  H63:  byte + 2 <= dns_types__packet_bytes_range__last
%%%  Simplified H64 on reading formula in, to give:
     %%%  H64:  byte + 2 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H65 on reading formula in, to give:
     %%%  H65:  byte + 2 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H66 on reading formula in, to give:
     %%%  H66:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H67 on reading formula in, to give:
     %%%  H67:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H68 on reading formula in, to give:
     %%%  H68:  element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H69 on reading formula in, to give:
     %%%  H69:  element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  byte + 5 >= dns_types__packet_bytes_range__first
%%%  Simplified H71 on reading formula in, to give:
     %%%  H71:  byte + 5 <= dns_types__packet_bytes_range__last
%%%  Simplified H72 on reading formula in, to give:
     %%%  H72:  byte + 5 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  byte + 5 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  element(fld_bytes(input_packet), [byte + 4]) * 256 >= 
          integer__base__first
%%%  Simplified H75 on reading formula in, to give:
     %%%  H75:  element(fld_bytes(input_packet), [byte + 4]) * 256 <= 
          integer__base__last
%%%  Simplified H76 on reading formula in, to give:
     %%%  H76:  element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%%  Simplified H77 on reading formula in, to give:
     %%%  H77:  element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%%  Simplified H78 on reading formula in, to give:
     %%%  H78:  byte + 4 >= dns_types__packet_bytes_range__first
%%%  Simplified H79 on reading formula in, to give:
     %%%  H79:  byte + 4 <= dns_types__packet_bytes_range__last
%%%  Simplified H80 on reading formula in, to give:
     %%%  H80:  byte + 4 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H81 on reading formula in, to give:
     %%%  H81:  byte + 4 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H82 on reading formula in, to give:
     %%%  H82:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
          dns_types__query_type__first)
%%%  Simplified H83 on reading formula in, to give:
     %%%  H83:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
          dns_types__query_type__last)
%%%  Simplified H84 on reading formula in, to give:
     %%%  H84:  dns_types__query_type__first <= to_type(element(fld_bytes(
          input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
          byte + 3]))
%%%  Simplified H85 on reading formula in, to give:
     %%%  H85:  to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [byte + 3])) <= 
          dns_types__query_type__last
%%%  Simplified H86 on reading formula in, to give:
     %%%  H86:  dns_types__query_type__valid(to_type(element(fld_bytes(
          input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
          byte + 3])))
%%%  Simplified H87 on reading formula in, to give:
     %%%  H87:  not (element(fld_bytes(input_packet), [byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
          dns_types__query_class__first) and element(fld_bytes(input_packet), [
          byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]) <= 
          class_to_natural(dns_types__query_class__last))
%%%  Simplified H88 on reading formula in, to give:
     %%%  H88:  dns_types__query_class__first <= dns_types__none_class
---  Hypothesis H90 has been replaced by "true".  (It is already present, as 
          H70).
---  Hypothesis H91 has been replaced by "true".  (It is already present, as 
          H71).
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  byte + 5 <= input_bytes
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  byte >= - 1
***  Proved C1:  byte + 5 <= input_bytes
     using hypothesis H4.
>>>  Restructured hypothesis H43 into:
     >>>  H43:  input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
          byte + 1]) = 0 or rr_type__wirestringtypeindex__last <= i + 1
>>>  Restructured hypothesis H87 into:
     >>>  H87:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) < class_to_natural(
          dns_types__query_class__first) or class_to_natural(
          dns_types__query_class__last) < element(fld_bytes(input_packet), [
          byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5])
-S-  Applied substitution rule get_query_na_rules(1).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H22:  input_bytes >= 13
-S-  Applied substitution rule get_query_na_rules(7).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H37:  input_bytes >= - 2147483643
<S>  New H41:  byte >= - 2147483649
-S-  Applied substitution rule get_query_na_rules(8).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H38:  input_bytes <= 2147483652
<S>  New H42:  byte <= 2147483646
-S-  Applied substitution rule get_query_na_rules(9).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H58:  element(fld_bytes(input_packet), [byte + 2]) * 256 >= - 
          2147483648
<S>  New H74:  element(fld_bytes(input_packet), [byte + 4]) * 256 >= - 
          2147483648
-S-  Applied substitution rule get_query_na_rules(10).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H59:  element(fld_bytes(input_packet), [byte + 2]) * 256 <= 2147483647
<S>  New H75:  element(fld_bytes(input_packet), [byte + 4]) * 256 <= 2147483647
-S-  Applied substitution rule get_query_na_rules(12).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H24:  element(fld_bytes(input_packet), [byte]) >= 0
<S>  New H44:  true
-S-  Applied substitution rule get_query_na_rules(13).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H25:  element(fld_bytes(input_packet), [byte]) <= 255
<S>  New H45:  true
-S-  Applied substitution rule get_query_na_rules(17).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H32:  i >= - 1
<S>  New H50:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= 0
<S>  New H52:  element(fld_bytes(input_packet), [byte + 3]) >= 0
<S>  New H60:  element(fld_bytes(input_packet), [byte + 2]) >= 0
<S>  New H66:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= 0
<S>  New H68:  element(fld_bytes(input_packet), [byte + 5]) >= 0
<S>  New H76:  element(fld_bytes(input_packet), [byte + 4]) >= 0
-S-  Applied substitution rule get_query_na_rules(18).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H33:  i <= 2147483646
<S>  New H51:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S>  New H53:  element(fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S>  New H61:  element(fld_bytes(input_packet), [byte + 2]) <= 2147483647
<S>  New H67:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S>  New H69:  element(fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S>  New H77:  element(fld_bytes(input_packet), [byte + 4]) <= 2147483647
-S-  Applied substitution rule get_query_na_rules(22).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H20:  input_bytes >= 0
-S-  Applied substitution rule get_query_na_rules(23).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H21:  input_bytes <= 8192
-S-  Applied substitution rule get_query_na_rules(24).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__first by:
          - 2147483648.
<S>  New H39:  input_bytes >= - 2147483643
-S-  Applied substitution rule get_query_na_rules(25).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__last by:
          2147483647.
<S>  New H40:  input_bytes <= 2147483652
-S-  Applied substitution rule get_query_na_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H3:  byte >= 1
<S>  New H19:  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 H34:  byte >= 0
<S>  New H36:  byte + 1 <= input_bytes - 5 -> byte >= 0 and byte + 1 <= 
          dns_types__packet_bytes_range__last
<S>  New H54:  byte >= - 2
<S>  New H62:  byte >= - 1
<S>  New H70:  byte >= - 4
<S>  New H78:  byte >= - 3
-S-  Applied substitution rule get_query_na_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H29:  byte <= 8180
<S>  New H35:  byte <= 8179
<S>  New H55:  byte <= 8177
<S>  New H63:  byte <= 8178
<S>  New H71:  byte <= 8175
<S>  New H79:  byte <= 8176
<S>  New H19:  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 H36:  byte + 1 <= input_bytes - 5 -> byte >= 0 and byte <= 8179
-S-  Applied substitution rule get_query_na_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H56:  byte >= - 2147483651
<S>  New H64:  byte >= - 2147483650
<S>  New H72:  byte >= - 2147483653
<S>  New H80:  byte >= - 2147483652
-S-  Applied substitution rule get_query_na_rules(30).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H57:  byte <= 2147483644
<S>  New H65:  byte <= 2147483645
<S>  New H73:  byte <= 2147483642
<S>  New H81:  byte <= 2147483643
-S-  Applied substitution rule get_query_na_rules(33).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H19:  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-  Applied substitution rule get_query_na_rules(34).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H19:  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-  Applied substitution rule get_query_na_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H5:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H11:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H13:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H15:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H17:  fld_arcount(fld_header(input_packet)) >= 0
-S-  Applied substitution rule get_query_na_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H6:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H12:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H14:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H16:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H18:  fld_arcount(fld_header(input_packet)) <= 65535
-S-  Applied substitution rule get_query_na_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H7:  dns_types__query <= fld_opcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H8:  fld_opcode(fld_header(input_packet)) <= dns_types__status
-S-  Applied substitution rule get_query_na_rules(72).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H9:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(73).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H10:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S-  Applied substitution rule get_query_na_rules(107).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__first by:
          dns_types__in_class.
<S>  New H87:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) < class_to_natural(
          dns_types__in_class) or class_to_natural(dns_types__query_class__last)
           < element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5])
<S>  New H88:  true
-S-  Applied substitution rule get_query_na_rules(108).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__last by:
          dns_types__any_class.
<S>  New H89:  true
<S>  New H87:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) < class_to_natural(
          dns_types__in_class) or class_to_natural(dns_types__any_class) < 
          element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5])
-S-  Applied substitution rule get_query_na_rules(137).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__first by:
          dns_types__a.
<S>  New H82:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= type_to_natural(dns_types__a)
<S>  New H84:  dns_types__a <= to_type(element(fld_bytes(input_packet), [byte + 
          2]) * 256 + element(fld_bytes(input_packet), [byte + 3]))
-S-  Applied substitution rule get_query_na_rules(138).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__last by:
          dns_types__unimplemented.
<S>  New H83:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= type_to_natural(
          dns_types__unimplemented)
<S>  New H85:  to_type(element(fld_bytes(input_packet), [byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [byte + 3])) <= 
          dns_types__unimplemented
-S-  Applied substitution rule get_query_na_rules(196).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H1:  i >= 1
<S>  New H48:  i >= 0
-S-  Applied substitution rule get_query_na_rules(197).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H2:  i < 129
<S>  New H31:  i <= 129
<S>  New H43:  input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
          byte + 1]) = 0 or 128 <= i
<S>  New H49:  i <= 128
***  Proved C2:  byte >= - 1
     using hypothesis H62.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_get_query_name_type_class_74.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          input_packet))
%%%  Simplified H9 on reading formula in, to give:
     %%%  H9:  dns_types__response_code__first <= fld_rcode(fld_header(
          input_packet))
%%%  Simplified H19 on reading formula in, to give:
     %%%  H19:  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)
---  Hypothesis H26 has been replaced by "true".  (It is already present, as 
          H24).
---  Hypothesis H27 has been replaced by "true".  (It is already present, as 
          H25).
---  Hypothesis H28 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H30 has been replaced by "true".  (It is already present, as H1)
          .
---  Hypothesis H46 has been replaced by "true".  (It is already present, as 
          H44).
---  Hypothesis H47 has been replaced by "true".  (It is already present, as 
          H45).
%%%  Simplified H50 on reading formula in, to give:
     %%%  H50:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H51 on reading formula in, to give:
     %%%  H51:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H52 on reading formula in, to give:
     %%%  H52:  element(fld_bytes(input_packet), [byte + 3]) >= natural__first
%%%  Simplified H53 on reading formula in, to give:
     %%%  H53:  element(fld_bytes(input_packet), [byte + 3]) <= natural__last
%%%  Simplified H54 on reading formula in, to give:
     %%%  H54:  byte + 3 >= dns_types__packet_bytes_range__first
%%%  Simplified H55 on reading formula in, to give:
     %%%  H55:  byte + 3 <= dns_types__packet_bytes_range__last
%%%  Simplified H56 on reading formula in, to give:
     %%%  H56:  byte + 3 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H57 on reading formula in, to give:
     %%%  H57:  byte + 3 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H58 on reading formula in, to give:
     %%%  H58:  element(fld_bytes(input_packet), [byte + 2]) * 256 >= 
          integer__base__first
%%%  Simplified H59 on reading formula in, to give:
     %%%  H59:  element(fld_bytes(input_packet), [byte + 2]) * 256 <= 
          integer__base__last
%%%  Simplified H60 on reading formula in, to give:
     %%%  H60:  element(fld_bytes(input_packet), [byte + 2]) >= natural__first
%%%  Simplified H61 on reading formula in, to give:
     %%%  H61:  element(fld_bytes(input_packet), [byte + 2]) <= natural__last
%%%  Simplified H62 on reading formula in, to give:
     %%%  H62:  byte + 2 >= dns_types__packet_bytes_range__first
%%%  Simplified H63 on reading formula in, to give:
     %%%  H63:  byte + 2 <= dns_types__packet_bytes_range__last
%%%  Simplified H64 on reading formula in, to give:
     %%%  H64:  byte + 2 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H65 on reading formula in, to give:
     %%%  H65:  byte + 2 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H66 on reading formula in, to give:
     %%%  H66:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H67 on reading formula in, to give:
     %%%  H67:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H68 on reading formula in, to give:
     %%%  H68:  element(fld_bytes(input_packet), [byte + 5]) >= natural__first
%%%  Simplified H69 on reading formula in, to give:
     %%%  H69:  element(fld_bytes(input_packet), [byte + 5]) <= natural__last
%%%  Simplified H70 on reading formula in, to give:
     %%%  H70:  byte + 5 >= dns_types__packet_bytes_range__first
%%%  Simplified H71 on reading formula in, to give:
     %%%  H71:  byte + 5 <= dns_types__packet_bytes_range__last
%%%  Simplified H72 on reading formula in, to give:
     %%%  H72:  byte + 5 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  byte + 5 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  element(fld_bytes(input_packet), [byte + 4]) * 256 >= 
          integer__base__first
%%%  Simplified H75 on reading formula in, to give:
     %%%  H75:  element(fld_bytes(input_packet), [byte + 4]) * 256 <= 
          integer__base__last
%%%  Simplified H76 on reading formula in, to give:
     %%%  H76:  element(fld_bytes(input_packet), [byte + 4]) >= natural__first
%%%  Simplified H77 on reading formula in, to give:
     %%%  H77:  element(fld_bytes(input_packet), [byte + 4]) <= natural__last
%%%  Simplified H78 on reading formula in, to give:
     %%%  H78:  byte + 4 >= dns_types__packet_bytes_range__first
%%%  Simplified H79 on reading formula in, to give:
     %%%  H79:  byte + 4 <= dns_types__packet_bytes_range__last
%%%  Simplified H80 on reading formula in, to give:
     %%%  H80:  byte + 4 >= dns_types__packet_bytes_range__base__first
%%%  Simplified H81 on reading formula in, to give:
     %%%  H81:  byte + 4 <= dns_types__packet_bytes_range__base__last
%%%  Simplified H82 on reading formula in, to give:
     %%%  H82:  not (element(fld_bytes(input_packet), [byte + 2]) * 256 + 
          element(fld_bytes(input_packet), [byte + 3]) >= type_to_natural(
          dns_types__query_type__first) and element(fld_bytes(input_packet), [
          byte + 2]) * 256 + element(fld_bytes(input_packet), [byte + 3]) <= 
          type_to_natural(dns_types__query_type__last))
%%%  Simplified H83 on reading formula in, to give:
     %%%  H83:  dns_types__query_type__first <= dns_types__unimplemented
%%%  Simplified H85 on reading formula in, to give:
     %%%  H85:  not (element(fld_bytes(input_packet), [byte + 4]) * 256 + 
          element(fld_bytes(input_packet), [byte + 5]) >= class_to_natural(
          dns_types__query_class__first) and element(fld_bytes(input_packet), [
          byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5]) <= 
          class_to_natural(dns_types__query_class__last))
%%%  Simplified H86 on reading formula in, to give:
     %%%  H86:  dns_types__query_class__first <= dns_types__none_class
---  Hypothesis H88 has been replaced by "true".  (It is already present, as 
          H70).
---  Hypothesis H89 has been replaced by "true".  (It is already present, as 
          H71).
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  byte + 5 <= input_bytes
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  byte >= - 1
***  Proved C1:  byte + 5 <= input_bytes
     using hypothesis H4.
>>>  Restructured hypothesis H43 into:
     >>>  H43:  input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
          byte + 1]) = 0 or rr_type__wirestringtypeindex__last <= i + 1
>>>  Restructured hypothesis H82 into:
     >>>  H82:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) < type_to_natural(
          dns_types__query_type__first) or type_to_natural(
          dns_types__query_type__last) < element(fld_bytes(input_packet), [byte 
          + 2]) * 256 + element(fld_bytes(input_packet), [byte + 3])
>>>  Restructured hypothesis H85 into:
     >>>  H85:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) < class_to_natural(
          dns_types__query_class__first) or class_to_natural(
          dns_types__query_class__last) < element(fld_bytes(input_packet), [
          byte + 4]) * 256 + element(fld_bytes(input_packet), [byte + 5])
-S-  Applied substitution rule get_query_na_rules(1).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H22:  input_bytes >= 13
-S-  Applied substitution rule get_query_na_rules(7).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H37:  input_bytes >= - 2147483643
<S>  New H41:  byte >= - 2147483649
-S-  Applied substitution rule get_query_na_rules(8).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H38:  input_bytes <= 2147483652
<S>  New H42:  byte <= 2147483646
-S-  Applied substitution rule get_query_na_rules(9).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H58:  element(fld_bytes(input_packet), [byte + 2]) * 256 >= - 
          2147483648
<S>  New H74:  element(fld_bytes(input_packet), [byte + 4]) * 256 >= - 
          2147483648
-S-  Applied substitution rule get_query_na_rules(10).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H59:  element(fld_bytes(input_packet), [byte + 2]) * 256 <= 2147483647
<S>  New H75:  element(fld_bytes(input_packet), [byte + 4]) * 256 <= 2147483647
-S-  Applied substitution rule get_query_na_rules(12).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H24:  element(fld_bytes(input_packet), [byte]) >= 0
<S>  New H44:  true
-S-  Applied substitution rule get_query_na_rules(13).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H25:  element(fld_bytes(input_packet), [byte]) <= 255
<S>  New H45:  true
-S-  Applied substitution rule get_query_na_rules(17).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H32:  i >= - 1
<S>  New H50:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) >= 0
<S>  New H52:  element(fld_bytes(input_packet), [byte + 3]) >= 0
<S>  New H60:  element(fld_bytes(input_packet), [byte + 2]) >= 0
<S>  New H66:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) >= 0
<S>  New H68:  element(fld_bytes(input_packet), [byte + 5]) >= 0
<S>  New H76:  element(fld_bytes(input_packet), [byte + 4]) >= 0
-S-  Applied substitution rule get_query_na_rules(18).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H33:  i <= 2147483646
<S>  New H51:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S>  New H53:  element(fld_bytes(input_packet), [byte + 3]) <= 2147483647
<S>  New H61:  element(fld_bytes(input_packet), [byte + 2]) <= 2147483647
<S>  New H67:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S>  New H69:  element(fld_bytes(input_packet), [byte + 5]) <= 2147483647
<S>  New H77:  element(fld_bytes(input_packet), [byte + 4]) <= 2147483647
-S-  Applied substitution rule get_query_na_rules(22).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H20:  input_bytes >= 0
-S-  Applied substitution rule get_query_na_rules(23).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H21:  input_bytes <= 8192
-S-  Applied substitution rule get_query_na_rules(24).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__first by:
          - 2147483648.
<S>  New H39:  input_bytes >= - 2147483643
-S-  Applied substitution rule get_query_na_rules(25).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__base__last by:
          2147483647.
<S>  New H40:  input_bytes <= 2147483652
-S-  Applied substitution rule get_query_na_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H3:  byte >= 1
<S>  New H19:  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 H34:  byte >= 0
<S>  New H36:  byte + 1 <= input_bytes - 5 -> byte >= 0 and byte + 1 <= 
          dns_types__packet_bytes_range__last
<S>  New H54:  byte >= - 2
<S>  New H62:  byte >= - 1
<S>  New H70:  byte >= - 4
<S>  New H78:  byte >= - 3
-S-  Applied substitution rule get_query_na_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H29:  byte <= 8180
<S>  New H35:  byte <= 8179
<S>  New H55:  byte <= 8177
<S>  New H63:  byte <= 8178
<S>  New H71:  byte <= 8175
<S>  New H79:  byte <= 8176
<S>  New H19:  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 H36:  byte + 1 <= input_bytes - 5 -> byte >= 0 and byte <= 8179
-S-  Applied substitution rule get_query_na_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H56:  byte >= - 2147483651
<S>  New H64:  byte >= - 2147483650
<S>  New H72:  byte >= - 2147483653
<S>  New H80:  byte >= - 2147483652
-S-  Applied substitution rule get_query_na_rules(30).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H57:  byte <= 2147483644
<S>  New H65:  byte <= 2147483645
<S>  New H73:  byte <= 2147483642
<S>  New H81:  byte <= 2147483643
-S-  Applied substitution rule get_query_na_rules(33).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H19:  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-  Applied substitution rule get_query_na_rules(34).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H19:  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-  Applied substitution rule get_query_na_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H5:  fld_messageid(fld_header(input_packet)) >= 0
<S>  New H11:  fld_qdcount(fld_header(input_packet)) >= 0
<S>  New H13:  fld_ancount(fld_header(input_packet)) >= 0
<S>  New H15:  fld_nscount(fld_header(input_packet)) >= 0
<S>  New H17:  fld_arcount(fld_header(input_packet)) >= 0
-S-  Applied substitution rule get_query_na_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H6:  fld_messageid(fld_header(input_packet)) <= 65535
<S>  New H12:  fld_qdcount(fld_header(input_packet)) <= 65535
<S>  New H14:  fld_ancount(fld_header(input_packet)) <= 65535
<S>  New H16:  fld_nscount(fld_header(input_packet)) <= 65535
<S>  New H18:  fld_arcount(fld_header(input_packet)) <= 65535
-S-  Applied substitution rule get_query_na_rules(46).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H7:  dns_types__query <= fld_opcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(47).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H8:  fld_opcode(fld_header(input_packet)) <= dns_types__status
-S-  Applied substitution rule get_query_na_rules(72).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H9:  dns_types__no_error <= fld_rcode(fld_header(input_packet))
-S-  Applied substitution rule get_query_na_rules(73).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H10:  fld_rcode(fld_header(input_packet)) <= dns_types__refused
-S-  Applied substitution rule get_query_na_rules(107).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__first by:
          dns_types__in_class.
<S>  New H85:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) < class_to_natural(
          dns_types__in_class) or class_to_natural(dns_types__query_class__last)
           < element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5])
<S>  New H86:  true
-S-  Applied substitution rule get_query_na_rules(108).
     This was achieved by replacing all occurrences of 
          dns_types__query_class__last by:
          dns_types__any_class.
<S>  New H87:  true
<S>  New H85:  element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5]) < class_to_natural(
          dns_types__in_class) or class_to_natural(dns_types__any_class) < 
          element(fld_bytes(input_packet), [byte + 4]) * 256 + element(
          fld_bytes(input_packet), [byte + 5])
-S-  Applied substitution rule get_query_na_rules(137).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__first by:
          dns_types__a.
<S>  New H82:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) < type_to_natural(dns_types__a) 
          or type_to_natural(dns_types__query_type__last) < element(fld_bytes(
          input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
          byte + 3])
<S>  New H83:  true
-S-  Applied substitution rule get_query_na_rules(138).
     This was achieved by replacing all occurrences of 
          dns_types__query_type__last by:
          dns_types__unimplemented.
<S>  New H84:  true
<S>  New H82:  element(fld_bytes(input_packet), [byte + 2]) * 256 + element(
          fld_bytes(input_packet), [byte + 3]) < type_to_natural(dns_types__a) 
          or type_to_natural(dns_types__unimplemented) < element(fld_bytes(
          input_packet), [byte + 2]) * 256 + element(fld_bytes(input_packet), [
          byte + 3])
-S-  Applied substitution rule get_query_na_rules(196).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H1:  i >= 1
<S>  New H48:  i >= 0
-S-  Applied substitution rule get_query_na_rules(197).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H2:  i < 129
<S>  New H31:  i <= 129
<S>  New H43:  input_bytes - 5 < byte + 1 or element(fld_bytes(input_packet), [
          byte + 1]) = 0 or 128 <= i
<S>  New H49:  i <= 128
***  Proved C2:  byte >= - 1
     using hypothesis H62.
***  PROVED VC.

