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

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



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

procedure Process_Dns_Request.Create_Response_NS






@@@@@@@@@@  VC: procedure_create_response_ns_1.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(domainname, [i___1]) and element(
          domainname, [i___1]) <= character__last)
%%%  Simplified H10 on reading formula in, to give:
     %%%  H10:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H12 on reading formula in, to give:
     %%%  H12:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H22 on reading formula in, to give:
     %%%  H22:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H6:  qname_location >= 0
<S>  New C1:  true
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H7:  qname_location <= 16383
<S>  New C2:  true
***  Proved C1:  true
***  Proved C2:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_ns_2.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(domainname, [i___1]) and element(
          domainname, [i___1]) <= character__last)
%%%  Simplified H10 on reading formula in, to give:
     %%%  H10:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H12 on reading formula in, to give:
     %%%  H12:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H22 on reading formula in, to give:
     %%%  H22:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
***  Proved C1:  start_byte >= dns_types__packet_bytes_range__first
     using hypothesis H3.
***  Proved C2:  start_byte <= dns_types__packet_bytes_range__last
     using hypothesis H4.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_ns_3.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(domainname, [i___1]) and element(
          domainname, [i___1]) <= character__last)
%%%  Simplified H10 on reading formula in, to give:
     %%%  H10:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H12 on reading formula in, to give:
     %%%  H12:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H22 on reading formula in, to give:
     %%%  H22:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H27 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H28 has been replaced by "true".  (It is already present, as H4)
          .
%%%  Simplified H29 on reading formula in, to give:
     %%%  H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ttlinseconds(fld_inherit(
          element(replies__1, [i___1]))) and fld_ttlinseconds(fld_inherit(
          element(replies__1, [i___1]))) <= unsigned_types__unsigned32__last)
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__classtype__first 
          <= fld_class(fld_inherit(element(replies__1, [i___1]))) and fld_class(
          fld_inherit(element(replies__1, [i___1]))) <= 
          rr_type__classtype__last)
%%%  Simplified H31 on reading formula in, to give:
     %%%  H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> character__first <= element(
          fld_nameserver(element(replies__1, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies__1, [i___1])), [i___2]) <= 
          character__last))
***  Proved C1:  num_found__1 >= rr_type__numberofrecordstype__first
     using hypothesis H32.
***  Proved C2:  num_found__1 <= rr_type__numberofrecordstype__last
     using hypothesis H33.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_ns_4.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(domainname, [i___1]) and element(
          domainname, [i___1]) <= character__last)
%%%  Simplified H10 on reading formula in, to give:
     %%%  H10:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H12 on reading formula in, to give:
     %%%  H12:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H22 on reading formula in, to give:
     %%%  H22:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H27 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H28 has been replaced by "true".  (It is already present, as H4)
          .
%%%  Simplified H29 on reading formula in, to give:
     %%%  H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ttlinseconds(fld_inherit(
          element(replies__1, [i___1]))) and fld_ttlinseconds(fld_inherit(
          element(replies__1, [i___1]))) <= unsigned_types__unsigned32__last)
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__classtype__first 
          <= fld_class(fld_inherit(element(replies__1, [i___1]))) and fld_class(
          fld_inherit(element(replies__1, [i___1]))) <= 
          rr_type__classtype__last)
%%%  Simplified H31 on reading formula in, to give:
     %%%  H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> character__first <= element(
          fld_nameserver(element(replies__1, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies__1, [i___1])), [i___2]) <= 
          character__last))
---  Hypothesis H34 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H35 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H36 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H37 has been replaced by "true".  (It is already present, as 
          H33).
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New C1:  true
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New C2:  true
***  Proved C1:  true
***  Proved C2:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_ns_5.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(domainname, [i___1]) and element(
          domainname, [i___1]) <= character__last)
%%%  Simplified H10 on reading formula in, to give:
     %%%  H10:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H12 on reading formula in, to give:
     %%%  H12:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H22 on reading formula in, to give:
     %%%  H22:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H27 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H28 has been replaced by "true".  (It is already present, as H4)
          .
%%%  Simplified H29 on reading formula in, to give:
     %%%  H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ttlinseconds(fld_inherit(
          element(replies__1, [i___1]))) and fld_ttlinseconds(fld_inherit(
          element(replies__1, [i___1]))) <= unsigned_types__unsigned32__last)
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__classtype__first 
          <= fld_class(fld_inherit(element(replies__1, [i___1]))) and fld_class(
          fld_inherit(element(replies__1, [i___1]))) <= 
          rr_type__classtype__last)
%%%  Simplified H31 on reading formula in, to give:
     %%%  H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> character__first <= element(
          fld_nameserver(element(replies__1, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies__1, [i___1])), [i___2]) <= 
          character__last))
---  Hypothesis H34 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H35 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H36 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H37 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H41 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H42 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H43 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H40).
-S-  Applied substitution rule create_respo_rules(167).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__first by:
          1.
<S>  New H29:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ttlinseconds(fld_inherit(
          element(replies__1, [i___1]))) and fld_ttlinseconds(fld_inherit(
          element(replies__1, [i___1]))) <= unsigned_types__unsigned32__last)
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__classtype__first 
          <= fld_class(fld_inherit(element(replies__1, [i___1]))) and fld_class(
          fld_inherit(element(replies__1, [i___1]))) <= 
          rr_type__classtype__last)
<S>  New H31:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> character__first <= element(
          fld_nameserver(element(replies__1, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies__1, [i___1])), [i___2]) <= 
          character__last))
<S>  New C1:  true
-S-  Applied substitution rule create_respo_rules(168).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New H29:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          unsigned_types__unsigned32__first <= fld_ttlinseconds(fld_inherit(
          element(replies__1, [i___1]))) and fld_ttlinseconds(fld_inherit(
          element(replies__1, [i___1]))) <= unsigned_types__unsigned32__last)
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__classtype__first <= fld_class(fld_inherit(element(
          replies__1, [i___1]))) and fld_class(fld_inherit(element(replies__1, [
          i___1]))) <= rr_type__classtype__last)
<S>  New H31:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, rr_type__wirestringtypeindex__first <= i___2 and 
          i___2 <= rr_type__wirestringtypeindex__last -> character__first <= 
          element(fld_nameserver(element(replies__1, [i___1])), [i___2]) and 
          element(fld_nameserver(element(replies__1, [i___1])), [i___2]) <= 
          character__last))
<S>  New C2:  true
***  Proved C1:  true
***  Proved C2:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_ns_6.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(domainname, [i___1]) and element(
          domainname, [i___1]) <= character__last)
%%%  Simplified H10 on reading formula in, to give:
     %%%  H10:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H12 on reading formula in, to give:
     %%%  H12:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H22 on reading formula in, to give:
     %%%  H22:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H27 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H28 has been replaced by "true".  (It is already present, as H4)
          .
%%%  Simplified H29 on reading formula in, to give:
     %%%  H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ttlinseconds(fld_inherit(
          element(replies__1, [i___1]))) and fld_ttlinseconds(fld_inherit(
          element(replies__1, [i___1]))) <= unsigned_types__unsigned32__last)
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__classtype__first 
          <= fld_class(fld_inherit(element(replies__1, [i___1]))) and fld_class(
          fld_inherit(element(replies__1, [i___1]))) <= 
          rr_type__classtype__last)
%%%  Simplified H31 on reading formula in, to give:
     %%%  H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> character__first <= element(
          fld_nameserver(element(replies__1, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies__1, [i___1])), [i___2]) <= 
          character__last))
---  Hypothesis H34 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H35 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H36 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H37 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H41 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H42 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H43 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H40).
%%%  Simplified H50 on reading formula in, to give:
     %%%  H50:  rr_type__wirenamelength(fld_nameserver(element(replies__1, [1]))
          ) = rr_type__maxdomainnamelength + 1 or element(fld_nameserver(
          element(replies__1, [1])), [rr_type__wirenamelength(fld_nameserver(
          element(replies__1, [1])))]) = 0 and for_all(q_ : integer, 1 <= q_ 
          and q_ <= rr_type__wirenamelength(fld_nameserver(element(replies__1, [
          1]))) - 1 -> element(fld_nameserver(element(replies__1, [1])), [q_]) 
          <> 0)
***  Proved C1:  rr_type__wirenamelength(fld_nameserver(element(replies__1, [1])
          )) >= rr_type__wirestringtypeindex__first
     using hypothesis H48.
***  Proved C2:  rr_type__wirenamelength(fld_nameserver(element(replies__1, [1])
          )) <= rr_type__wirestringtypeindex__last
     using hypothesis H49.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_ns_7.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(domainname, [i___1]) and element(
          domainname, [i___1]) <= character__last)
%%%  Simplified H10 on reading formula in, to give:
     %%%  H10:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H12 on reading formula in, to give:
     %%%  H12:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H22 on reading formula in, to give:
     %%%  H22:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H27 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H28 has been replaced by "true".  (It is already present, as H4)
          .
%%%  Simplified H29 on reading formula in, to give:
     %%%  H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ttlinseconds(fld_inherit(
          element(replies__1, [i___1]))) and fld_ttlinseconds(fld_inherit(
          element(replies__1, [i___1]))) <= unsigned_types__unsigned32__last)
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__classtype__first 
          <= fld_class(fld_inherit(element(replies__1, [i___1]))) and fld_class(
          fld_inherit(element(replies__1, [i___1]))) <= 
          rr_type__classtype__last)
%%%  Simplified H31 on reading formula in, to give:
     %%%  H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> character__first <= element(
          fld_nameserver(element(replies__1, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies__1, [i___1])), [i___2]) <= 
          character__last))
---  Hypothesis H34 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H35 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H36 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H37 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H41 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H42 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H43 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H40).
%%%  Simplified H50 on reading formula in, to give:
     %%%  H50:  rr_type__wirenamelength(fld_nameserver(element(replies__1, [1]))
          ) = rr_type__maxdomainnamelength + 1 or element(fld_nameserver(
          element(replies__1, [1])), [rr_type__wirenamelength(fld_nameserver(
          element(replies__1, [1])))]) = 0 and for_all(q_ : integer, 1 <= q_ 
          and q_ <= rr_type__wirenamelength(fld_nameserver(element(replies__1, [
          1]))) - 1 -> element(fld_nameserver(element(replies__1, [1])), [q_]) 
          <> 0)
---  Hypothesis H51 has been replaced by "true".  (It is already present, as 
          H48).
---  Hypothesis H52 has been replaced by "true".  (It is already present, as 
          H49).
---  Hypothesis H53 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H54 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H40).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H58 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H59 has been replaced by "true".  (It is already present, as 
          H48).
---  Hypothesis H60 has been replaced by "true".  (It is already present, as 
          H49).
%%%  Simplified C5 on reading formula in, to give:
     %%%  C5:  true
***  Proved C5:  true
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H1:  start_byte <= 8192
<S>  New C1:  1 <= num_found__1 -> 8192 - (12 + dns_types__header_bits div 8) - 
          rr_type__wirenamelength(fld_nameserver(element(replies__1, [1]))) >= 
          integer__base__first and 8192 - (12 + dns_types__header_bits div 8) - 
          rr_type__wirenamelength(fld_nameserver(element(replies__1, [1]))) <= 
          integer__base__last
<S>  New C2:  1 <= num_found__1 -> 8192 - (12 + dns_types__header_bits div 8) 
          >= system__min_int and 8192 - (12 + dns_types__header_bits div 8) <= 
          system__max_int
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New C3:  1 <= num_found__1 -> 24 >= system__min_int and 24 <= 
          system__max_int
<S>  New C4:  1 <= num_found__1 -> 12 >= system__min_int and 12 <= 
          system__max_int
<S>  New C1:  1 <= num_found__1 -> 8168 - rr_type__wirenamelength(
          fld_nameserver(element(replies__1, [1]))) >= integer__base__first and 
          8168 - rr_type__wirenamelength(fld_nameserver(element(replies__1, [1])
          )) <= integer__base__last
<S>  New C2:  1 <= num_found__1 -> 8168 >= system__min_int and 8168 <= 
          system__max_int
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of 
          rr_type__maxdomainnamelength by:
          128.
<S>  New H50:  rr_type__wirenamelength(fld_nameserver(element(replies__1, [1])))
           = 129 or element(fld_nameserver(element(replies__1, [1])), [
          rr_type__wirenamelength(fld_nameserver(element(replies__1, [1])))]) = 
          0 and for_all(q_ : integer, 1 <= q_ and q_ <= rr_type__wirenamelength(
          fld_nameserver(element(replies__1, [1]))) - 1 -> element(
          fld_nameserver(element(replies__1, [1])), [q_]) <> 0)
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of rr_type__maxnumrecords 
          by:
          64.
<S>  New H2:  answer_count <= dns_types__unsigned_short__last - 64
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New C3:  1 <= num_found__1 -> 24 <= system__max_int
<S>  New C4:  1 <= num_found__1 -> 12 <= system__max_int
<S>  New C2:  1 <= num_found__1 -> 8168 <= system__max_int
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New C3:  true
<S>  New C4:  true
<S>  New C2:  true
-S-  Applied substitution rule create_respo_rules(8).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New C6:  1 <= num_found__1 -> start_byte >= - 2147483648 and start_byte <= 
          integer__last
-S-  Applied substitution rule create_respo_rules(9).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New C6:  1 <= num_found__1 -> start_byte >= - 2147483648 and start_byte <= 
          2147483647
-S-  Applied substitution rule create_respo_rules(10).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New C1:  1 <= num_found__1 -> rr_type__wirenamelength(fld_nameserver(
          element(replies__1, [1]))) <= 2147491816 and 8168 - 
          rr_type__wirenamelength(fld_nameserver(element(replies__1, [1]))) <= 
          integer__base__last
-S-  Applied substitution rule create_respo_rules(11).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New C1:  1 <= num_found__1 -> rr_type__wirenamelength(fld_nameserver(
          element(replies__1, [1]))) <= 2147491816 and - 2147475479 <= 
          rr_type__wirenamelength(fld_nameserver(element(replies__1, [1])))
-S-  Applied substitution rule create_respo_rules(13).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H5:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 
          character__last)
<S>  New H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(fld_nameserver(
          element(replies__1, [i___1])), [i___2]) and element(fld_nameserver(
          element(replies__1, [i___1])), [i___2]) <= character__last))
-S-  Applied substitution rule create_respo_rules(14).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H5:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(fld_nameserver(
          element(replies__1, [i___1])), [i___2]) and element(fld_nameserver(
          element(replies__1, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H39:  true
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H40:  true
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H6:  qname_location >= 0
<S>  New H25:  true
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H7:  qname_location <= 16383
<S>  New H26:  true
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H3:  start_byte >= 1
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H4:  start_byte <= 8180
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H8:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H14:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H16:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H18:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H20:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H23:  answer_count >= 0
-S-  Applied substitution rule create_respo_rules(53).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H9:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H15:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H17:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H19:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H21:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H24:  answer_count <= 65535
<S>  New H2:  answer_count <= 65471
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H10:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(59).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H11:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H12:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(85).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H13:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__first by:
          0.
<S>  New H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies__1, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies__1, [i___1]))) <= 
          unsigned_types__unsigned32__last)
-S-  Applied substitution rule create_respo_rules(127).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__last by:
          4294967295.
<S>  New H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies__1, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies__1, [i___1]))) <= 4294967295)
-S-  Applied substitution rule create_respo_rules(132).
     This was achieved by replacing all occurrences of 
          rr_type__classtype__first by:
          rr_type__internet.
<S>  New H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies__1, [i___1]))) and fld_class(
          fld_inherit(element(replies__1, [i___1]))) <= 
          rr_type__classtype__last)
-S-  Applied substitution rule create_respo_rules(133).
     This was achieved by replacing all occurrences of rr_type__classtype__last 
          by:
          rr_type__hs.
<S>  New H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies__1, [i___1]))) and fld_class(
          fld_inherit(element(replies__1, [i___1]))) <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(159).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H48:  rr_type__wirenamelength(fld_nameserver(element(replies__1, [1])))
           >= 1
<S>  New H5:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(domainname, [i___1]
          ) and element(domainname, [i___1]) <= 255)
<S>  New H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= rr_type__wirestringtypeindex__last -> 0 <= 
          element(fld_nameserver(element(replies__1, [i___1])), [i___2]) and 
          element(fld_nameserver(element(replies__1, [i___1])), [i___2]) <= 255)
          )
-S-  Applied substitution rule create_respo_rules(160).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H49:  rr_type__wirenamelength(fld_nameserver(element(replies__1, [1])))
           <= 129
<S>  New H5:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 129 -> 0 <= 
          element(domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= 129 -> 0 <= element(fld_nameserver(element(
          replies__1, [i___1])), [i___2]) and element(fld_nameserver(element(
          replies__1, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(167).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__first by:
          1.
<S>  New H46:  true
<S>  New H29:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies__1, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies__1, [i___1]))) <= 4294967295)
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies__1, [i___1]))) and fld_class(
          fld_inherit(element(replies__1, [i___1]))) <= rr_type__hs)
<S>  New H31:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= 129 -> 0 <= element(fld_nameserver(element(
          replies__1, [i___1])), [i___2]) and element(fld_nameserver(element(
          replies__1, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(168).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New H47:  true
<S>  New H29:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ttlinseconds(fld_inherit(element(replies__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(replies__1, [i___1]))) <= 
          4294967295)
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__internet <= fld_class(fld_inherit(element(replies__1, [i___1]
          ))) and fld_class(fld_inherit(element(replies__1, [i___1]))) <= 
          rr_type__hs)
<S>  New H31:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 129 -> 0 <= element(
          fld_nameserver(element(replies__1, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies__1, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(172).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__first by:
          0.
<S>  New H32:  num_found__1 >= 0
-S-  Applied substitution rule create_respo_rules(173).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__last by:
          64.
<S>  New H33:  num_found__1 <= 64
***  Proved C3:  true
***  Proved C4:  true
***  Proved C2:  true
***  Proved C6:  1 <= num_found__1 -> start_byte >= - 2147483648 and start_byte 
          <= 2147483647
     using hypotheses H1 & H3.
***  Proved C1:  1 <= num_found__1 -> rr_type__wirenamelength(fld_nameserver(
          element(replies__1, [1]))) <= 2147491816 and - 2147475479 <= 
          rr_type__wirenamelength(fld_nameserver(element(replies__1, [1])))
     using hypotheses H48 & H49.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_ns_8.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  answer_count = answer_count~
%%%  Simplified H13 on reading formula in, to give:
     %%%  H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(domainname, [i___1]) and element(
          domainname, [i___1]) <= character__last)
%%%  Simplified H18 on reading formula in, to give:
     %%%  H18:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H20 on reading formula in, to give:
     %%%  H20:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H33 has been replaced by "true".  (It is already present, as H6)
          .
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
%%%  Simplified H46 on reading formula in, to give:
     %%%  H46:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__2), [i___1]
          ) and element(fld_bytes(output_packet__2), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H61 has been replaced by "true".  (It is already present, as 
          H49).
---  Hypothesis H62 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H73 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H74 has been replaced by "true".  (It is already present, as 
          H36).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H75).
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H76).
%%%  Simplified H85 on reading formula in, to give:
     %%%  H85:  true
---  Hypothesis H90 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H91 has been replaced by "true".  (It is already present, as 
          H36).
%%%  Simplified H92 on reading formula in, to give:
     %%%  H92:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ttlinseconds(fld_inherit(
          element(replies, [i___1]))) and fld_ttlinseconds(fld_inherit(element(
          replies, [i___1]))) <= unsigned_types__unsigned32__last)
%%%  Simplified H93 on reading formula in, to give:
     %%%  H93:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__classtype__first 
          <= fld_class(fld_inherit(element(replies, [i___1]))) and fld_class(
          fld_inherit(element(replies, [i___1]))) <= rr_type__classtype__last)
%%%  Simplified H94 on reading formula in, to give:
     %%%  H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> character__first <= element(
          fld_nameserver(element(replies, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies, [i___1])), [i___2]) <= 
          character__last))
---  Hypothesis H98 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H99 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H100 has been replaced by "true".  (It is already present, as 
          H4).
---  Hypothesis H104 has been replaced by "true".  (It is already present, as 
          H4).
---  Hypothesis H106 has been replaced by "true".  (It is already present, as 
          H88).
---  Hypothesis H107 has been replaced by "true".  (It is already present, as 
          H89).
%%%  Simplified H110 on reading formula in, to give:
     %%%  H110:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__3), [i___1]
          ) and element(fld_bytes(output_packet__3), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H111 on reading formula in, to give:
     %%%  H111:  fld_header(output_packet__3) = fld_header(output_packet__2)
%%%  Simplified H112 on reading formula in, to give:
     %%%  H112:  output_packet__3 = upf_bytes(output_packet__2, fld_bytes(
          output_packet__3))
---  Hypothesis H113 has been replaced by "true".  (It is already present, as 
          H95).
---  Hypothesis H114 has been replaced by "true".  (It is already present, as 
          H96).
---  Hypothesis H117 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H118 has been replaced by "true".  (It is already present, as 
          H36).
---  Hypothesis H119 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H120 has been replaced by "true".  (It is already present, as 
          H4).
---  Hypothesis H125 has been replaced by "true".  (It is already present, as 
          H86).
---  Hypothesis H126 has been replaced by "true".  (It is already present, as 
          H87).
---  Hypothesis H129 has been replaced by "true".  (It is already present, as 
          H115).
---  Hypothesis H130 has been replaced by "true".  (It is already present, as 
          H116).
---  Hypothesis H132 has been replaced by "true".  (It is already present, as 
          H92).
---  Hypothesis H133 has been replaced by "true".  (It is already present, as 
          H93).
---  Hypothesis H134 has been replaced by "true".  (It is already present, as 
          H94).
---  Hypothesis H135 has been replaced by "true".  (It is already present, as 
          H115).
---  Hypothesis H136 has been replaced by "true".  (It is already present, as 
          H116).
%%%  Simplified H141 on reading formula in, to give:
     %%%  H141:  rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) = rr_type__maxdomainnamelength + 1 or 
          element(fld_nameserver(element(replies, [response_counter + 1])), [
          rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1])))]) = 0 and for_all(q_ : integer, 1 <= q_ and 
          q_ <= rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) - 1 -> element(fld_nameserver(element(
          replies, [response_counter + 1])), [q_]) <> 0)
---  Hypothesis H142 has been replaced by "true".  (It is already present, as 
          H139).
---  Hypothesis H143 has been replaced by "true".  (It is already present, as 
          H140).
---  Hypothesis H144 has been replaced by "true".  (It is already present, as 
          H127).
---  Hypothesis H145 has been replaced by "true".  (It is already present, as 
          H128).
---  Hypothesis H146 has been replaced by "true".  (It is already present, as 
          H115).
---  Hypothesis H147 has been replaced by "true".  (It is already present, as 
          H116).
---  Hypothesis H148 has been replaced by "true".  (It is already present, as 
          H121).
---  Hypothesis H149 has been replaced by "true".  (It is already present, as 
          H122).
---  Hypothesis H150 has been replaced by "true".  (It is already present, as 
          H139).
---  Hypothesis H151 has been replaced by "true".  (It is already present, as 
          H140).
%%%  Simplified C5 on reading formula in, to give:
     %%%  C5:  true
***  Proved C4:  response_counter + 1 <= num_found -> dns_types__header_bits 
          div 8 >= system__min_int and dns_types__header_bits div 8 <= 
          system__max_int
     using hypotheses H83 & H84.
***  Proved C5:  true
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H6:  start_byte <= 8192
<S>  New H9:  current_byte < 8192 - (12 + dns_types__header_bits div 8) - 
          current_name_length
<S>  New C1:  response_counter + 1 <= num_found -> 8192 - (12 + 
          dns_types__header_bits div 8) - rr_type__wirenamelength(
          fld_nameserver(element(replies, [response_counter + 1]))) >= 
          integer__base__first and 8192 - (12 + dns_types__header_bits div 8) - 
          rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) <= integer__base__last
<S>  New C2:  response_counter + 1 <= num_found -> 8192 - (12 + 
          dns_types__header_bits div 8) >= system__min_int and 8192 - (12 + 
          dns_types__header_bits div 8) <= system__max_int
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H75:  current_byte + 12 + 12 >= dns_types__qname_ptr_range__first
<S>  New H76:  current_byte + 12 + 12 <= dns_types__qname_ptr_range__last
<S>  New H79:  current_byte + 12 + 12 >= 
          dns_types__packet_bytes_range__base__first
<S>  New H80:  current_byte + 12 + 12 <= 
          dns_types__packet_bytes_range__base__last
<S>  New H81:  12 >= dns_types__packet_bytes_range__first
<S>  New H82:  12 <= dns_types__packet_bytes_range__last
<S>  New H83:  12 >= system__min_int
<S>  New H84:  12 <= system__max_int
<S>  New H9:  current_byte < 8168 - current_name_length
<S>  New C3:  response_counter + 1 <= num_found -> 24 >= system__min_int and 24 
          <= system__max_int
<S>  New C1:  response_counter + 1 <= num_found -> 8168 - 
          rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) >= integer__base__first and 8168 - 
          rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) <= integer__base__last
<S>  New C2:  response_counter + 1 <= num_found -> 8168 >= system__min_int and 
          8168 <= system__max_int
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of 
          rr_type__maxdomainnamelength by:
          128.
<S>  New H141:  rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) = 129 or element(fld_nameserver(element(
          replies, [response_counter + 1])), [rr_type__wirenamelength(
          fld_nameserver(element(replies, [response_counter + 1])))]) = 0 and 
          for_all(q_ : integer, 1 <= q_ and q_ <= rr_type__wirenamelength(
          fld_nameserver(element(replies, [response_counter + 1]))) - 1 -> 
          element(fld_nameserver(element(replies, [response_counter + 1])), [q_]
          ) <> 0)
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of rr_type__maxnumrecords 
          by:
          64.
<S>  New H5:  num_found <= 64
<S>  New H8:  answer_count <= dns_types__unsigned_short__last - 64
<S>  New H34:  answer_count~ <= dns_types__unsigned_short__last - 64
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H83:  true
<S>  New C3:  response_counter + 1 <= num_found -> 24 <= system__max_int
<S>  New C2:  response_counter + 1 <= num_found -> 8168 <= system__max_int
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H84:  true
<S>  New C3:  true
<S>  New C2:  true
-S-  Applied substitution rule create_respo_rules(8).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New C6:  response_counter + 1 <= num_found -> current_byte + 12 + 
          current_name_length >= - 2147483648 and current_byte + 12 + 
          current_name_length <= integer__last
-S-  Applied substitution rule create_respo_rules(9).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New C6:  response_counter + 1 <= num_found -> current_byte + 12 + 
          current_name_length >= - 2147483648 and current_byte + 12 + 
          current_name_length <= 2147483647
-S-  Applied substitution rule create_respo_rules(10).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New C1:  response_counter + 1 <= num_found -> rr_type__wirenamelength(
          fld_nameserver(element(replies, [response_counter + 1]))) <= 
          2147491816 and 8168 - rr_type__wirenamelength(fld_nameserver(element(
          replies, [response_counter + 1]))) <= integer__base__last
-S-  Applied substitution rule create_respo_rules(11).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New C1:  response_counter + 1 <= num_found -> rr_type__wirenamelength(
          fld_nameserver(element(replies, [response_counter + 1]))) <= 
          2147491816 and - 2147475479 <= rr_type__wirenamelength(fld_nameserver(
          element(replies, [response_counter + 1])))
-S-  Applied substitution rule create_respo_rules(13).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 
          character__last)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(fld_nameserver(
          element(replies, [i___1])), [i___2]) and element(fld_nameserver(
          element(replies, [i___1])), [i___2]) <= character__last))
-S-  Applied substitution rule create_respo_rules(14).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(fld_nameserver(
          element(replies, [i___1])), [i___2]) and element(fld_nameserver(
          element(replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H95:  response_counter >= 0
<S>  New H115:  response_counter >= - 1
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H96:  response_counter <= 2147483647
<S>  New H116:  response_counter <= 2147483646
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H14:  qname_location >= 0
<S>  New H75:  current_byte >= - 24
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H15:  qname_location <= 16383
<S>  New H76:  current_byte <= 16359
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H11:  start_byte >= 1
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H35:  current_byte >= 1
<S>  New H39:  current_byte >= 0
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= dns_types__byte__last)
<S>  New H51:  current_byte >= - 2
<S>  New H57:  current_byte >= - 3
<S>  New H63:  current_byte >= - 4
<S>  New H69:  current_byte >= - 5
<S>  New H101:  current_byte >= - 6
<S>  New H110:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet__3), [i___1]) and element(fld_bytes(
          output_packet__3), [i___1]) <= dns_types__byte__last)
<S>  New H121:  current_byte + 12 + current_name_length >= 1
<S>  New H123:  current_name_length >= 1
<S>  New H81:  true
-S-  Applied substitution rule create_respo_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H12:  start_byte <= 8180
<S>  New H36:  current_byte <= 8180
<S>  New H40:  current_byte <= 8179
<S>  New H41:  current_byte <= 8178
<S>  New H52:  current_byte <= 8177
<S>  New H58:  current_byte <= 8176
<S>  New H64:  current_byte <= 8175
<S>  New H70:  current_byte <= 8174
<S>  New H102:  current_byte <= 8173
<S>  New H105:  current_byte + 7 <= 8174 - current_name_length
<S>  New H122:  current_byte + 12 + current_name_length <= 8180
<S>  New H124:  current_name_length <= 8180
<S>  New H82:  true
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__2), [i___1]
          ) and element(fld_bytes(output_packet__2), [i___1]) <= 
          dns_types__byte__last)
<S>  New H110:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__3), [i___1]
          ) and element(fld_bytes(output_packet__3), [i___1]) <= 
          dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H44:  current_byte >= - 2147483649
<S>  New H53:  current_byte >= - 2147483651
<S>  New H59:  current_byte >= - 2147483652
<S>  New H65:  current_byte >= - 2147483653
<S>  New H71:  current_byte >= - 2147483654
<S>  New H86:  current_byte >= - 2147483660
<S>  New H108:  current_byte >= - 2147483655
<S>  New H79:  current_byte >= - 2147483672
-S-  Applied substitution rule create_respo_rules(42).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H45:  current_byte <= 2147483646
<S>  New H54:  current_byte <= 2147483644
<S>  New H60:  current_byte <= 2147483643
<S>  New H66:  current_byte <= 2147483642
<S>  New H72:  current_byte <= 2147483641
<S>  New H87:  current_byte <= 2147483635
<S>  New H109:  current_byte <= 2147483640
<S>  New H80:  current_byte <= 2147483623
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H49:  true
<S>  New H55:  true
<S>  New H67:  true
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= dns_types__byte__last)
<S>  New H110:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__3), [i___1]) and element(fld_bytes(
          output_packet__3), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H50:  true
<S>  New H56:  true
<S>  New H68:  true
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= 255)
<S>  New H110:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__3), [i___1]) and element(fld_bytes(
          output_packet__3), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H16:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H22:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H24:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H26:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H28:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H31:  answer_count >= 0
-S-  Applied substitution rule create_respo_rules(53).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H17:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H23:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H25:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H27:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H29:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H32:  answer_count <= 65535
<S>  New H8:  answer_count <= 65471
<S>  New H34:  answer_count~ <= 65471
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H18:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(59).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H19:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H20:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(85).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H21:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
-S-  Applied substitution rule create_respo_rules(120).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__first by:
          0.
<S>  New H37:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          >= 0
<S>  New H42:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(121).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__last by:
          65535.
<S>  New H38:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          <= 65535
<S>  New H43:  qname_location <= 65535
-S-  Applied substitution rule create_respo_rules(124).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__modulus by:
          65536.
<S>  New H37:  (qname_location + 49152) mod 65536 >= 0
<S>  New H38:  (qname_location + 49152) mod 65536 <= 65535
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__first by:
          0.
<S>  New H92:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) <= 
          unsigned_types__unsigned32__last)
-S-  Applied substitution rule create_respo_rules(127).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__last by:
          4294967295.
<S>  New H92:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) <= 4294967295)
-S-  Applied substitution rule create_respo_rules(132).
     This was achieved by replacing all occurrences of 
          rr_type__classtype__first by:
          rr_type__internet.
<S>  New H93:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies, [i___1]))) and fld_class(
          fld_inherit(element(replies, [i___1]))) <= rr_type__classtype__last)
-S-  Applied substitution rule create_respo_rules(133).
     This was achieved by replacing all occurrences of rr_type__classtype__last 
          by:
          rr_type__hs.
<S>  New H93:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies, [i___1]))) and fld_class(
          fld_inherit(element(replies, [i___1]))) <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(159).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H97:  current_name_length >= 1
<S>  New H139:  rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) >= 1
<S>  New H13:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(domainname, [i___1]
          ) and element(domainname, [i___1]) <= 255)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= rr_type__wirestringtypeindex__last -> 0 <= 
          element(fld_nameserver(element(replies, [i___1])), [i___2]) and 
          element(fld_nameserver(element(replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(160).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H4:  current_name_length <= 129
<S>  New H140:  rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) <= 129
<S>  New H13:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 129 -> 0 <= 
          element(domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= 129 -> 0 <= element(fld_nameserver(element(
          replies, [i___1])), [i___2]) and element(fld_nameserver(element(
          replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(167).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__first by:
          1.
<S>  New H88:  response_counter >= 1
<S>  New H137:  response_counter >= 0
<S>  New H92:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) <= 4294967295)
<S>  New H93:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies, [i___1]))) and fld_class(
          fld_inherit(element(replies, [i___1]))) <= rr_type__hs)
<S>  New H94:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= 129 -> 0 <= element(fld_nameserver(element(
          replies, [i___1])), [i___2]) and element(fld_nameserver(element(
          replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(168).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New H89:  response_counter <= 64
<S>  New H138:  response_counter <= 63
<S>  New H92:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ttlinseconds(fld_inherit(element(replies, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(replies, [i___1]))) <= 
          4294967295)
<S>  New H93:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__internet <= fld_class(fld_inherit(element(replies, [i___1])))
           and fld_class(fld_inherit(element(replies, [i___1]))) <= rr_type__hs)
<S>  New H94:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 129 -> 0 <= element(
          fld_nameserver(element(replies, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(172).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__first by:
          0.
<S>  New H127:  num_found >= 0
-S-  Applied substitution rule create_respo_rules(173).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__last by:
          64.
<S>  New H128:  num_found <= 64
***  Proved C3:  true
***  Proved C2:  true
***  Proved C6:  response_counter + 1 <= num_found -> current_byte + 12 + 
          current_name_length >= - 2147483648 and current_byte + 12 + 
          current_name_length <= 2147483647
     using hypotheses H121 & H122.
***  Proved C1:  response_counter + 1 <= num_found -> rr_type__wirenamelength(
          fld_nameserver(element(replies, [response_counter + 1]))) <= 
          2147491816 and - 2147475479 <= rr_type__wirenamelength(fld_nameserver(
          element(replies, [response_counter + 1])))
     using hypotheses H139 & H140.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_ns_9.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  answer_count = answer_count~
%%%  Simplified H13 on reading formula in, to give:
     %%%  H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(domainname, [i___1]) and element(
          domainname, [i___1]) <= character__last)
%%%  Simplified H18 on reading formula in, to give:
     %%%  H18:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H20 on reading formula in, to give:
     %%%  H20:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H33 has been replaced by "true".  (It is already present, as H6)
          .
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
%%%  Simplified H46 on reading formula in, to give:
     %%%  H46:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__2), [i___1]
          ) and element(fld_bytes(output_packet__2), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H61 has been replaced by "true".  (It is already present, as 
          H49).
---  Hypothesis H62 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H73 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H74 has been replaced by "true".  (It is already present, as 
          H36).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H75).
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H76).
%%%  Simplified H85 on reading formula in, to give:
     %%%  H85:  true
---  Hypothesis H90 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H91 has been replaced by "true".  (It is already present, as 
          H36).
%%%  Simplified H92 on reading formula in, to give:
     %%%  H92:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ttlinseconds(fld_inherit(
          element(replies, [i___1]))) and fld_ttlinseconds(fld_inherit(element(
          replies, [i___1]))) <= unsigned_types__unsigned32__last)
%%%  Simplified H93 on reading formula in, to give:
     %%%  H93:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__classtype__first 
          <= fld_class(fld_inherit(element(replies, [i___1]))) and fld_class(
          fld_inherit(element(replies, [i___1]))) <= rr_type__classtype__last)
%%%  Simplified H94 on reading formula in, to give:
     %%%  H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> character__first <= element(
          fld_nameserver(element(replies, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies, [i___1])), [i___2]) <= 
          character__last))
---  Hypothesis H98 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H99 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H100 has been replaced by "true".  (It is already present, as 
          H4).
---  Hypothesis H104 has been replaced by "true".  (It is already present, as 
          H4).
---  Hypothesis H106 has been replaced by "true".  (It is already present, as 
          H88).
---  Hypothesis H107 has been replaced by "true".  (It is already present, as 
          H89).
%%%  Simplified H110 on reading formula in, to give:
     %%%  H110:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__3), [i___1]
          ) and element(fld_bytes(output_packet__3), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H111 on reading formula in, to give:
     %%%  H111:  fld_header(output_packet__3) = fld_header(output_packet__2)
%%%  Simplified H112 on reading formula in, to give:
     %%%  H112:  output_packet__3 = upf_bytes(output_packet__2, fld_bytes(
          output_packet__3))
---  Hypothesis H113 has been replaced by "true".  (It is already present, as 
          H95).
---  Hypothesis H114 has been replaced by "true".  (It is already present, as 
          H96).
---  Hypothesis H117 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H118 has been replaced by "true".  (It is already present, as 
          H36).
---  Hypothesis H119 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H120 has been replaced by "true".  (It is already present, as 
          H4).
---  Hypothesis H125 has been replaced by "true".  (It is already present, as 
          H86).
---  Hypothesis H126 has been replaced by "true".  (It is already present, as 
          H87).
---  Hypothesis H129 has been replaced by "true".  (It is already present, as 
          H115).
---  Hypothesis H130 has been replaced by "true".  (It is already present, as 
          H116).
---  Hypothesis H132 has been replaced by "true".  (It is already present, as 
          H127).
---  Hypothesis H133 has been replaced by "true".  (It is already present, as 
          H128).
---  Hypothesis H134 has been replaced by "true".  (It is already present, as 
          H115).
---  Hypothesis H135 has been replaced by "true".  (It is already present, as 
          H116).
---  Hypothesis H136 has been replaced by "true".  (It is already present, as 
          H121).
---  Hypothesis H137 has been replaced by "true".  (It is already present, as 
          H122).
---  Hypothesis H138 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H139 has been replaced by "true".  (It is already present, as 
          H4).
%%%  Simplified C5 on reading formula in, to give:
     %%%  C5:  true
***  Proved C1:  response_counter + 1 <= num_found -> dns_types__packet_size - (
          12 + dns_types__header_bits div 8) - current_name_length >= 
          integer__base__first and dns_types__packet_size - (12 + 
          dns_types__header_bits div 8) - current_name_length <= 
          integer__base__last
     using hypothesis H131.
***  Proved C2:  response_counter + 1 <= num_found -> dns_types__packet_size - (
          12 + dns_types__header_bits div 8) >= system__min_int and 
          dns_types__packet_size - (12 + dns_types__header_bits div 8) <= 
          system__max_int
     using hypothesis H131.
***  Proved C3:  response_counter + 1 <= num_found -> 12 + 
          dns_types__header_bits div 8 >= system__min_int and 12 + 
          dns_types__header_bits div 8 <= system__max_int
     using hypothesis H131.
***  Proved C4:  response_counter + 1 <= num_found -> dns_types__header_bits 
          div 8 >= system__min_int and dns_types__header_bits div 8 <= 
          system__max_int
     using hypotheses H83 & H84.
***  Proved C5:  true
***  Proved C6:  response_counter + 1 <= num_found -> current_byte + 12 + 
          current_name_length >= integer__first and current_byte + 12 + 
          current_name_length <= integer__last
     using hypothesis H131.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_ns_10.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(domainname, [i___1]) and element(
          domainname, [i___1]) <= character__last)
%%%  Simplified H10 on reading formula in, to give:
     %%%  H10:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H12 on reading formula in, to give:
     %%%  H12:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H22 on reading formula in, to give:
     %%%  H22:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H27 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H28 has been replaced by "true".  (It is already present, as H4)
          .
%%%  Simplified H29 on reading formula in, to give:
     %%%  H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ttlinseconds(fld_inherit(
          element(replies__1, [i___1]))) and fld_ttlinseconds(fld_inherit(
          element(replies__1, [i___1]))) <= unsigned_types__unsigned32__last)
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__classtype__first 
          <= fld_class(fld_inherit(element(replies__1, [i___1]))) and fld_class(
          fld_inherit(element(replies__1, [i___1]))) <= 
          rr_type__classtype__last)
%%%  Simplified H31 on reading formula in, to give:
     %%%  H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> character__first <= element(
          fld_nameserver(element(replies__1, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies__1, [i___1])), [i___2]) <= 
          character__last))
---  Hypothesis H34 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H35 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H36 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H37 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H41 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H42 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H43 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H40).
%%%  Simplified H50 on reading formula in, to give:
     %%%  H50:  rr_type__wirenamelength(fld_nameserver(element(replies__1, [1]))
          ) = rr_type__maxdomainnamelength + 1 or element(fld_nameserver(
          element(replies__1, [1])), [rr_type__wirenamelength(fld_nameserver(
          element(replies__1, [1])))]) = 0 and for_all(q_ : integer, 1 <= q_ 
          and q_ <= rr_type__wirenamelength(fld_nameserver(element(replies__1, [
          1]))) - 1 -> element(fld_nameserver(element(replies__1, [1])), [q_]) 
          <> 0)
---  Hypothesis H51 has been replaced by "true".  (It is already present, as 
          H48).
---  Hypothesis H52 has been replaced by "true".  (It is already present, as 
          H49).
---  Hypothesis H53 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H54 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H40).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H58 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H59 has been replaced by "true".  (It is already present, as 
          H48).
---  Hypothesis H60 has been replaced by "true".  (It is already present, as 
          H49).
%%%  Simplified H65 on reading formula in, to give:
     %%%  H65:  true
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  true
%%%  Simplified C7 on reading formula in, to give:
     %%%  C7:  true
%%%  Simplified C13 on reading formula in, to give:
     %%%  C13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(domainname, [i___1]) and element(
          domainname, [i___1]) <= character__last)
%%%  Simplified C18 on reading formula in, to give:
     %%%  C18:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified C20 on reading formula in, to give:
     %%%  C20:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified C30 on reading formula in, to give:
     %%%  C30:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
***  Proved C1:  true
***  Proved C2:  1 <= num_found__1
     using hypothesis H67.
***  Proved C4:  rr_type__wirenamelength(fld_nameserver(element(replies__1, [1])
          )) <= rr_type__wirestringtypeindex__last
     using hypothesis H49.
***  Proved C6:  start_byte <= dns_types__packet_size
     using hypothesis H1.
***  Proved C7:  true
***  Proved C8:  answer_count <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
     using hypothesis H2.
***  Proved C9:  start_byte < dns_types__packet_size - (12 + 
          dns_types__header_bits div 8) - rr_type__wirenamelength(
          fld_nameserver(element(replies__1, [1])))
     using hypothesis H68.
***  Proved C11:  start_byte >= dns_types__packet_bytes_range__first
     using hypothesis H3.
***  Proved C12:  start_byte <= dns_types__packet_bytes_range__last
     using hypothesis H4.
***  Proved C13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first 
          <= i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(domainname, [i___1]) and element(
          domainname, [i___1]) <= character__last)
     using hypothesis H5.
***  Proved C14:  qname_location >= dns_types__qname_ptr_range__first
     using hypothesis H6.
***  Proved C15:  qname_location <= dns_types__qname_ptr_range__last
     using hypothesis H7.
***  Proved C16:  fld_messageid(fld_header(output_packet)) >= 
          dns_types__unsigned_short__first
     using hypothesis H8.
***  Proved C17:  fld_messageid(fld_header(output_packet)) <= 
          dns_types__unsigned_short__last
     using hypothesis H9.
***  Proved C18:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
     using hypothesis H10.
***  Proved C19:  fld_opcode(fld_header(output_packet)) <= 
          dns_types__opcode_type__last
     using hypothesis H11.
***  Proved C20:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
     using hypothesis H12.
***  Proved C21:  fld_rcode(fld_header(output_packet)) <= 
          dns_types__response_code__last
     using hypothesis H13.
***  Proved C22:  fld_qdcount(fld_header(output_packet)) >= 
          dns_types__unsigned_short__first
     using hypothesis H14.
***  Proved C23:  fld_qdcount(fld_header(output_packet)) <= 
          dns_types__unsigned_short__last
     using hypothesis H15.
***  Proved C24:  fld_ancount(fld_header(output_packet)) >= 
          dns_types__unsigned_short__first
     using hypothesis H16.
***  Proved C25:  fld_ancount(fld_header(output_packet)) <= 
          dns_types__unsigned_short__last
     using hypothesis H17.
***  Proved C26:  fld_nscount(fld_header(output_packet)) >= 
          dns_types__unsigned_short__first
     using hypothesis H18.
***  Proved C27:  fld_nscount(fld_header(output_packet)) <= 
          dns_types__unsigned_short__last
     using hypothesis H19.
***  Proved C28:  fld_arcount(fld_header(output_packet)) >= 
          dns_types__unsigned_short__first
     using hypothesis H20.
***  Proved C29:  fld_arcount(fld_header(output_packet)) <= 
          dns_types__unsigned_short__last
     using hypothesis H21.
***  Proved C30:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
     using hypothesis H22.
***  Proved C31:  answer_count >= dns_types__unsigned_short__first
     using hypothesis H23.
***  Proved C32:  answer_count <= dns_types__unsigned_short__last
     using hypothesis H24.
***  Proved C33:  start_byte <= dns_types__packet_size
     using hypothesis H1.
***  Proved C34:  answer_count <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
     using hypothesis H2.
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of rr_type__maxnumrecords 
          by:
          64.
<S>  New H2:  answer_count <= dns_types__unsigned_short__last - 64
<S>  New C5:  num_found__1 <= 64
+++  Using "A->B, A |- B" on hypotheses H61 & H67 yields a new hypothesis:
     +++  H69:  dns_types__packet_size - (12 + dns_types__header_bits div 8) - 
          rr_type__wirenamelength(fld_nameserver(element(replies__1, [1]))) >= 
          integer__base__first and dns_types__packet_size - (12 + 
          dns_types__header_bits div 8) - rr_type__wirenamelength(
          fld_nameserver(element(replies__1, [1]))) <= integer__base__last
+++  Using "A->B, A |- B" on hypotheses H62 & H67 yields a new hypothesis:
     +++  H70:  dns_types__packet_size - (12 + dns_types__header_bits div 8) >= 
          system__min_int and dns_types__packet_size - (12 + 
          dns_types__header_bits div 8) <= system__max_int
+++  Using "A->B, A |- B" on hypotheses H63 & H67 yields a new hypothesis:
     +++  H71:  12 + dns_types__header_bits div 8 >= system__min_int and 12 + 
          dns_types__header_bits div 8 <= system__max_int
+++  Using "A->B, A |- B" on hypotheses H64 & H67 yields a new hypothesis:
     +++  H72:  dns_types__header_bits div 8 >= system__min_int and 
          dns_types__header_bits div 8 <= system__max_int
+++  Using "A->B, A |- B" on hypotheses H66 & H67 yields a new hypothesis:
     +++  H73:  start_byte >= integer__first and start_byte <= integer__last
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H1:  start_byte <= 8192
<S>  New H61:  1 <= num_found__1 -> 8192 - (12 + dns_types__header_bits div 8) 
          - rr_type__wirenamelength(fld_nameserver(element(replies__1, [1]))) 
          >= integer__base__first and 8192 - (12 + dns_types__header_bits div 8)
           - rr_type__wirenamelength(fld_nameserver(element(replies__1, [1]))) 
          <= integer__base__last
<S>  New H62:  1 <= num_found__1 -> 8192 - (12 + dns_types__header_bits div 8) 
          >= system__min_int and 8192 - (12 + dns_types__header_bits div 8) <= 
          system__max_int
<S>  New H68:  start_byte < 8192 - (12 + dns_types__header_bits div 8) - 
          rr_type__wirenamelength(fld_nameserver(element(replies__1, [1])))
<S>  New H69:  8192 - (12 + dns_types__header_bits div 8) - 
          rr_type__wirenamelength(fld_nameserver(element(replies__1, [1]))) >= 
          integer__base__first and 8192 - (12 + dns_types__header_bits div 8) - 
          rr_type__wirenamelength(fld_nameserver(element(replies__1, [1]))) <= 
          integer__base__last
<S>  New H70:  8192 - (12 + dns_types__header_bits div 8) >= system__min_int 
          and 8192 - (12 + dns_types__header_bits div 8) <= system__max_int
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H63:  1 <= num_found__1 -> 24 >= system__min_int and 24 <= 
          system__max_int
<S>  New H64:  1 <= num_found__1 -> 12 >= system__min_int and 12 <= 
          system__max_int
<S>  New H71:  24 >= system__min_int and 24 <= system__max_int
<S>  New H72:  12 >= system__min_int and 12 <= system__max_int
<S>  New H61:  1 <= num_found__1 -> 8168 - rr_type__wirenamelength(
          fld_nameserver(element(replies__1, [1]))) >= integer__base__first and 
          8168 - rr_type__wirenamelength(fld_nameserver(element(replies__1, [1])
          )) <= integer__base__last
<S>  New H62:  1 <= num_found__1 -> 8168 >= system__min_int and 8168 <= 
          system__max_int
<S>  New H68:  start_byte < 8168 - rr_type__wirenamelength(fld_nameserver(
          element(replies__1, [1])))
<S>  New H69:  8168 - rr_type__wirenamelength(fld_nameserver(element(
          replies__1, [1]))) >= integer__base__first and 8168 - 
          rr_type__wirenamelength(fld_nameserver(element(replies__1, [1]))) <= 
          integer__base__last
<S>  New H70:  8168 >= system__min_int and 8168 <= system__max_int
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of 
          rr_type__maxdomainnamelength by:
          128.
<S>  New H50:  rr_type__wirenamelength(fld_nameserver(element(replies__1, [1])))
           = 129 or element(fld_nameserver(element(replies__1, [1])), [
          rr_type__wirenamelength(fld_nameserver(element(replies__1, [1])))]) = 
          0 and for_all(q_ : integer, 1 <= q_ and q_ <= rr_type__wirenamelength(
          fld_nameserver(element(replies__1, [1]))) - 1 -> element(
          fld_nameserver(element(replies__1, [1])), [q_]) <> 0)
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H63:  1 <= num_found__1 -> 24 <= system__max_int
<S>  New H64:  1 <= num_found__1 -> 12 <= system__max_int
<S>  New H71:  24 <= system__max_int
<S>  New H72:  12 <= system__max_int
<S>  New H62:  1 <= num_found__1 -> 8168 <= system__max_int
<S>  New H70:  8168 <= system__max_int
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H63:  true
<S>  New H64:  true
<S>  New H71:  true
<S>  New H72:  true
<S>  New H62:  true
<S>  New H70:  true
-S-  Applied substitution rule create_respo_rules(8).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H66:  1 <= num_found__1 -> start_byte >= - 2147483648 and start_byte 
          <= integer__last
<S>  New H73:  start_byte >= - 2147483648 and start_byte <= integer__last
-S-  Applied substitution rule create_respo_rules(9).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H66:  1 <= num_found__1 -> start_byte >= - 2147483648 and start_byte 
          <= 2147483647
<S>  New H73:  start_byte >= - 2147483648 and start_byte <= 2147483647
-S-  Applied substitution rule create_respo_rules(10).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H61:  1 <= num_found__1 -> rr_type__wirenamelength(fld_nameserver(
          element(replies__1, [1]))) <= 2147491816 and 8168 - 
          rr_type__wirenamelength(fld_nameserver(element(replies__1, [1]))) <= 
          integer__base__last
<S>  New H69:  rr_type__wirenamelength(fld_nameserver(element(replies__1, [1])))
           <= 2147491816 and 8168 - rr_type__wirenamelength(fld_nameserver(
          element(replies__1, [1]))) <= integer__base__last
-S-  Applied substitution rule create_respo_rules(11).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H61:  1 <= num_found__1 -> rr_type__wirenamelength(fld_nameserver(
          element(replies__1, [1]))) <= 2147491816 and - 2147475479 <= 
          rr_type__wirenamelength(fld_nameserver(element(replies__1, [1])))
<S>  New H69:  rr_type__wirenamelength(fld_nameserver(element(replies__1, [1])))
           <= 2147491816 and - 2147475479 <= rr_type__wirenamelength(
          fld_nameserver(element(replies__1, [1])))
-S-  Applied substitution rule create_respo_rules(13).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H5:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 
          character__last)
<S>  New H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(fld_nameserver(
          element(replies__1, [i___1])), [i___2]) and element(fld_nameserver(
          element(replies__1, [i___1])), [i___2]) <= character__last))
-S-  Applied substitution rule create_respo_rules(14).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H5:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(fld_nameserver(
          element(replies__1, [i___1])), [i___2]) and element(fld_nameserver(
          element(replies__1, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H39:  true
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H40:  true
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H6:  qname_location >= 0
<S>  New H25:  true
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H7:  qname_location <= 16383
<S>  New H26:  true
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H3:  start_byte >= 1
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H4:  start_byte <= 8180
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H8:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H14:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H16:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H18:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H20:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H23:  answer_count >= 0
-S-  Applied substitution rule create_respo_rules(53).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H2:  answer_count <= 65471
<S>  New H9:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H15:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H17:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H19:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H21:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H24:  answer_count <= 65535
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H10:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(59).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H11:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H12:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(85).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H13:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__first by:
          0.
<S>  New H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies__1, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies__1, [i___1]))) <= 
          unsigned_types__unsigned32__last)
-S-  Applied substitution rule create_respo_rules(127).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__last by:
          4294967295.
<S>  New H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies__1, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies__1, [i___1]))) <= 4294967295)
-S-  Applied substitution rule create_respo_rules(132).
     This was achieved by replacing all occurrences of 
          rr_type__classtype__first by:
          rr_type__internet.
<S>  New H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies__1, [i___1]))) and fld_class(
          fld_inherit(element(replies__1, [i___1]))) <= 
          rr_type__classtype__last)
-S-  Applied substitution rule create_respo_rules(133).
     This was achieved by replacing all occurrences of rr_type__classtype__last 
          by:
          rr_type__hs.
<S>  New H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies__1, [i___1]))) and fld_class(
          fld_inherit(element(replies__1, [i___1]))) <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(159).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H48:  rr_type__wirenamelength(fld_nameserver(element(replies__1, [1])))
           >= 1
<S>  New H5:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(domainname, [i___1]
          ) and element(domainname, [i___1]) <= 255)
<S>  New H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= rr_type__wirestringtypeindex__last -> 0 <= 
          element(fld_nameserver(element(replies__1, [i___1])), [i___2]) and 
          element(fld_nameserver(element(replies__1, [i___1])), [i___2]) <= 255)
          )
-S-  Applied substitution rule create_respo_rules(160).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H49:  rr_type__wirenamelength(fld_nameserver(element(replies__1, [1])))
           <= 129
<S>  New H5:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 129 -> 0 <= 
          element(domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= 129 -> 0 <= element(fld_nameserver(element(
          replies__1, [i___1])), [i___2]) and element(fld_nameserver(element(
          replies__1, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(167).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__first by:
          1.
<S>  New H46:  true
<S>  New H29:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies__1, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies__1, [i___1]))) <= 4294967295)
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies__1, [i___1]))) and fld_class(
          fld_inherit(element(replies__1, [i___1]))) <= rr_type__hs)
<S>  New H31:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= 129 -> 0 <= element(fld_nameserver(element(
          replies__1, [i___1])), [i___2]) and element(fld_nameserver(element(
          replies__1, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(168).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New H47:  true
<S>  New H29:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ttlinseconds(fld_inherit(element(replies__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(replies__1, [i___1]))) <= 
          4294967295)
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__internet <= fld_class(fld_inherit(element(replies__1, [i___1]
          ))) and fld_class(fld_inherit(element(replies__1, [i___1]))) <= 
          rr_type__hs)
<S>  New H31:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 129 -> 0 <= element(
          fld_nameserver(element(replies__1, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies__1, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(172).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__first by:
          0.
<S>  New H32:  num_found__1 >= 0
-S-  Applied substitution rule create_respo_rules(173).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__last by:
          64.
<S>  New H33:  num_found__1 <= 64
***  Proved C3:  rr_type__wirenamelength(fld_nameserver(element(replies__1, [1])
          )) >= 1
     using hypothesis H48.
***  Proved C10:  start_byte >= 0
     using hypothesis H3.
***  Proved C5:  num_found__1 <= 64
     using hypothesis H33.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_ns_11.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  answer_count = answer_count~
%%%  Simplified H13 on reading formula in, to give:
     %%%  H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(domainname, [i___1]) and element(
          domainname, [i___1]) <= character__last)
%%%  Simplified H18 on reading formula in, to give:
     %%%  H18:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H20 on reading formula in, to give:
     %%%  H20:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H33 has been replaced by "true".  (It is already present, as H6)
          .
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
%%%  Simplified H46 on reading formula in, to give:
     %%%  H46:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__2), [i___1]
          ) and element(fld_bytes(output_packet__2), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H61 has been replaced by "true".  (It is already present, as 
          H49).
---  Hypothesis H62 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H73 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H74 has been replaced by "true".  (It is already present, as 
          H36).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H75).
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H76).
%%%  Simplified H85 on reading formula in, to give:
     %%%  H85:  true
---  Hypothesis H90 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H91 has been replaced by "true".  (It is already present, as 
          H36).
%%%  Simplified H92 on reading formula in, to give:
     %%%  H92:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ttlinseconds(fld_inherit(
          element(replies, [i___1]))) and fld_ttlinseconds(fld_inherit(element(
          replies, [i___1]))) <= unsigned_types__unsigned32__last)
%%%  Simplified H93 on reading formula in, to give:
     %%%  H93:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__classtype__first 
          <= fld_class(fld_inherit(element(replies, [i___1]))) and fld_class(
          fld_inherit(element(replies, [i___1]))) <= rr_type__classtype__last)
%%%  Simplified H94 on reading formula in, to give:
     %%%  H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> character__first <= element(
          fld_nameserver(element(replies, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies, [i___1])), [i___2]) <= 
          character__last))
---  Hypothesis H98 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H99 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H100 has been replaced by "true".  (It is already present, as 
          H4).
---  Hypothesis H104 has been replaced by "true".  (It is already present, as 
          H4).
---  Hypothesis H106 has been replaced by "true".  (It is already present, as 
          H88).
---  Hypothesis H107 has been replaced by "true".  (It is already present, as 
          H89).
%%%  Simplified H110 on reading formula in, to give:
     %%%  H110:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__3), [i___1]
          ) and element(fld_bytes(output_packet__3), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H111 on reading formula in, to give:
     %%%  H111:  fld_header(output_packet__3) = fld_header(output_packet__2)
%%%  Simplified H112 on reading formula in, to give:
     %%%  H112:  output_packet__3 = upf_bytes(output_packet__2, fld_bytes(
          output_packet__3))
---  Hypothesis H113 has been replaced by "true".  (It is already present, as 
          H95).
---  Hypothesis H114 has been replaced by "true".  (It is already present, as 
          H96).
---  Hypothesis H117 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H118 has been replaced by "true".  (It is already present, as 
          H36).
---  Hypothesis H119 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H120 has been replaced by "true".  (It is already present, as 
          H4).
---  Hypothesis H125 has been replaced by "true".  (It is already present, as 
          H86).
---  Hypothesis H126 has been replaced by "true".  (It is already present, as 
          H87).
---  Hypothesis H129 has been replaced by "true".  (It is already present, as 
          H115).
---  Hypothesis H130 has been replaced by "true".  (It is already present, as 
          H116).
---  Hypothesis H132 has been replaced by "true".  (It is already present, as 
          H92).
---  Hypothesis H133 has been replaced by "true".  (It is already present, as 
          H93).
---  Hypothesis H134 has been replaced by "true".  (It is already present, as 
          H94).
---  Hypothesis H135 has been replaced by "true".  (It is already present, as 
          H115).
---  Hypothesis H136 has been replaced by "true".  (It is already present, as 
          H116).
%%%  Simplified H141 on reading formula in, to give:
     %%%  H141:  rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) = rr_type__maxdomainnamelength + 1 or 
          element(fld_nameserver(element(replies, [response_counter + 1])), [
          rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1])))]) = 0 and for_all(q_ : integer, 1 <= q_ and 
          q_ <= rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) - 1 -> element(fld_nameserver(element(
          replies, [response_counter + 1])), [q_]) <> 0)
---  Hypothesis H142 has been replaced by "true".  (It is already present, as 
          H139).
---  Hypothesis H143 has been replaced by "true".  (It is already present, as 
          H140).
---  Hypothesis H144 has been replaced by "true".  (It is already present, as 
          H127).
---  Hypothesis H145 has been replaced by "true".  (It is already present, as 
          H128).
---  Hypothesis H146 has been replaced by "true".  (It is already present, as 
          H115).
---  Hypothesis H147 has been replaced by "true".  (It is already present, as 
          H116).
---  Hypothesis H148 has been replaced by "true".  (It is already present, as 
          H121).
---  Hypothesis H149 has been replaced by "true".  (It is already present, as 
          H122).
---  Hypothesis H150 has been replaced by "true".  (It is already present, as 
          H139).
---  Hypothesis H151 has been replaced by "true".  (It is already present, as 
          H140).
%%%  Simplified H156 on reading formula in, to give:
     %%%  H156:  true
---  Hypothesis H158 has been replaced by "true".  (It is already present, as 
          H131).
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  response_counter >= 0
%%%  Simplified C7 on reading formula in, to give:
     %%%  C7:  answer_count = answer_count~
%%%  Simplified C13 on reading formula in, to give:
     %%%  C13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(domainname, [i___1]) and element(
          domainname, [i___1]) <= character__last)
%%%  Simplified C18 on reading formula in, to give:
     %%%  C18:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet__3))
%%%  Simplified C20 on reading formula in, to give:
     %%%  C20:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet__3))
%%%  Simplified C30 on reading formula in, to give:
     %%%  C30:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__3), [i___1]
          ) and element(fld_bytes(output_packet__3), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified C34 on reading formula in, to give:
     %%%  C34:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
***  Proved C1:  response_counter >= 0
     using hypothesis H1.
***  Proved C2:  response_counter + 1 <= num_found
     using hypothesis H131.
***  Proved C4:  rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) <= rr_type__wirestringtypeindex__last
     using hypothesis H140.
***  Proved C5:  num_found <= rr_type__maxnumrecords
     using hypothesis H5.
***  Proved C6:  start_byte <= dns_types__packet_size
     using hypothesis H6.
***  Proved C7:  answer_count = answer_count~
     using hypothesis H7.
***  Proved C8:  answer_count <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
     using hypothesis H8.
***  Proved C9:  current_byte + 12 + current_name_length < 
          dns_types__packet_size - (12 + dns_types__header_bits div 8) - 
          rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1])))
     using hypothesis H159.
***  Proved C10:  current_byte + 12 + current_name_length >= 0
     using hypotheses H3 & H10.
***  Proved C11:  start_byte >= dns_types__packet_bytes_range__first
     using hypothesis H11.
***  Proved C12:  start_byte <= dns_types__packet_bytes_range__last
     using hypothesis H12.
***  Proved C13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first 
          <= i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(domainname, [i___1]) and element(
          domainname, [i___1]) <= character__last)
     using hypothesis H13.
***  Proved C14:  qname_location >= dns_types__qname_ptr_range__first
     using hypothesis H14.
***  Proved C15:  qname_location <= dns_types__qname_ptr_range__last
     using hypothesis H15.
***  Proved C30:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__3), [i___1]
          ) and element(fld_bytes(output_packet__3), [i___1]) <= 
          dns_types__byte__last)
     using hypothesis H110.
***  Proved C31:  answer_count >= dns_types__unsigned_short__first
     using hypothesis H31.
***  Proved C32:  answer_count <= dns_types__unsigned_short__last
     using hypothesis H32.
***  Proved C33:  start_byte <= dns_types__packet_size
     using hypothesis H6.
***  Proved C34:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
     using hypothesis H34.
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H16:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H22:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H24:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H26:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H28:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H31:  answer_count >= 0
<S>  New C16:  fld_messageid(fld_header(output_packet__3)) >= 0
<S>  New C22:  fld_qdcount(fld_header(output_packet__3)) >= 0
<S>  New C24:  fld_ancount(fld_header(output_packet__3)) >= 0
<S>  New C26:  fld_nscount(fld_header(output_packet__3)) >= 0
<S>  New C28:  fld_arcount(fld_header(output_packet__3)) >= 0
-S-  Applied substitution rule create_respo_rules(53).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H8:  answer_count <= 65535 - rr_type__maxnumrecords
<S>  New H17:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H23:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H25:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H27:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H29:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H32:  answer_count <= 65535
<S>  New H34:  answer_count~ <= 65535 - rr_type__maxnumrecords
<S>  New C17:  fld_messageid(fld_header(output_packet__3)) <= 65535
<S>  New C23:  fld_qdcount(fld_header(output_packet__3)) <= 65535
<S>  New C25:  fld_ancount(fld_header(output_packet__3)) <= 65535
<S>  New C27:  fld_nscount(fld_header(output_packet__3)) <= 65535
<S>  New C29:  fld_arcount(fld_header(output_packet__3)) <= 65535
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H18:  dns_types__query <= fld_opcode(fld_header(output_packet))
<S>  New C18:  dns_types__query <= fld_opcode(fld_header(output_packet__3))
-S-  Applied substitution rule create_respo_rules(59).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H19:  fld_opcode(fld_header(output_packet)) <= dns_types__status
<S>  New C19:  fld_opcode(fld_header(output_packet__3)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H20:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
<S>  New C20:  dns_types__no_error <= fld_rcode(fld_header(output_packet__3))
-S-  Applied substitution rule create_respo_rules(85).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H21:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
<S>  New C21:  fld_rcode(fld_header(output_packet__3)) <= dns_types__refused
+++  Using "A->B, A |- B" on hypotheses H152 & H131 yields a new hypothesis:
     +++  H160:  dns_types__packet_size - (12 + dns_types__header_bits div 8) - 
          rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) >= integer__base__first and 
          dns_types__packet_size - (12 + dns_types__header_bits div 8) - 
          rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) <= integer__base__last
+++  Using "A->B, A |- B" on hypotheses H153 & H131 yields a new hypothesis:
     +++  H161:  dns_types__packet_size - (12 + dns_types__header_bits div 8) 
          >= system__min_int and dns_types__packet_size - (12 + 
          dns_types__header_bits div 8) <= system__max_int
+++  Using "A->B, A |- B" on hypotheses H154 & H131 yields a new hypothesis:
     +++  H162:  12 + dns_types__header_bits div 8 >= system__min_int and 12 + 
          dns_types__header_bits div 8 <= system__max_int
+++  Using "A->B, A |- B" on hypotheses H155 & H131 yields a new hypothesis:
     +++  H163:  dns_types__header_bits div 8 >= system__min_int and 
          dns_types__header_bits div 8 <= system__max_int
+++  Using "A->B, A |- B" on hypotheses H157 & H131 yields a new hypothesis:
     +++  H164:  current_byte + 12 + current_name_length >= integer__first and 
          current_byte + 12 + current_name_length <= integer__last
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H6:  start_byte <= 8192
<S>  New H9:  current_byte < 8192 - (12 + dns_types__header_bits div 8) - 
          current_name_length
<S>  New H152:  response_counter + 1 <= num_found -> 8192 - (12 + 
          dns_types__header_bits div 8) - rr_type__wirenamelength(
          fld_nameserver(element(replies, [response_counter + 1]))) >= 
          integer__base__first and 8192 - (12 + dns_types__header_bits div 8) - 
          rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) <= integer__base__last
<S>  New H153:  response_counter + 1 <= num_found -> 8192 - (12 + 
          dns_types__header_bits div 8) >= system__min_int and 8192 - (12 + 
          dns_types__header_bits div 8) <= system__max_int
<S>  New H159:  current_byte + 12 + current_name_length < 8192 - (12 + 
          dns_types__header_bits div 8) - rr_type__wirenamelength(
          fld_nameserver(element(replies, [response_counter + 1])))
<S>  New H160:  8192 - (12 + dns_types__header_bits div 8) - 
          rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) >= integer__base__first and 8192 - (12 + 
          dns_types__header_bits div 8) - rr_type__wirenamelength(
          fld_nameserver(element(replies, [response_counter + 1]))) <= 
          integer__base__last
<S>  New H161:  8192 - (12 + dns_types__header_bits div 8) >= system__min_int 
          and 8192 - (12 + dns_types__header_bits div 8) <= system__max_int
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H75:  current_byte + 12 + 12 >= dns_types__qname_ptr_range__first
<S>  New H76:  current_byte + 12 + 12 <= dns_types__qname_ptr_range__last
<S>  New H79:  current_byte + 12 + 12 >= 
          dns_types__packet_bytes_range__base__first
<S>  New H80:  current_byte + 12 + 12 <= 
          dns_types__packet_bytes_range__base__last
<S>  New H81:  12 >= dns_types__packet_bytes_range__first
<S>  New H82:  12 <= dns_types__packet_bytes_range__last
<S>  New H83:  12 >= system__min_int
<S>  New H84:  12 <= system__max_int
<S>  New H154:  response_counter + 1 <= num_found -> 24 >= system__min_int and 
          24 <= system__max_int
<S>  New H155:  response_counter + 1 <= num_found -> 12 >= system__min_int and 
          12 <= system__max_int
<S>  New H162:  24 >= system__min_int and 24 <= system__max_int
<S>  New H163:  12 >= system__min_int and 12 <= system__max_int
<S>  New H9:  current_byte < 8168 - current_name_length
<S>  New H152:  response_counter + 1 <= num_found -> 8168 - 
          rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) >= integer__base__first and 8168 - 
          rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) <= integer__base__last
<S>  New H153:  response_counter + 1 <= num_found -> 8168 >= system__min_int 
          and 8168 <= system__max_int
<S>  New H159:  current_byte + 12 + current_name_length < 8168 - 
          rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1])))
<S>  New H160:  8168 - rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) >= integer__base__first and 8168 - 
          rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) <= integer__base__last
<S>  New H161:  8168 >= system__min_int and 8168 <= system__max_int
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of 
          rr_type__maxdomainnamelength by:
          128.
<S>  New H141:  rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) = 129 or element(fld_nameserver(element(
          replies, [response_counter + 1])), [rr_type__wirenamelength(
          fld_nameserver(element(replies, [response_counter + 1])))]) = 0 and 
          for_all(q_ : integer, 1 <= q_ and q_ <= rr_type__wirenamelength(
          fld_nameserver(element(replies, [response_counter + 1]))) - 1 -> 
          element(fld_nameserver(element(replies, [response_counter + 1])), [q_]
          ) <> 0)
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of rr_type__maxnumrecords 
          by:
          64.
<S>  New H5:  num_found <= 64
<S>  New H8:  answer_count <= 65471
<S>  New H34:  answer_count~ <= 65471
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H83:  true
<S>  New H154:  response_counter + 1 <= num_found -> 24 <= system__max_int
<S>  New H155:  response_counter + 1 <= num_found -> 12 <= system__max_int
<S>  New H162:  24 <= system__max_int
<S>  New H163:  12 <= system__max_int
<S>  New H153:  response_counter + 1 <= num_found -> 8168 <= system__max_int
<S>  New H161:  8168 <= system__max_int
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H84:  true
<S>  New H154:  true
<S>  New H155:  true
<S>  New H162:  true
<S>  New H163:  true
<S>  New H153:  true
<S>  New H161:  true
-S-  Applied substitution rule create_respo_rules(8).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H157:  response_counter + 1 <= num_found -> current_byte + 12 + 
          current_name_length >= - 2147483648 and current_byte + 12 + 
          current_name_length <= integer__last
<S>  New H164:  current_byte + 12 + current_name_length >= - 2147483648 and 
          current_byte + 12 + current_name_length <= integer__last
-S-  Applied substitution rule create_respo_rules(9).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H157:  response_counter + 1 <= num_found -> current_byte + 12 + 
          current_name_length >= - 2147483648 and current_byte + 12 + 
          current_name_length <= 2147483647
<S>  New H164:  current_byte + 12 + current_name_length >= - 2147483648 and 
          current_byte + 12 + current_name_length <= 2147483647
-S-  Applied substitution rule create_respo_rules(10).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H152:  response_counter + 1 <= num_found -> rr_type__wirenamelength(
          fld_nameserver(element(replies, [response_counter + 1]))) <= 
          2147491816 and 8168 - rr_type__wirenamelength(fld_nameserver(element(
          replies, [response_counter + 1]))) <= integer__base__last
<S>  New H160:  rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) <= 2147491816 and 8168 - 
          rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) <= integer__base__last
-S-  Applied substitution rule create_respo_rules(11).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H152:  response_counter + 1 <= num_found -> rr_type__wirenamelength(
          fld_nameserver(element(replies, [response_counter + 1]))) <= 
          2147491816 and - 2147475479 <= rr_type__wirenamelength(fld_nameserver(
          element(replies, [response_counter + 1])))
<S>  New H160:  rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) <= 2147491816 and - 2147475479 <= 
          rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1])))
-S-  Applied substitution rule create_respo_rules(13).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 
          character__last)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(fld_nameserver(
          element(replies, [i___1])), [i___2]) and element(fld_nameserver(
          element(replies, [i___1])), [i___2]) <= character__last))
-S-  Applied substitution rule create_respo_rules(14).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(fld_nameserver(
          element(replies, [i___1])), [i___2]) and element(fld_nameserver(
          element(replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H95:  response_counter >= 0
<S>  New H115:  response_counter >= - 1
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H96:  response_counter <= 2147483647
<S>  New H116:  response_counter <= 2147483646
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H14:  qname_location >= 0
<S>  New H75:  current_byte >= - 24
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H15:  qname_location <= 16383
<S>  New H76:  current_byte <= 16359
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H11:  start_byte >= 1
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H35:  current_byte >= 1
<S>  New H39:  current_byte >= 0
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= dns_types__byte__last)
<S>  New H51:  current_byte >= - 2
<S>  New H57:  current_byte >= - 3
<S>  New H63:  current_byte >= - 4
<S>  New H69:  current_byte >= - 5
<S>  New H101:  current_byte >= - 6
<S>  New H110:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet__3), [i___1]) and element(fld_bytes(
          output_packet__3), [i___1]) <= dns_types__byte__last)
<S>  New H121:  current_byte + 12 + current_name_length >= 1
<S>  New H123:  current_name_length >= 1
<S>  New H81:  true
-S-  Applied substitution rule create_respo_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H12:  start_byte <= 8180
<S>  New H36:  current_byte <= 8180
<S>  New H40:  current_byte <= 8179
<S>  New H41:  current_byte <= 8178
<S>  New H52:  current_byte <= 8177
<S>  New H58:  current_byte <= 8176
<S>  New H64:  current_byte <= 8175
<S>  New H70:  current_byte <= 8174
<S>  New H102:  current_byte <= 8173
<S>  New H105:  current_byte + 7 <= 8174 - current_name_length
<S>  New H122:  current_byte + 12 + current_name_length <= 8180
<S>  New H124:  current_name_length <= 8180
<S>  New H82:  true
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__2), [i___1]
          ) and element(fld_bytes(output_packet__2), [i___1]) <= 
          dns_types__byte__last)
<S>  New H110:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__3), [i___1]
          ) and element(fld_bytes(output_packet__3), [i___1]) <= 
          dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H44:  current_byte >= - 2147483649
<S>  New H53:  current_byte >= - 2147483651
<S>  New H59:  current_byte >= - 2147483652
<S>  New H65:  current_byte >= - 2147483653
<S>  New H71:  current_byte >= - 2147483654
<S>  New H86:  current_byte >= - 2147483660
<S>  New H108:  current_byte >= - 2147483655
<S>  New H79:  current_byte >= - 2147483672
-S-  Applied substitution rule create_respo_rules(42).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H45:  current_byte <= 2147483646
<S>  New H54:  current_byte <= 2147483644
<S>  New H60:  current_byte <= 2147483643
<S>  New H66:  current_byte <= 2147483642
<S>  New H72:  current_byte <= 2147483641
<S>  New H87:  current_byte <= 2147483635
<S>  New H109:  current_byte <= 2147483640
<S>  New H80:  current_byte <= 2147483623
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H49:  true
<S>  New H55:  true
<S>  New H67:  true
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= dns_types__byte__last)
<S>  New H110:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__3), [i___1]) and element(fld_bytes(
          output_packet__3), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H50:  true
<S>  New H56:  true
<S>  New H68:  true
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= 255)
<S>  New H110:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__3), [i___1]) and element(fld_bytes(
          output_packet__3), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(120).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__first by:
          0.
<S>  New H37:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          >= 0
<S>  New H42:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(121).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__last by:
          65535.
<S>  New H38:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          <= 65535
<S>  New H43:  qname_location <= 65535
-S-  Applied substitution rule create_respo_rules(124).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__modulus by:
          65536.
<S>  New H37:  (qname_location + 49152) mod 65536 >= 0
<S>  New H38:  (qname_location + 49152) mod 65536 <= 65535
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__first by:
          0.
<S>  New H92:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) <= 
          unsigned_types__unsigned32__last)
-S-  Applied substitution rule create_respo_rules(127).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__last by:
          4294967295.
<S>  New H92:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) <= 4294967295)
-S-  Applied substitution rule create_respo_rules(132).
     This was achieved by replacing all occurrences of 
          rr_type__classtype__first by:
          rr_type__internet.
<S>  New H93:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies, [i___1]))) and fld_class(
          fld_inherit(element(replies, [i___1]))) <= rr_type__classtype__last)
-S-  Applied substitution rule create_respo_rules(133).
     This was achieved by replacing all occurrences of rr_type__classtype__last 
          by:
          rr_type__hs.
<S>  New H93:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies, [i___1]))) and fld_class(
          fld_inherit(element(replies, [i___1]))) <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(159).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H97:  current_name_length >= 1
<S>  New H139:  rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) >= 1
<S>  New H13:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(domainname, [i___1]
          ) and element(domainname, [i___1]) <= 255)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= rr_type__wirestringtypeindex__last -> 0 <= 
          element(fld_nameserver(element(replies, [i___1])), [i___2]) and 
          element(fld_nameserver(element(replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(160).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H4:  current_name_length <= 129
<S>  New H140:  rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) <= 129
<S>  New H13:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 129 -> 0 <= 
          element(domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= 129 -> 0 <= element(fld_nameserver(element(
          replies, [i___1])), [i___2]) and element(fld_nameserver(element(
          replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(167).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__first by:
          1.
<S>  New H88:  response_counter >= 1
<S>  New H137:  response_counter >= 0
<S>  New H92:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) <= 4294967295)
<S>  New H93:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies, [i___1]))) and fld_class(
          fld_inherit(element(replies, [i___1]))) <= rr_type__hs)
<S>  New H94:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= 129 -> 0 <= element(fld_nameserver(element(
          replies, [i___1])), [i___2]) and element(fld_nameserver(element(
          replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(168).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New H89:  response_counter <= 64
<S>  New H138:  response_counter <= 63
<S>  New H92:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ttlinseconds(fld_inherit(element(replies, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(replies, [i___1]))) <= 
          4294967295)
<S>  New H93:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__internet <= fld_class(fld_inherit(element(replies, [i___1])))
           and fld_class(fld_inherit(element(replies, [i___1]))) <= rr_type__hs)
<S>  New H94:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 129 -> 0 <= element(
          fld_nameserver(element(replies, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(172).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__first by:
          0.
<S>  New H127:  num_found >= 0
-S-  Applied substitution rule create_respo_rules(173).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__last by:
          64.
<S>  New H128:  num_found <= 64
***  Proved C3:  rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) >= 1
     using hypothesis H139.
---  Eliminated hypothesis H33 (true-hypothesis).
---  Eliminated hypothesis H61 (true-hypothesis).
---  Eliminated hypothesis H62 (true-hypothesis).
---  Eliminated hypothesis H73 (true-hypothesis).
---  Eliminated hypothesis H74 (true-hypothesis).
---  Eliminated hypothesis H77 (true-hypothesis).
---  Eliminated hypothesis H78 (true-hypothesis).
---  Eliminated hypothesis H85 (true-hypothesis).
---  Eliminated hypothesis H90 (true-hypothesis).
---  Eliminated hypothesis H91 (true-hypothesis).
---  Eliminated hypothesis H98 (true-hypothesis).
---  Eliminated hypothesis H99 (true-hypothesis).
---  Eliminated hypothesis H100 (true-hypothesis).
---  Eliminated hypothesis H104 (true-hypothesis).
---  Eliminated hypothesis H106 (true-hypothesis).
---  Eliminated hypothesis H107 (true-hypothesis).
---  Eliminated hypothesis H113 (true-hypothesis).
---  Eliminated hypothesis H114 (true-hypothesis).
---  Eliminated hypothesis H117 (true-hypothesis).
---  Eliminated hypothesis H118 (true-hypothesis).
---  Eliminated hypothesis H119 (true-hypothesis).
---  Eliminated hypothesis H120 (true-hypothesis).
---  Eliminated hypothesis H125 (true-hypothesis).
---  Eliminated hypothesis H126 (true-hypothesis).
---  Eliminated hypothesis H129 (true-hypothesis).
---  Eliminated hypothesis H130 (true-hypothesis).
---  Eliminated hypothesis H132 (true-hypothesis).
---  Eliminated hypothesis H133 (true-hypothesis).
---  Eliminated hypothesis H134 (true-hypothesis).
---  Eliminated hypothesis H135 (true-hypothesis).
---  Eliminated hypothesis H136 (true-hypothesis).
---  Eliminated hypothesis H142 (true-hypothesis).
---  Eliminated hypothesis H143 (true-hypothesis).
---  Eliminated hypothesis H144 (true-hypothesis).
---  Eliminated hypothesis H145 (true-hypothesis).
---  Eliminated hypothesis H146 (true-hypothesis).
---  Eliminated hypothesis H147 (true-hypothesis).
---  Eliminated hypothesis H148 (true-hypothesis).
---  Eliminated hypothesis H149 (true-hypothesis).
---  Eliminated hypothesis H150 (true-hypothesis).
---  Eliminated hypothesis H151 (true-hypothesis).
---  Eliminated hypothesis H156 (true-hypothesis).
---  Eliminated hypothesis H158 (true-hypothesis).
---  Eliminated hypothesis H83 (true-hypothesis).
---  Eliminated hypothesis H84 (true-hypothesis).
---  Eliminated hypothesis H154 (true-hypothesis).
---  Eliminated hypothesis H155 (true-hypothesis).
---  Eliminated hypothesis H162 (true-hypothesis).
---  Eliminated hypothesis H163 (true-hypothesis).
---  Eliminated hypothesis H153 (true-hypothesis).
---  Eliminated hypothesis H161 (true-hypothesis).
---  Eliminated hypothesis H81 (true-hypothesis).
---  Eliminated hypothesis H82 (true-hypothesis).
---  Eliminated hypothesis H49 (true-hypothesis).
---  Eliminated hypothesis H55 (true-hypothesis).
---  Eliminated hypothesis H67 (true-hypothesis).
---  Eliminated hypothesis H50 (true-hypothesis).
---  Eliminated hypothesis H56 (true-hypothesis).
---  Eliminated hypothesis H68 (true-hypothesis).
---  Eliminated hypothesis H88 (duplicate of H1).
---  Eliminated hypothesis H123 (duplicate of H3).
---  Eliminated hypothesis H97 (duplicate of H3).
---  Eliminated hypothesis H39 (duplicate of H10).
---  Eliminated hypothesis H128 (duplicate of H5).
---  Eliminated hypothesis H137 (duplicate of H95).
---  Eliminated hypothesis H42 (duplicate of H14).
---  Eliminated hypothesis H105 (duplicate of H9).
>>>  Using "A->B, A |- B" on H157, given H131, we simplify the former to:
     >>>  H157:  current_byte + 12 + current_name_length >= - 2147483648 and 
          current_byte + 12 + current_name_length <= 2147483647
>>>  Using "A->B, A |- B" on H152, given H131, we simplify the former to:
     >>>  H152:  rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) <= 2147491816 and - 2147475479 <= 
          rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1])))
---  Eliminated hypothesis H2 (redundant, given H131).
---  Eliminated hypothesis H6 (redundant, given H12).
---  Eliminated hypothesis H10 (redundant, given H35).
---  Eliminated hypothesis H32 (redundant, given H8).
---  Eliminated hypothesis H36 (redundant, given H40).
---  Eliminated hypothesis H40 (redundant, given H41).
---  Eliminated hypothesis H41 (redundant, given H52).
---  Eliminated hypothesis H43 (redundant, given H15).
---  Eliminated hypothesis H44 (redundant, given H35).
---  Eliminated hypothesis H45 (redundant, given H52).
---  Eliminated hypothesis H51 (redundant, given H35).
---  Eliminated hypothesis H52 (redundant, given H58).
---  Eliminated hypothesis H53 (redundant, given H35).
---  Eliminated hypothesis H54 (redundant, given H58).
---  Eliminated hypothesis H57 (redundant, given H35).
---  Eliminated hypothesis H58 (redundant, given H64).
---  Eliminated hypothesis H59 (redundant, given H35).
---  Eliminated hypothesis H60 (redundant, given H64).
---  Eliminated hypothesis H63 (redundant, given H35).
---  Eliminated hypothesis H64 (redundant, given H70).
---  Eliminated hypothesis H65 (redundant, given H35).
---  Eliminated hypothesis H66 (redundant, given H70).
---  Eliminated hypothesis H69 (redundant, given H35).
---  Eliminated hypothesis H70 (redundant, given H102).
---  Eliminated hypothesis H71 (redundant, given H35).
---  Eliminated hypothesis H72 (redundant, given H76).
---  Eliminated hypothesis H75 (redundant, given H35).
---  Eliminated hypothesis H76 (redundant, given H102).
---  Eliminated hypothesis H79 (redundant, given H35).
---  Eliminated hypothesis H80 (redundant, given H102).
---  Eliminated hypothesis H86 (redundant, given H35).
---  Eliminated hypothesis H87 (redundant, given H102).
---  Eliminated hypothesis H89 (redundant, given H138).
---  Eliminated hypothesis H95 (redundant, given H1).
---  Eliminated hypothesis H96 (redundant, given H116).
---  Eliminated hypothesis H101 (redundant, given H35).
---  Eliminated hypothesis H102 (redundant, given H3 & H9).
---  Eliminated hypothesis H103 (redundant, given H3).
---  Eliminated hypothesis H108 (redundant, given H35).
---  Eliminated hypothesis H109 (redundant, given H3 & H9).
---  Eliminated hypothesis H115 (redundant, given H1).
---  Eliminated hypothesis H116 (redundant, given H138).
---  Eliminated hypothesis H122 (redundant, given H9).
---  Eliminated hypothesis H124 (redundant, given H4).
---  Eliminated hypothesis H127 (redundant, given H1 & H131).
-S-  Eliminated hypothesis H7.
     This was achieved by replacing all occurrences of answer_count by:
          answer_count~.
<S>  New H31:  answer_count~ >= 0
<S>  New H8:  answer_count~ <= 65471
-S-  Substituted hypothesis H47.
     This was achieved by replacing all occurrences of fld_header(
          output_packet__2) by:
          fld_header(output_packet).
-S-  Substituted hypothesis H111.
     This was achieved by replacing all occurrences of fld_header(
          output_packet__3) by:
          fld_header(output_packet).
***  Proved C16:  fld_messageid(fld_header(output_packet)) >= 0
     using hypothesis H16.
***  Proved C22:  fld_qdcount(fld_header(output_packet)) >= 0
     using hypothesis H22.
***  Proved C24:  fld_ancount(fld_header(output_packet)) >= 0
     using hypothesis H24.
***  Proved C26:  fld_nscount(fld_header(output_packet)) >= 0
     using hypothesis H26.
***  Proved C28:  fld_arcount(fld_header(output_packet)) >= 0
     using hypothesis H28.
***  Proved C17:  fld_messageid(fld_header(output_packet)) <= 65535
     using hypothesis H17.
***  Proved C23:  fld_qdcount(fld_header(output_packet)) <= 65535
     using hypothesis H23.
***  Proved C25:  fld_ancount(fld_header(output_packet)) <= 65535
     using hypothesis H25.
***  Proved C27:  fld_nscount(fld_header(output_packet)) <= 65535
     using hypothesis H27.
***  Proved C29:  fld_arcount(fld_header(output_packet)) <= 65535
     using hypothesis H29.
***  Proved C18:  dns_types__query <= fld_opcode(fld_header(output_packet))
     using hypothesis H18.
***  Proved C19:  fld_opcode(fld_header(output_packet)) <= dns_types__status
     using hypothesis H19.
***  Proved C20:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
     using hypothesis H20.
***  Proved C21:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
     using hypothesis H21.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_ns_12.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  answer_count = answer_count~
%%%  Simplified H13 on reading formula in, to give:
     %%%  H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(domainname, [i___1]) and element(
          domainname, [i___1]) <= character__last)
%%%  Simplified H18 on reading formula in, to give:
     %%%  H18:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H20 on reading formula in, to give:
     %%%  H20:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H33 has been replaced by "true".  (It is already present, as H6)
          .
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
%%%  Simplified H46 on reading formula in, to give:
     %%%  H46:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__2), [i___1]
          ) and element(fld_bytes(output_packet__2), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H61 has been replaced by "true".  (It is already present, as 
          H49).
---  Hypothesis H62 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H73 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H74 has been replaced by "true".  (It is already present, as 
          H36).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H75).
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H76).
%%%  Simplified H85 on reading formula in, to give:
     %%%  H85:  true
---  Hypothesis H90 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H91 has been replaced by "true".  (It is already present, as 
          H36).
%%%  Simplified H92 on reading formula in, to give:
     %%%  H92:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ttlinseconds(fld_inherit(
          element(replies, [i___1]))) and fld_ttlinseconds(fld_inherit(element(
          replies, [i___1]))) <= unsigned_types__unsigned32__last)
%%%  Simplified H93 on reading formula in, to give:
     %%%  H93:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__classtype__first 
          <= fld_class(fld_inherit(element(replies, [i___1]))) and fld_class(
          fld_inherit(element(replies, [i___1]))) <= rr_type__classtype__last)
%%%  Simplified H94 on reading formula in, to give:
     %%%  H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> character__first <= element(
          fld_nameserver(element(replies, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies, [i___1])), [i___2]) <= 
          character__last))
---  Hypothesis H98 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H99 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H100 has been replaced by "true".  (It is already present, as 
          H4).
---  Hypothesis H104 has been replaced by "true".  (It is already present, as 
          H4).
---  Hypothesis H106 has been replaced by "true".  (It is already present, as 
          H88).
---  Hypothesis H107 has been replaced by "true".  (It is already present, as 
          H89).
%%%  Simplified H110 on reading formula in, to give:
     %%%  H110:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__3), [i___1]
          ) and element(fld_bytes(output_packet__3), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H111 on reading formula in, to give:
     %%%  H111:  fld_header(output_packet__3) = fld_header(output_packet__2)
%%%  Simplified H112 on reading formula in, to give:
     %%%  H112:  output_packet__3 = upf_bytes(output_packet__2, fld_bytes(
          output_packet__3))
---  Hypothesis H113 has been replaced by "true".  (It is already present, as 
          H95).
---  Hypothesis H114 has been replaced by "true".  (It is already present, as 
          H96).
---  Hypothesis H117 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H118 has been replaced by "true".  (It is already present, as 
          H36).
---  Hypothesis H119 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H120 has been replaced by "true".  (It is already present, as 
          H4).
---  Hypothesis H125 has been replaced by "true".  (It is already present, as 
          H86).
---  Hypothesis H126 has been replaced by "true".  (It is already present, as 
          H87).
---  Hypothesis H129 has been replaced by "true".  (It is already present, as 
          H115).
---  Hypothesis H130 has been replaced by "true".  (It is already present, as 
          H116).
---  Hypothesis H132 has been replaced by "true".  (It is already present, as 
          H127).
---  Hypothesis H133 has been replaced by "true".  (It is already present, as 
          H128).
---  Hypothesis H134 has been replaced by "true".  (It is already present, as 
          H115).
---  Hypothesis H135 has been replaced by "true".  (It is already present, as 
          H116).
---  Hypothesis H136 has been replaced by "true".  (It is already present, as 
          H121).
---  Hypothesis H137 has been replaced by "true".  (It is already present, as 
          H122).
---  Hypothesis H138 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H139 has been replaced by "true".  (It is already present, as 
          H4).
%%%  Simplified H144 on reading formula in, to give:
     %%%  H144:  true
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  response_counter >= 0
%%%  Simplified C7 on reading formula in, to give:
     %%%  C7:  answer_count = answer_count~
%%%  Simplified C13 on reading formula in, to give:
     %%%  C13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(domainname, [i___1]) and element(
          domainname, [i___1]) <= character__last)
%%%  Simplified C18 on reading formula in, to give:
     %%%  C18:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet__3))
%%%  Simplified C20 on reading formula in, to give:
     %%%  C20:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet__3))
%%%  Simplified C30 on reading formula in, to give:
     %%%  C30:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__3), [i___1]
          ) and element(fld_bytes(output_packet__3), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified C34 on reading formula in, to give:
     %%%  C34:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
***  Proved C1:  response_counter >= 0
     using hypothesis H1.
***  Proved C2:  response_counter + 1 <= num_found
     using hypothesis H146.
***  Proved C3:  current_name_length >= 1
     using hypothesis H3.
***  Proved C4:  current_name_length <= rr_type__wirestringtypeindex__last
     using hypothesis H4.
***  Proved C5:  num_found <= rr_type__maxnumrecords
     using hypothesis H5.
***  Proved C6:  start_byte <= dns_types__packet_size
     using hypothesis H6.
***  Proved C7:  answer_count = answer_count~
     using hypothesis H7.
***  Proved C8:  answer_count <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
     using hypothesis H8.
***  Proved C9:  current_byte + 12 + current_name_length < 
          dns_types__packet_size - (12 + dns_types__header_bits div 8) - 
          current_name_length
     using hypothesis H147.
***  Proved C10:  current_byte + 12 + current_name_length >= 0
     using hypotheses H3 & H10.
***  Proved C11:  start_byte >= dns_types__packet_bytes_range__first
     using hypothesis H11.
***  Proved C12:  start_byte <= dns_types__packet_bytes_range__last
     using hypothesis H12.
***  Proved C13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first 
          <= i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(domainname, [i___1]) and element(
          domainname, [i___1]) <= character__last)
     using hypothesis H13.
***  Proved C14:  qname_location >= dns_types__qname_ptr_range__first
     using hypothesis H14.
***  Proved C15:  qname_location <= dns_types__qname_ptr_range__last
     using hypothesis H15.
***  Proved C30:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__3), [i___1]
          ) and element(fld_bytes(output_packet__3), [i___1]) <= 
          dns_types__byte__last)
     using hypothesis H110.
***  Proved C31:  answer_count >= dns_types__unsigned_short__first
     using hypothesis H31.
***  Proved C32:  answer_count <= dns_types__unsigned_short__last
     using hypothesis H32.
***  Proved C33:  start_byte <= dns_types__packet_size
     using hypothesis H6.
***  Proved C34:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
     using hypothesis H34.
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H16:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H22:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H24:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H26:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H28:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H31:  answer_count >= 0
<S>  New C16:  fld_messageid(fld_header(output_packet__3)) >= 0
<S>  New C22:  fld_qdcount(fld_header(output_packet__3)) >= 0
<S>  New C24:  fld_ancount(fld_header(output_packet__3)) >= 0
<S>  New C26:  fld_nscount(fld_header(output_packet__3)) >= 0
<S>  New C28:  fld_arcount(fld_header(output_packet__3)) >= 0
-S-  Applied substitution rule create_respo_rules(53).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H8:  answer_count <= 65535 - rr_type__maxnumrecords
<S>  New H17:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H23:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H25:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H27:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H29:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H32:  answer_count <= 65535
<S>  New H34:  answer_count~ <= 65535 - rr_type__maxnumrecords
<S>  New C17:  fld_messageid(fld_header(output_packet__3)) <= 65535
<S>  New C23:  fld_qdcount(fld_header(output_packet__3)) <= 65535
<S>  New C25:  fld_ancount(fld_header(output_packet__3)) <= 65535
<S>  New C27:  fld_nscount(fld_header(output_packet__3)) <= 65535
<S>  New C29:  fld_arcount(fld_header(output_packet__3)) <= 65535
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H18:  dns_types__query <= fld_opcode(fld_header(output_packet))
<S>  New C18:  dns_types__query <= fld_opcode(fld_header(output_packet__3))
-S-  Applied substitution rule create_respo_rules(59).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H19:  fld_opcode(fld_header(output_packet)) <= dns_types__status
<S>  New C19:  fld_opcode(fld_header(output_packet__3)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H20:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
<S>  New C20:  dns_types__no_error <= fld_rcode(fld_header(output_packet__3))
-S-  Applied substitution rule create_respo_rules(85).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H21:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
<S>  New C21:  fld_rcode(fld_header(output_packet__3)) <= dns_types__refused
>>>  Restructured hypothesis H131 into:
     >>>  H131:  num_found < response_counter + 1
+++  Using "A->B, A |- B" on hypotheses H140 & H146 yields a new hypothesis:
     +++  H148:  dns_types__packet_size - (12 + dns_types__header_bits div 8) - 
          current_name_length >= integer__base__first and 
          dns_types__packet_size - (12 + dns_types__header_bits div 8) - 
          current_name_length <= integer__base__last
+++  Using "A->B, A |- B" on hypotheses H141 & H146 yields a new hypothesis:
     +++  H149:  dns_types__packet_size - (12 + dns_types__header_bits div 8) 
          >= system__min_int and dns_types__packet_size - (12 + 
          dns_types__header_bits div 8) <= system__max_int
+++  Using "A->B, A |- B" on hypotheses H142 & H146 yields a new hypothesis:
     +++  H150:  12 + dns_types__header_bits div 8 >= system__min_int and 12 + 
          dns_types__header_bits div 8 <= system__max_int
+++  Using "A->B, A |- B" on hypotheses H143 & H146 yields a new hypothesis:
     +++  H151:  dns_types__header_bits div 8 >= system__min_int and 
          dns_types__header_bits div 8 <= system__max_int
+++  Using "A->B, A |- B" on hypotheses H145 & H146 yields a new hypothesis:
     +++  H152:  current_byte + 12 + current_name_length >= integer__first and 
          current_byte + 12 + current_name_length <= integer__last
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H6:  start_byte <= 8192
<S>  New H9:  current_byte < 8192 - (12 + dns_types__header_bits div 8) - 
          current_name_length
<S>  New H140:  response_counter + 1 <= num_found -> 8192 - (12 + 
          dns_types__header_bits div 8) - current_name_length >= 
          integer__base__first and 8192 - (12 + dns_types__header_bits div 8) - 
          current_name_length <= integer__base__last
<S>  New H141:  response_counter + 1 <= num_found -> 8192 - (12 + 
          dns_types__header_bits div 8) >= system__min_int and 8192 - (12 + 
          dns_types__header_bits div 8) <= system__max_int
<S>  New H147:  current_byte + 12 + current_name_length < 8192 - (12 + 
          dns_types__header_bits div 8) - current_name_length
<S>  New H148:  8192 - (12 + dns_types__header_bits div 8) - 
          current_name_length >= integer__base__first and 8192 - (12 + 
          dns_types__header_bits div 8) - current_name_length <= 
          integer__base__last
<S>  New H149:  8192 - (12 + dns_types__header_bits div 8) >= system__min_int 
          and 8192 - (12 + dns_types__header_bits div 8) <= system__max_int
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H75:  current_byte + 12 + 12 >= dns_types__qname_ptr_range__first
<S>  New H76:  current_byte + 12 + 12 <= dns_types__qname_ptr_range__last
<S>  New H79:  current_byte + 12 + 12 >= 
          dns_types__packet_bytes_range__base__first
<S>  New H80:  current_byte + 12 + 12 <= 
          dns_types__packet_bytes_range__base__last
<S>  New H81:  12 >= dns_types__packet_bytes_range__first
<S>  New H82:  12 <= dns_types__packet_bytes_range__last
<S>  New H83:  12 >= system__min_int
<S>  New H84:  12 <= system__max_int
<S>  New H142:  response_counter + 1 <= num_found -> 24 >= system__min_int and 
          24 <= system__max_int
<S>  New H143:  response_counter + 1 <= num_found -> 12 >= system__min_int and 
          12 <= system__max_int
<S>  New H150:  24 >= system__min_int and 24 <= system__max_int
<S>  New H151:  12 >= system__min_int and 12 <= system__max_int
<S>  New H9:  current_byte < 8168 - current_name_length
<S>  New H140:  response_counter + 1 <= num_found -> 8168 - current_name_length 
          >= integer__base__first and 8168 - current_name_length <= 
          integer__base__last
<S>  New H141:  response_counter + 1 <= num_found -> 8168 >= system__min_int 
          and 8168 <= system__max_int
<S>  New H147:  current_byte + 12 + current_name_length < 8168 - 
          current_name_length
<S>  New H148:  8168 - current_name_length >= integer__base__first and 8168 - 
          current_name_length <= integer__base__last
<S>  New H149:  8168 >= system__min_int and 8168 <= system__max_int
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of rr_type__maxnumrecords 
          by:
          64.
<S>  New H5:  num_found <= 64
<S>  New H8:  answer_count <= 65471
<S>  New H34:  answer_count~ <= 65471
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H83:  true
<S>  New H142:  response_counter + 1 <= num_found -> 24 <= system__max_int
<S>  New H143:  response_counter + 1 <= num_found -> 12 <= system__max_int
<S>  New H150:  24 <= system__max_int
<S>  New H151:  12 <= system__max_int
<S>  New H141:  response_counter + 1 <= num_found -> 8168 <= system__max_int
<S>  New H149:  8168 <= system__max_int
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H84:  true
<S>  New H142:  true
<S>  New H143:  true
<S>  New H150:  true
<S>  New H151:  true
<S>  New H141:  true
<S>  New H149:  true
-S-  Applied substitution rule create_respo_rules(8).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H145:  response_counter + 1 <= num_found -> current_byte + 12 + 
          current_name_length >= - 2147483648 and current_byte + 12 + 
          current_name_length <= integer__last
<S>  New H152:  current_byte + 12 + current_name_length >= - 2147483648 and 
          current_byte + 12 + current_name_length <= integer__last
-S-  Applied substitution rule create_respo_rules(9).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H145:  response_counter + 1 <= num_found -> current_byte + 12 + 
          current_name_length >= - 2147483648 and current_byte + 12 + 
          current_name_length <= 2147483647
<S>  New H152:  current_byte + 12 + current_name_length >= - 2147483648 and 
          current_byte + 12 + current_name_length <= 2147483647
-S-  Applied substitution rule create_respo_rules(10).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H140:  response_counter + 1 <= num_found -> current_name_length <= 
          2147491816 and 8168 - current_name_length <= integer__base__last
<S>  New H148:  current_name_length <= 2147491816 and 8168 - 
          current_name_length <= integer__base__last
-S-  Applied substitution rule create_respo_rules(11).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H140:  response_counter + 1 <= num_found -> current_name_length <= 
          2147491816 and - 2147475479 <= current_name_length
<S>  New H148:  current_name_length <= 2147491816 and - 2147475479 <= 
          current_name_length
-S-  Applied substitution rule create_respo_rules(13).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 
          character__last)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(fld_nameserver(
          element(replies, [i___1])), [i___2]) and element(fld_nameserver(
          element(replies, [i___1])), [i___2]) <= character__last))
-S-  Applied substitution rule create_respo_rules(14).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(fld_nameserver(
          element(replies, [i___1])), [i___2]) and element(fld_nameserver(
          element(replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H95:  response_counter >= 0
<S>  New H115:  response_counter >= - 1
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H96:  response_counter <= 2147483647
<S>  New H116:  response_counter <= 2147483646
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H14:  qname_location >= 0
<S>  New H75:  current_byte >= - 24
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H15:  qname_location <= 16383
<S>  New H76:  current_byte <= 16359
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H11:  start_byte >= 1
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H35:  current_byte >= 1
<S>  New H39:  current_byte >= 0
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= dns_types__byte__last)
<S>  New H51:  current_byte >= - 2
<S>  New H57:  current_byte >= - 3
<S>  New H63:  current_byte >= - 4
<S>  New H69:  current_byte >= - 5
<S>  New H101:  current_byte >= - 6
<S>  New H110:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet__3), [i___1]) and element(fld_bytes(
          output_packet__3), [i___1]) <= dns_types__byte__last)
<S>  New H121:  current_byte + 12 + current_name_length >= 1
<S>  New H123:  current_name_length >= 1
<S>  New H81:  true
-S-  Applied substitution rule create_respo_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H12:  start_byte <= 8180
<S>  New H36:  current_byte <= 8180
<S>  New H40:  current_byte <= 8179
<S>  New H41:  current_byte <= 8178
<S>  New H52:  current_byte <= 8177
<S>  New H58:  current_byte <= 8176
<S>  New H64:  current_byte <= 8175
<S>  New H70:  current_byte <= 8174
<S>  New H102:  current_byte <= 8173
<S>  New H105:  current_byte + 7 <= 8174 - current_name_length
<S>  New H122:  current_byte + 12 + current_name_length <= 8180
<S>  New H124:  current_name_length <= 8180
<S>  New H82:  true
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__2), [i___1]
          ) and element(fld_bytes(output_packet__2), [i___1]) <= 
          dns_types__byte__last)
<S>  New H110:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__3), [i___1]
          ) and element(fld_bytes(output_packet__3), [i___1]) <= 
          dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H44:  current_byte >= - 2147483649
<S>  New H53:  current_byte >= - 2147483651
<S>  New H59:  current_byte >= - 2147483652
<S>  New H65:  current_byte >= - 2147483653
<S>  New H71:  current_byte >= - 2147483654
<S>  New H86:  current_byte >= - 2147483660
<S>  New H108:  current_byte >= - 2147483655
<S>  New H79:  current_byte >= - 2147483672
-S-  Applied substitution rule create_respo_rules(42).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H45:  current_byte <= 2147483646
<S>  New H54:  current_byte <= 2147483644
<S>  New H60:  current_byte <= 2147483643
<S>  New H66:  current_byte <= 2147483642
<S>  New H72:  current_byte <= 2147483641
<S>  New H87:  current_byte <= 2147483635
<S>  New H109:  current_byte <= 2147483640
<S>  New H80:  current_byte <= 2147483623
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H49:  true
<S>  New H55:  true
<S>  New H67:  true
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= dns_types__byte__last)
<S>  New H110:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__3), [i___1]) and element(fld_bytes(
          output_packet__3), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H50:  true
<S>  New H56:  true
<S>  New H68:  true
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= 255)
<S>  New H110:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__3), [i___1]) and element(fld_bytes(
          output_packet__3), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(120).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__first by:
          0.
<S>  New H37:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          >= 0
<S>  New H42:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(121).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__last by:
          65535.
<S>  New H38:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          <= 65535
<S>  New H43:  qname_location <= 65535
-S-  Applied substitution rule create_respo_rules(124).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__modulus by:
          65536.
<S>  New H37:  (qname_location + 49152) mod 65536 >= 0
<S>  New H38:  (qname_location + 49152) mod 65536 <= 65535
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__first by:
          0.
<S>  New H92:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) <= 
          unsigned_types__unsigned32__last)
-S-  Applied substitution rule create_respo_rules(127).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__last by:
          4294967295.
<S>  New H92:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) <= 4294967295)
-S-  Applied substitution rule create_respo_rules(132).
     This was achieved by replacing all occurrences of 
          rr_type__classtype__first by:
          rr_type__internet.
<S>  New H93:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies, [i___1]))) and fld_class(
          fld_inherit(element(replies, [i___1]))) <= rr_type__classtype__last)
-S-  Applied substitution rule create_respo_rules(133).
     This was achieved by replacing all occurrences of rr_type__classtype__last 
          by:
          rr_type__hs.
<S>  New H93:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies, [i___1]))) and fld_class(
          fld_inherit(element(replies, [i___1]))) <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(159).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H97:  current_name_length >= 1
<S>  New H13:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(domainname, [i___1]
          ) and element(domainname, [i___1]) <= 255)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= rr_type__wirestringtypeindex__last -> 0 <= 
          element(fld_nameserver(element(replies, [i___1])), [i___2]) and 
          element(fld_nameserver(element(replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(160).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H4:  current_name_length <= 129
<S>  New H13:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 129 -> 0 <= 
          element(domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= 129 -> 0 <= element(fld_nameserver(element(
          replies, [i___1])), [i___2]) and element(fld_nameserver(element(
          replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(167).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__first by:
          1.
<S>  New H88:  response_counter >= 1
<S>  New H92:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) <= 4294967295)
<S>  New H93:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies, [i___1]))) and fld_class(
          fld_inherit(element(replies, [i___1]))) <= rr_type__hs)
<S>  New H94:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= 129 -> 0 <= element(fld_nameserver(element(
          replies, [i___1])), [i___2]) and element(fld_nameserver(element(
          replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(168).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New H89:  response_counter <= 64
<S>  New H92:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ttlinseconds(fld_inherit(element(replies, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(replies, [i___1]))) <= 
          4294967295)
<S>  New H93:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__internet <= fld_class(fld_inherit(element(replies, [i___1])))
           and fld_class(fld_inherit(element(replies, [i___1]))) <= rr_type__hs)
<S>  New H94:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 129 -> 0 <= element(
          fld_nameserver(element(replies, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(172).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__first by:
          0.
<S>  New H127:  num_found >= 0
-S-  Applied substitution rule create_respo_rules(173).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__last by:
          64.
<S>  New H128:  num_found <= 64
###  Established a contradiction [P-and-not-P] among the following hypotheses:
          H131 & H146.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_ns_13.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  answer_count = answer_count~
%%%  Simplified H13 on reading formula in, to give:
     %%%  H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(domainname, [i___1]) and element(
          domainname, [i___1]) <= character__last)
%%%  Simplified H18 on reading formula in, to give:
     %%%  H18:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H20 on reading formula in, to give:
     %%%  H20:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H33 has been replaced by "true".  (It is already present, as H6)
          .
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
***  Proved C3:  current_byte + 1 >= dns_types__packet_bytes_range__first
     using hypothesis H35.
-S-  Applied substitution rule create_respo_rules(120).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__first by:
          0.
<S>  New C1:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          >= 0
<S>  New C6:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(121).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__last by:
          65535.
<S>  New C2:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          <= 65535
<S>  New C7:  qname_location <= 65535
-S-  Applied substitution rule create_respo_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H12:  start_byte <= 8180
<S>  New H30:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
          fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H36:  current_byte <= 8180
<S>  New C4:  current_byte <= 8179
<S>  New C5:  current_byte <= 8178
-S-  Applied substitution rule create_respo_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New C8:  current_byte >= - 2147483649
-S-  Applied substitution rule create_respo_rules(42).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New C9:  current_byte <= 2147483646
***  Proved C8:  current_byte >= - 2147483649
     using hypothesis H10.
***  Proved C9:  current_byte <= 2147483646
     using hypothesis H36.
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H6:  start_byte <= 8192
<S>  New H9:  current_byte < 8192 - (12 + dns_types__header_bits div 8) - 
          current_name_length
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H9:  current_byte < 8168 - current_name_length
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of rr_type__maxnumrecords 
          by:
          64.
<S>  New H5:  num_found <= 64
<S>  New H8:  answer_count <= dns_types__unsigned_short__last - 64
<S>  New H34:  answer_count~ <= dns_types__unsigned_short__last - 64
-S-  Applied substitution rule create_respo_rules(13).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 
          character__last)
-S-  Applied substitution rule create_respo_rules(14).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H14:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H15:  qname_location <= 16383
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H11:  start_byte >= 1
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H35:  current_byte >= 1
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H16:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H22:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H24:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H26:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H28:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H31:  answer_count >= 0
-S-  Applied substitution rule create_respo_rules(53).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H17:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H23:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H25:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H27:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H29:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H32:  answer_count <= 65535
<S>  New H8:  answer_count <= 65471
<S>  New H34:  answer_count~ <= 65471
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H18:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(59).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H19:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H20:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(85).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H21:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
-S-  Applied substitution rule create_respo_rules(124).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__modulus by:
          65536.
<S>  New C1:  (qname_location + 49152) mod 65536 >= 0
<S>  New C2:  (qname_location + 49152) mod 65536 <= 65535
-S-  Applied substitution rule create_respo_rules(159).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H13:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(domainname, [i___1]
          ) and element(domainname, [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(160).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H4:  current_name_length <= 129
<S>  New H13:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 129 -> 0 <= 
          element(domainname, [i___1]) and element(domainname, [i___1]) <= 255)
***  Proved C6:  qname_location >= 0
     using hypothesis H14.
***  Proved C7:  qname_location <= 65535
     using hypothesis H15.
***  Proved C1:  (qname_location + 49152) mod 65536 >= 0
***  Proved C2:  (qname_location + 49152) mod 65536 <= 65535
---  Eliminated hypothesis H33 (true-hypothesis).
---  Eliminated hypothesis H6 (redundant, given H12).
---  Eliminated hypothesis H10 (redundant, given H35).
---  Eliminated hypothesis H32 (redundant, given H8).
---  Eliminated hypothesis H36 (redundant, given H3 & H9).
-S-  Eliminated hypothesis H7.
     This was achieved by replacing all occurrences of answer_count by:
          answer_count~.
<S>  New H31:  answer_count~ >= 0
<S>  New H8:  answer_count~ <= 65471
     +++  New H37:  integer__size >= 0
     +++  New H38:  character__size >= 0
     +++  New H39:  natural__size >= 0
     +++  New H40:  positive__size >= 0
     +++  New H41:  dns_types__qname_ptr_range__size >= 0
     +++  New H42:  dns_types__qname_ptr_range__base__first <= 
          dns_types__qname_ptr_range__base__last
     +++  New H43:  dns_types__packet_length_range__size >= 0
     +++  New H44:  dns_types__packet_bytes_range__size >= 0
     +++  New H45:  dns_types__dns_packet__size >= 0
     +++  New H46:  unsigned_types__unsigned16__size >= 0
     +++  New H47:  unsigned_types__unsigned32__size >= 0
     +++  New H48:  rr_type__classtype__size >= 0
     +++  New H49:  rr_type__wirestringtypeindex__size >= 0
     +++  New H50:  rr_type__wirestringtype__size >= 0
     +++  New H51:  rr_type__resourcerecordtype__size >= 0
     +++  New H52:  rr_type__returnedrecordsindextype__size >= 0
     +++  New H53:  rr_type__numberofrecordstype__size >= 0
     +++  New H54:  rr_type__ns_record_type__nsrecordtype__size >= 0
     +++  New H55:  dns_types__qname_ptr_range__base__first <= 0
     +++  New H56:  dns_types__qname_ptr_range__base__last >= 16383


@@@@@@@@@@  VC: procedure_create_response_ns_14.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  answer_count = answer_count~
%%%  Simplified H13 on reading formula in, to give:
     %%%  H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(domainname, [i___1]) and element(
          domainname, [i___1]) <= character__last)
%%%  Simplified H18 on reading formula in, to give:
     %%%  H18:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H20 on reading formula in, to give:
     %%%  H20:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H33 has been replaced by "true".  (It is already present, as H6)
          .
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
%%%  Simplified H46 on reading formula in, to give:
     %%%  H46:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__2), [i___1]
          ) and element(fld_bytes(output_packet__2), [i___1]) <= 
          dns_types__byte__last)
***  Proved C3:  current_byte + 3 >= dns_types__packet_bytes_range__first
     using hypothesis H35.
***  Proved C5:  current_byte + 3 >= dns_types__packet_bytes_range__base__first
     using hypothesis H44.
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H30:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= dns_types__packet_bytes_range__last -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H46:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= dns_types__packet_bytes_range__last -> 0 <= 
          element(fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= dns_types__byte__last)
<S>  New C1:  true
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H30:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= dns_types__packet_bytes_range__last -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
<S>  New H46:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= dns_types__packet_bytes_range__last -> 0 <= 
          element(fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= 255)
<S>  New C2:  true
-S-  Applied substitution rule create_respo_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H12:  start_byte <= 8180
<S>  New H36:  current_byte <= 8180
<S>  New H40:  current_byte <= 8179
<S>  New H41:  current_byte <= 8178
<S>  New H30:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= 8180 -> 0 <= element(fld_bytes(output_packet), [
          i___1]) and element(fld_bytes(output_packet), [i___1]) <= 255)
<S>  New H46:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= 8180 -> 0 <= element(fld_bytes(output_packet__2), [
          i___1]) and element(fld_bytes(output_packet__2), [i___1]) <= 255)
<S>  New C4:  current_byte <= 8177
-S-  Applied substitution rule create_respo_rules(42).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H45:  current_byte <= 2147483646
<S>  New C6:  current_byte <= 2147483644
***  Proved C1:  true
***  Proved C2:  true
***  Proved C6:  current_byte <= 2147483644
     using hypothesis H36.
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H6:  start_byte <= 8192
<S>  New H9:  current_byte < 8192 - (12 + dns_types__header_bits div 8) - 
          current_name_length
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H9:  current_byte < 8168 - current_name_length
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of rr_type__maxnumrecords 
          by:
          64.
<S>  New H5:  num_found <= 64
<S>  New H8:  answer_count <= dns_types__unsigned_short__last - 64
<S>  New H34:  answer_count~ <= dns_types__unsigned_short__last - 64
-S-  Applied substitution rule create_respo_rules(13).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 
          character__last)
-S-  Applied substitution rule create_respo_rules(14).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H14:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H15:  qname_location <= 16383
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H11:  start_byte >= 1
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
<S>  New H35:  current_byte >= 1
<S>  New H39:  current_byte >= 0
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H44:  current_byte >= - 2147483649
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H16:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H22:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H24:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H26:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H28:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H31:  answer_count >= 0
-S-  Applied substitution rule create_respo_rules(53).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H17:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H23:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H25:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H27:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H29:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H32:  answer_count <= 65535
<S>  New H8:  answer_count <= 65471
<S>  New H34:  answer_count~ <= 65471
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H18:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(59).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H19:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H20:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(85).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H21:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
-S-  Applied substitution rule create_respo_rules(120).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__first by:
          0.
<S>  New H37:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          >= 0
<S>  New H42:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(121).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__last by:
          65535.
<S>  New H38:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          <= 65535
<S>  New H43:  qname_location <= 65535
-S-  Applied substitution rule create_respo_rules(124).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__modulus by:
          65536.
<S>  New H37:  (qname_location + 49152) mod 65536 >= 0
<S>  New H38:  (qname_location + 49152) mod 65536 <= 65535
-S-  Applied substitution rule create_respo_rules(159).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H13:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(domainname, [i___1]
          ) and element(domainname, [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(160).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H4:  current_name_length <= 129
<S>  New H13:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 129 -> 0 <= 
          element(domainname, [i___1]) and element(domainname, [i___1]) <= 255)
---  Eliminated hypothesis H33 (true-hypothesis).
---  Eliminated hypothesis H39 (duplicate of H10).
---  Eliminated hypothesis H42 (duplicate of H14).
---  Eliminated hypothesis H6 (redundant, given H12).
---  Eliminated hypothesis H10 (redundant, given H35).
---  Eliminated hypothesis H32 (redundant, given H8).
---  Eliminated hypothesis H36 (redundant, given H40).
---  Eliminated hypothesis H40 (redundant, given H41).
---  Eliminated hypothesis H41 (redundant, given H3 & H9).
---  Eliminated hypothesis H43 (redundant, given H15).
---  Eliminated hypothesis H44 (redundant, given H35).
---  Eliminated hypothesis H45 (redundant, given H3 & H9).
-S-  Eliminated hypothesis H7.
     This was achieved by replacing all occurrences of answer_count by:
          answer_count~.
<S>  New H31:  answer_count~ >= 0
<S>  New H8:  answer_count~ <= 65471
---  Substituted hypothesis H47, which specifies an equivalence for fld_header(
          output_packet__2).
%%%  Simplified H37 further (given H14 & H15), to give:
     %%%  H37:  qname_location >= - 49152
%%%  Simplified H38 further (given H14 & H15), to give:
     %%%  H38:  qname_location <= 16383
     +++  New H49:  integer__size >= 0
     +++  New H50:  character__size >= 0
     +++  New H51:  natural__size >= 0
     +++  New H52:  positive__size >= 0
     +++  New H53:  dns_types__qname_ptr_range__size >= 0
     +++  New H54:  dns_types__qname_ptr_range__base__first <= 
          dns_types__qname_ptr_range__base__last
     +++  New H55:  dns_types__packet_length_range__size >= 0
     +++  New H56:  dns_types__packet_bytes_range__size >= 0
     +++  New H57:  dns_types__dns_packet__size >= 0
     +++  New H58:  unsigned_types__unsigned16__size >= 0
     +++  New H59:  unsigned_types__unsigned32__size >= 0
     +++  New H60:  rr_type__classtype__size >= 0
     +++  New H61:  rr_type__wirestringtypeindex__size >= 0
     +++  New H62:  rr_type__wirestringtype__size >= 0
     +++  New H63:  rr_type__resourcerecordtype__size >= 0
     +++  New H64:  rr_type__returnedrecordsindextype__size >= 0
     +++  New H65:  rr_type__numberofrecordstype__size >= 0
     +++  New H66:  rr_type__ns_record_type__nsrecordtype__size >= 0
     +++  New H67:  dns_types__qname_ptr_range__base__first <= 0
     +++  New H68:  dns_types__qname_ptr_range__base__last >= 16383


@@@@@@@@@@  VC: procedure_create_response_ns_15.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  answer_count = answer_count~
%%%  Simplified H13 on reading formula in, to give:
     %%%  H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(domainname, [i___1]) and element(
          domainname, [i___1]) <= character__last)
%%%  Simplified H18 on reading formula in, to give:
     %%%  H18:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H20 on reading formula in, to give:
     %%%  H20:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H33 has been replaced by "true".  (It is already present, as H6)
          .
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
%%%  Simplified H46 on reading formula in, to give:
     %%%  H46:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__2), [i___1]
          ) and element(fld_bytes(output_packet__2), [i___1]) <= 
          dns_types__byte__last)
***  Proved C1:  2 >= dns_types__byte__first
     using hypothesis H49.
***  Proved C3:  current_byte + 4 >= dns_types__packet_bytes_range__first
     using hypothesis H35.
***  Proved C5:  current_byte + 4 >= dns_types__packet_bytes_range__base__first
     using hypothesis H44.
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H30:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 255)
<S>  New H46:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__2), [i___1]
          ) and element(fld_bytes(output_packet__2), [i___1]) <= 255)
<S>  New H50:  true
<S>  New C2:  true
-S-  Applied substitution rule create_respo_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H12:  start_byte <= 8180
<S>  New H36:  current_byte <= 8180
<S>  New H40:  current_byte <= 8179
<S>  New H41:  current_byte <= 8178
<S>  New H52:  current_byte <= 8177
<S>  New H30:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
          fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
<S>  New H46:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
          fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= 255)
<S>  New C4:  current_byte <= 8176
-S-  Applied substitution rule create_respo_rules(42).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H45:  current_byte <= 2147483646
<S>  New H54:  current_byte <= 2147483644
<S>  New C6:  current_byte <= 2147483643
***  Proved C2:  true
***  Proved C6:  current_byte <= 2147483643
     using hypothesis H36.
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H6:  start_byte <= 8192
<S>  New H9:  current_byte < 8192 - (12 + dns_types__header_bits div 8) - 
          current_name_length
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H9:  current_byte < 8168 - current_name_length
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of rr_type__maxnumrecords 
          by:
          64.
<S>  New H5:  num_found <= 64
<S>  New H8:  answer_count <= dns_types__unsigned_short__last - 64
<S>  New H34:  answer_count~ <= dns_types__unsigned_short__last - 64
-S-  Applied substitution rule create_respo_rules(13).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 
          character__last)
-S-  Applied substitution rule create_respo_rules(14).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H14:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H15:  qname_location <= 16383
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H11:  start_byte >= 1
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 255)
<S>  New H35:  current_byte >= 1
<S>  New H39:  current_byte >= 0
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__2), [i___1]
          ) and element(fld_bytes(output_packet__2), [i___1]) <= 255)
<S>  New H51:  current_byte >= - 2
-S-  Applied substitution rule create_respo_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H44:  current_byte >= - 2147483649
<S>  New H53:  current_byte >= - 2147483651
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H49:  true
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H16:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H22:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H24:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H26:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H28:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H31:  answer_count >= 0
-S-  Applied substitution rule create_respo_rules(53).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H17:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H23:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H25:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H27:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H29:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H32:  answer_count <= 65535
<S>  New H8:  answer_count <= 65471
<S>  New H34:  answer_count~ <= 65471
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H18:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(59).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H19:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H20:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(85).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H21:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
-S-  Applied substitution rule create_respo_rules(120).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__first by:
          0.
<S>  New H37:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          >= 0
<S>  New H42:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(121).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__last by:
          65535.
<S>  New H38:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          <= 65535
<S>  New H43:  qname_location <= 65535
-S-  Applied substitution rule create_respo_rules(124).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__modulus by:
          65536.
<S>  New H37:  (qname_location + 49152) mod 65536 >= 0
<S>  New H38:  (qname_location + 49152) mod 65536 <= 65535
-S-  Applied substitution rule create_respo_rules(159).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H13:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(domainname, [i___1]
          ) and element(domainname, [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(160).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H4:  current_name_length <= 129
<S>  New H13:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 129 -> 0 <= 
          element(domainname, [i___1]) and element(domainname, [i___1]) <= 255)
---  Eliminated hypothesis H33 (true-hypothesis).
---  Eliminated hypothesis H50 (true-hypothesis).
---  Eliminated hypothesis H49 (true-hypothesis).
---  Eliminated hypothesis H39 (duplicate of H10).
---  Eliminated hypothesis H42 (duplicate of H14).
---  Eliminated hypothesis H6 (redundant, given H12).
---  Eliminated hypothesis H10 (redundant, given H35).
---  Eliminated hypothesis H32 (redundant, given H8).
---  Eliminated hypothesis H36 (redundant, given H40).
---  Eliminated hypothesis H40 (redundant, given H41).
---  Eliminated hypothesis H41 (redundant, given H52).
---  Eliminated hypothesis H43 (redundant, given H15).
---  Eliminated hypothesis H44 (redundant, given H35).
---  Eliminated hypothesis H45 (redundant, given H52).
---  Eliminated hypothesis H51 (redundant, given H35).
---  Eliminated hypothesis H52 (redundant, given H3 & H9).
---  Eliminated hypothesis H53 (redundant, given H35).
---  Eliminated hypothesis H54 (redundant, given H3 & H9).
-S-  Eliminated hypothesis H7.
     This was achieved by replacing all occurrences of answer_count by:
          answer_count~.
<S>  New H31:  answer_count~ >= 0
<S>  New H8:  answer_count~ <= 65471
---  Substituted hypothesis H47, which specifies an equivalence for fld_header(
          output_packet__2).
%%%  Simplified H37 further (given H14 & H15), to give:
     %%%  H37:  qname_location >= - 49152
%%%  Simplified H38 further (given H14 & H15), to give:
     %%%  H38:  qname_location <= 16383
     +++  New H55:  integer__size >= 0
     +++  New H56:  character__size >= 0
     +++  New H57:  natural__size >= 0
     +++  New H58:  positive__size >= 0
     +++  New H59:  dns_types__qname_ptr_range__size >= 0
     +++  New H60:  dns_types__qname_ptr_range__base__first <= 
          dns_types__qname_ptr_range__base__last
     +++  New H61:  dns_types__packet_length_range__size >= 0
     +++  New H62:  dns_types__packet_bytes_range__size >= 0
     +++  New H63:  dns_types__dns_packet__size >= 0
     +++  New H64:  unsigned_types__unsigned16__size >= 0
     +++  New H65:  unsigned_types__unsigned32__size >= 0
     +++  New H66:  rr_type__classtype__size >= 0
     +++  New H67:  rr_type__wirestringtypeindex__size >= 0
     +++  New H68:  rr_type__wirestringtype__size >= 0
     +++  New H69:  rr_type__resourcerecordtype__size >= 0
     +++  New H70:  rr_type__returnedrecordsindextype__size >= 0
     +++  New H71:  rr_type__numberofrecordstype__size >= 0
     +++  New H72:  rr_type__ns_record_type__nsrecordtype__size >= 0
     +++  New H73:  dns_types__qname_ptr_range__base__first <= 0
     +++  New H74:  dns_types__qname_ptr_range__base__last >= 16383


@@@@@@@@@@  VC: procedure_create_response_ns_16.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  answer_count = answer_count~
%%%  Simplified H13 on reading formula in, to give:
     %%%  H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(domainname, [i___1]) and element(
          domainname, [i___1]) <= character__last)
%%%  Simplified H18 on reading formula in, to give:
     %%%  H18:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H20 on reading formula in, to give:
     %%%  H20:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H33 has been replaced by "true".  (It is already present, as H6)
          .
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
%%%  Simplified H46 on reading formula in, to give:
     %%%  H46:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__2), [i___1]
          ) and element(fld_bytes(output_packet__2), [i___1]) <= 
          dns_types__byte__last)
***  Proved C1:  0 >= dns_types__byte__first
     using hypothesis H49.
***  Proved C2:  0 <= dns_types__byte__last
     using hypothesis H50.
***  Proved C3:  current_byte + 5 >= dns_types__packet_bytes_range__first
     using hypothesis H35.
***  Proved C5:  current_byte + 5 >= dns_types__packet_bytes_range__base__first
     using hypothesis H44.
-S-  Applied substitution rule create_respo_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H12:  start_byte <= 8180
<S>  New H30:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
          fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H36:  current_byte <= 8180
<S>  New H40:  current_byte <= 8179
<S>  New H41:  current_byte <= 8178
<S>  New H46:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
          fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= dns_types__byte__last)
<S>  New H52:  current_byte <= 8177
<S>  New H58:  current_byte <= 8176
<S>  New C4:  current_byte <= 8175
-S-  Applied substitution rule create_respo_rules(42).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H45:  current_byte <= 2147483646
<S>  New H54:  current_byte <= 2147483644
<S>  New H60:  current_byte <= 2147483643
<S>  New C6:  current_byte <= 2147483642
***  Proved C6:  current_byte <= 2147483642
     using hypothesis H36.
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H6:  start_byte <= 8192
<S>  New H9:  current_byte < 8192 - (12 + dns_types__header_bits div 8) - 
          current_name_length
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H9:  current_byte < 8168 - current_name_length
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of rr_type__maxnumrecords 
          by:
          64.
<S>  New H5:  num_found <= 64
<S>  New H8:  answer_count <= dns_types__unsigned_short__last - 64
<S>  New H34:  answer_count~ <= dns_types__unsigned_short__last - 64
-S-  Applied substitution rule create_respo_rules(13).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 
          character__last)
-S-  Applied substitution rule create_respo_rules(14).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H14:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H15:  qname_location <= 16383
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H11:  start_byte >= 1
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H35:  current_byte >= 1
<S>  New H39:  current_byte >= 0
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__2), [i___1]
          ) and element(fld_bytes(output_packet__2), [i___1]) <= 
          dns_types__byte__last)
<S>  New H51:  current_byte >= - 2
<S>  New H57:  current_byte >= - 3
-S-  Applied substitution rule create_respo_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H44:  current_byte >= - 2147483649
<S>  New H53:  current_byte >= - 2147483651
<S>  New H59:  current_byte >= - 2147483652
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H49:  true
<S>  New H55:  true
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H50:  true
<S>  New H56:  true
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H16:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H22:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H24:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H26:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H28:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H31:  answer_count >= 0
-S-  Applied substitution rule create_respo_rules(53).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H17:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H23:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H25:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H27:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H29:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H32:  answer_count <= 65535
<S>  New H8:  answer_count <= 65471
<S>  New H34:  answer_count~ <= 65471
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H18:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(59).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H19:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H20:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(85).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H21:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
-S-  Applied substitution rule create_respo_rules(120).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__first by:
          0.
<S>  New H37:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          >= 0
<S>  New H42:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(121).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__last by:
          65535.
<S>  New H38:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          <= 65535
<S>  New H43:  qname_location <= 65535
-S-  Applied substitution rule create_respo_rules(124).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__modulus by:
          65536.
<S>  New H37:  (qname_location + 49152) mod 65536 >= 0
<S>  New H38:  (qname_location + 49152) mod 65536 <= 65535
-S-  Applied substitution rule create_respo_rules(159).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H13:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(domainname, [i___1]
          ) and element(domainname, [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(160).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H4:  current_name_length <= 129
<S>  New H13:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 129 -> 0 <= 
          element(domainname, [i___1]) and element(domainname, [i___1]) <= 255)
---  Eliminated hypothesis H33 (true-hypothesis).
---  Eliminated hypothesis H49 (true-hypothesis).
---  Eliminated hypothesis H55 (true-hypothesis).
---  Eliminated hypothesis H50 (true-hypothesis).
---  Eliminated hypothesis H56 (true-hypothesis).
---  Eliminated hypothesis H39 (duplicate of H10).
---  Eliminated hypothesis H42 (duplicate of H14).
---  Eliminated hypothesis H6 (redundant, given H12).
---  Eliminated hypothesis H10 (redundant, given H35).
---  Eliminated hypothesis H32 (redundant, given H8).
---  Eliminated hypothesis H36 (redundant, given H40).
---  Eliminated hypothesis H40 (redundant, given H41).
---  Eliminated hypothesis H41 (redundant, given H52).
---  Eliminated hypothesis H43 (redundant, given H15).
---  Eliminated hypothesis H44 (redundant, given H35).
---  Eliminated hypothesis H45 (redundant, given H52).
---  Eliminated hypothesis H51 (redundant, given H35).
---  Eliminated hypothesis H52 (redundant, given H58).
---  Eliminated hypothesis H53 (redundant, given H35).
---  Eliminated hypothesis H54 (redundant, given H58).
---  Eliminated hypothesis H57 (redundant, given H35).
---  Eliminated hypothesis H58 (redundant, given H3 & H9).
---  Eliminated hypothesis H59 (redundant, given H35).
---  Eliminated hypothesis H60 (redundant, given H3 & H9).
-S-  Eliminated hypothesis H7.
     This was achieved by replacing all occurrences of answer_count by:
          answer_count~.
<S>  New H31:  answer_count~ >= 0
<S>  New H8:  answer_count~ <= 65471
---  Substituted hypothesis H47, which specifies an equivalence for fld_header(
          output_packet__2).
%%%  Simplified H37 further (given H14 & H15), to give:
     %%%  H37:  qname_location >= - 49152
%%%  Simplified H38 further (given H14 & H15), to give:
     %%%  H38:  qname_location <= 16383
     +++  New H61:  integer__size >= 0
     +++  New H62:  character__size >= 0
     +++  New H63:  natural__size >= 0
     +++  New H64:  positive__size >= 0
     +++  New H65:  dns_types__qname_ptr_range__size >= 0
     +++  New H66:  dns_types__qname_ptr_range__base__first <= 
          dns_types__qname_ptr_range__base__last
     +++  New H67:  dns_types__packet_length_range__size >= 0
     +++  New H68:  dns_types__packet_bytes_range__size >= 0
     +++  New H69:  dns_types__dns_packet__size >= 0
     +++  New H70:  unsigned_types__unsigned16__size >= 0
     +++  New H71:  unsigned_types__unsigned32__size >= 0
     +++  New H72:  rr_type__classtype__size >= 0
     +++  New H73:  rr_type__wirestringtypeindex__size >= 0
     +++  New H74:  rr_type__wirestringtype__size >= 0
     +++  New H75:  rr_type__resourcerecordtype__size >= 0
     +++  New H76:  rr_type__returnedrecordsindextype__size >= 0
     +++  New H77:  rr_type__numberofrecordstype__size >= 0
     +++  New H78:  rr_type__ns_record_type__nsrecordtype__size >= 0
     +++  New H79:  dns_types__qname_ptr_range__base__first <= 0
     +++  New H80:  dns_types__qname_ptr_range__base__last >= 16383


@@@@@@@@@@  VC: procedure_create_response_ns_17.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  answer_count = answer_count~
%%%  Simplified H13 on reading formula in, to give:
     %%%  H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(domainname, [i___1]) and element(
          domainname, [i___1]) <= character__last)
%%%  Simplified H18 on reading formula in, to give:
     %%%  H18:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H20 on reading formula in, to give:
     %%%  H20:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H33 has been replaced by "true".  (It is already present, as H6)
          .
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
%%%  Simplified H46 on reading formula in, to give:
     %%%  H46:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__2), [i___1]
          ) and element(fld_bytes(output_packet__2), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H61 has been replaced by "true".  (It is already present, as 
          H49).
---  Hypothesis H62 has been replaced by "true".  (It is already present, as 
          H50).
***  Proved C1:  1 >= dns_types__byte__first
     using hypothesis H49.
***  Proved C2:  1 <= dns_types__byte__last
     using hypothesis H56.
***  Proved C3:  current_byte + 6 >= dns_types__packet_bytes_range__first
     using hypothesis H35.
***  Proved C5:  current_byte + 6 >= dns_types__packet_bytes_range__base__first
     using hypothesis H44.
-S-  Applied substitution rule create_respo_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H12:  start_byte <= 8180
<S>  New H30:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
          fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H36:  current_byte <= 8180
<S>  New H40:  current_byte <= 8179
<S>  New H41:  current_byte <= 8178
<S>  New H46:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
          fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= dns_types__byte__last)
<S>  New H52:  current_byte <= 8177
<S>  New H58:  current_byte <= 8176
<S>  New H64:  current_byte <= 8175
<S>  New C4:  current_byte <= 8174
-S-  Applied substitution rule create_respo_rules(42).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H45:  current_byte <= 2147483646
<S>  New H54:  current_byte <= 2147483644
<S>  New H60:  current_byte <= 2147483643
<S>  New H66:  current_byte <= 2147483642
<S>  New C6:  current_byte <= 2147483641
***  Proved C6:  current_byte <= 2147483641
     using hypothesis H36.
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H6:  start_byte <= 8192
<S>  New H9:  current_byte < 8192 - (12 + dns_types__header_bits div 8) - 
          current_name_length
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H9:  current_byte < 8168 - current_name_length
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of rr_type__maxnumrecords 
          by:
          64.
<S>  New H5:  num_found <= 64
<S>  New H8:  answer_count <= dns_types__unsigned_short__last - 64
<S>  New H34:  answer_count~ <= dns_types__unsigned_short__last - 64
-S-  Applied substitution rule create_respo_rules(13).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 
          character__last)
-S-  Applied substitution rule create_respo_rules(14).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H14:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H15:  qname_location <= 16383
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H11:  start_byte >= 1
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H35:  current_byte >= 1
<S>  New H39:  current_byte >= 0
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__2), [i___1]
          ) and element(fld_bytes(output_packet__2), [i___1]) <= 
          dns_types__byte__last)
<S>  New H51:  current_byte >= - 2
<S>  New H57:  current_byte >= - 3
<S>  New H63:  current_byte >= - 4
-S-  Applied substitution rule create_respo_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H44:  current_byte >= - 2147483649
<S>  New H53:  current_byte >= - 2147483651
<S>  New H59:  current_byte >= - 2147483652
<S>  New H65:  current_byte >= - 2147483653
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H49:  true
<S>  New H55:  true
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H50:  true
<S>  New H56:  true
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H16:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H22:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H24:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H26:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H28:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H31:  answer_count >= 0
-S-  Applied substitution rule create_respo_rules(53).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H17:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H23:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H25:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H27:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H29:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H32:  answer_count <= 65535
<S>  New H8:  answer_count <= 65471
<S>  New H34:  answer_count~ <= 65471
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H18:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(59).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H19:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H20:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(85).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H21:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
-S-  Applied substitution rule create_respo_rules(120).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__first by:
          0.
<S>  New H37:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          >= 0
<S>  New H42:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(121).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__last by:
          65535.
<S>  New H38:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          <= 65535
<S>  New H43:  qname_location <= 65535
-S-  Applied substitution rule create_respo_rules(124).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__modulus by:
          65536.
<S>  New H37:  (qname_location + 49152) mod 65536 >= 0
<S>  New H38:  (qname_location + 49152) mod 65536 <= 65535
-S-  Applied substitution rule create_respo_rules(159).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H13:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(domainname, [i___1]
          ) and element(domainname, [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(160).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H4:  current_name_length <= 129
<S>  New H13:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 129 -> 0 <= 
          element(domainname, [i___1]) and element(domainname, [i___1]) <= 255)
---  Eliminated hypothesis H33 (true-hypothesis).
---  Eliminated hypothesis H61 (true-hypothesis).
---  Eliminated hypothesis H62 (true-hypothesis).
---  Eliminated hypothesis H49 (true-hypothesis).
---  Eliminated hypothesis H55 (true-hypothesis).
---  Eliminated hypothesis H50 (true-hypothesis).
---  Eliminated hypothesis H56 (true-hypothesis).
---  Eliminated hypothesis H39 (duplicate of H10).
---  Eliminated hypothesis H42 (duplicate of H14).
---  Eliminated hypothesis H6 (redundant, given H12).
---  Eliminated hypothesis H10 (redundant, given H35).
---  Eliminated hypothesis H32 (redundant, given H8).
---  Eliminated hypothesis H36 (redundant, given H40).
---  Eliminated hypothesis H40 (redundant, given H41).
---  Eliminated hypothesis H41 (redundant, given H52).
---  Eliminated hypothesis H43 (redundant, given H15).
---  Eliminated hypothesis H44 (redundant, given H35).
---  Eliminated hypothesis H45 (redundant, given H52).
---  Eliminated hypothesis H51 (redundant, given H35).
---  Eliminated hypothesis H52 (redundant, given H58).
---  Eliminated hypothesis H53 (redundant, given H35).
---  Eliminated hypothesis H54 (redundant, given H58).
---  Eliminated hypothesis H57 (redundant, given H35).
---  Eliminated hypothesis H58 (redundant, given H64).
---  Eliminated hypothesis H59 (redundant, given H35).
---  Eliminated hypothesis H60 (redundant, given H64).
---  Eliminated hypothesis H63 (redundant, given H35).
---  Eliminated hypothesis H64 (redundant, given H3 & H9).
---  Eliminated hypothesis H65 (redundant, given H35).
---  Eliminated hypothesis H66 (redundant, given H3 & H9).
-S-  Eliminated hypothesis H7.
     This was achieved by replacing all occurrences of answer_count by:
          answer_count~.
<S>  New H31:  answer_count~ >= 0
<S>  New H8:  answer_count~ <= 65471
---  Substituted hypothesis H47, which specifies an equivalence for fld_header(
          output_packet__2).
%%%  Simplified H37 further (given H14 & H15), to give:
     %%%  H37:  qname_location >= - 49152
%%%  Simplified H38 further (given H14 & H15), to give:
     %%%  H38:  qname_location <= 16383
     +++  New H67:  integer__size >= 0
     +++  New H68:  character__size >= 0
     +++  New H69:  natural__size >= 0
     +++  New H70:  positive__size >= 0
     +++  New H71:  dns_types__qname_ptr_range__size >= 0
     +++  New H72:  dns_types__qname_ptr_range__base__first <= 
          dns_types__qname_ptr_range__base__last
     +++  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:  unsigned_types__unsigned16__size >= 0
     +++  New H77:  unsigned_types__unsigned32__size >= 0
     +++  New H78:  rr_type__classtype__size >= 0
     +++  New H79:  rr_type__wirestringtypeindex__size >= 0
     +++  New H80:  rr_type__wirestringtype__size >= 0
     +++  New H81:  rr_type__resourcerecordtype__size >= 0
     +++  New H82:  rr_type__returnedrecordsindextype__size >= 0
     +++  New H83:  rr_type__numberofrecordstype__size >= 0
     +++  New H84:  rr_type__ns_record_type__nsrecordtype__size >= 0
     +++  New H85:  dns_types__qname_ptr_range__base__first <= 0
     +++  New H86:  dns_types__qname_ptr_range__base__last >= 16383


@@@@@@@@@@  VC: procedure_create_response_ns_18.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  answer_count = answer_count~
%%%  Simplified H13 on reading formula in, to give:
     %%%  H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(domainname, [i___1]) and element(
          domainname, [i___1]) <= character__last)
%%%  Simplified H18 on reading formula in, to give:
     %%%  H18:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H20 on reading formula in, to give:
     %%%  H20:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H33 has been replaced by "true".  (It is already present, as H6)
          .
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
%%%  Simplified H46 on reading formula in, to give:
     %%%  H46:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__2), [i___1]
          ) and element(fld_bytes(output_packet__2), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H61 has been replaced by "true".  (It is already present, as 
          H49).
---  Hypothesis H62 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H73 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H74 has been replaced by "true".  (It is already present, as 
          H36).
%%%  Simplified C11 on reading formula in, to give:
     %%%  C11:  true
***  Proved C11:  true
***  Proved C12:  current_byte + 12 >= 
          dns_types__packet_bytes_range__base__first
     using hypothesis H44.
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H14:  qname_location >= 0
<S>  New C1:  current_byte + 12 + dns_types__header_bits div 8 >= 0
<S>  New C3:  current_byte + 12 + dns_types__header_bits div 8 >= 0
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H15:  qname_location <= 16383
<S>  New C2:  current_byte + 12 + dns_types__header_bits div 8 <= 16383
<S>  New C4:  current_byte + 12 + dns_types__header_bits div 8 <= 16383
-S-  Applied substitution rule create_respo_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H44:  current_byte >= - 2147483649
<S>  New H53:  current_byte >= - 2147483651
<S>  New H59:  current_byte >= - 2147483652
<S>  New H65:  current_byte >= - 2147483653
<S>  New H71:  current_byte >= - 2147483654
<S>  New C5:  current_byte + 12 + dns_types__header_bits div 8 >= - 2147483648
-S-  Applied substitution rule create_respo_rules(42).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H45:  current_byte <= 2147483646
<S>  New H54:  current_byte <= 2147483644
<S>  New H60:  current_byte <= 2147483643
<S>  New H66:  current_byte <= 2147483642
<S>  New H72:  current_byte <= 2147483641
<S>  New C6:  current_byte + 12 + dns_types__header_bits div 8 <= 2147483647
<S>  New C13:  current_byte <= 2147483635
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H11:  start_byte >= 1
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H35:  current_byte >= 1
<S>  New H39:  current_byte >= 0
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= dns_types__byte__last)
<S>  New H51:  current_byte >= - 2
<S>  New H57:  current_byte >= - 3
<S>  New H63:  current_byte >= - 4
<S>  New H69:  current_byte >= - 5
<S>  New C7:  dns_types__header_bits div 8 >= 1
-S-  Applied substitution rule create_respo_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H12:  start_byte <= 8180
<S>  New H36:  current_byte <= 8180
<S>  New H40:  current_byte <= 8179
<S>  New H41:  current_byte <= 8178
<S>  New H52:  current_byte <= 8177
<S>  New H58:  current_byte <= 8176
<S>  New H64:  current_byte <= 8175
<S>  New H70:  current_byte <= 8174
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__2), [i___1]
          ) and element(fld_bytes(output_packet__2), [i___1]) <= 
          dns_types__byte__last)
<S>  New C8:  dns_types__header_bits div 8 <= 8180
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New C9:  dns_types__header_bits div 8 >= - 9223372036854775808
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New C10:  dns_types__header_bits div 8 <= 9223372036854775807
-S-  Applied substitution rule create_respo_rules(167).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__first by:
          1.
<S>  New C14:  response_counter >= 1
-S-  Applied substitution rule create_respo_rules(168).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New C15:  response_counter <= 64
***  Proved C13:  current_byte <= 2147483635
     using hypothesis H36.
***  Proved C14:  response_counter >= 1
     using hypothesis H1.
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H6:  start_byte <= 8192
<S>  New H9:  current_byte < 8192 - (12 + dns_types__header_bits div 8) - 
          current_name_length
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H9:  current_byte < 8168 - current_name_length
<S>  New C1:  current_byte + 12 >= - 12
<S>  New C3:  current_byte + 12 >= - 12
<S>  New C2:  current_byte + 12 <= 16371
<S>  New C4:  current_byte + 12 <= 16371
<S>  New C5:  current_byte + 12 >= - 2147483660
<S>  New C6:  current_byte + 12 <= 2147483635
<S>  New C7:  true
<S>  New C8:  true
<S>  New C9:  true
<S>  New C10:  true
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of rr_type__maxnumrecords 
          by:
          64.
<S>  New H5:  num_found <= 64
<S>  New H8:  answer_count <= dns_types__unsigned_short__last - 64
<S>  New H34:  answer_count~ <= dns_types__unsigned_short__last - 64
-S-  Applied substitution rule create_respo_rules(13).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 
          character__last)
-S-  Applied substitution rule create_respo_rules(14).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= dns_types__byte__last)
<S>  New H49:  true
<S>  New H55:  true
<S>  New H67:  true
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H50:  true
<S>  New H56:  true
<S>  New H68:  true
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H16:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H22:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H24:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H26:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H28:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H31:  answer_count >= 0
-S-  Applied substitution rule create_respo_rules(53).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H17:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H23:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H25:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H27:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H29:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H32:  answer_count <= 65535
<S>  New H8:  answer_count <= 65471
<S>  New H34:  answer_count~ <= 65471
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H18:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(59).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H19:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H20:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(85).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H21:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
-S-  Applied substitution rule create_respo_rules(120).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__first by:
          0.
<S>  New H37:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          >= 0
<S>  New H42:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(121).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__last by:
          65535.
<S>  New H38:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          <= 65535
<S>  New H43:  qname_location <= 65535
-S-  Applied substitution rule create_respo_rules(124).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__modulus by:
          65536.
<S>  New H37:  (qname_location + 49152) mod 65536 >= 0
<S>  New H38:  (qname_location + 49152) mod 65536 <= 65535
-S-  Applied substitution rule create_respo_rules(159).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H13:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(domainname, [i___1]
          ) and element(domainname, [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(160).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H4:  current_name_length <= 129
<S>  New H13:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 129 -> 0 <= 
          element(domainname, [i___1]) and element(domainname, [i___1]) <= 255)
%%%  Simplified C1 further, to give:
     %%%  C1:  current_byte >= - 24
%%%  Simplified C2 further, to give:
     %%%  C2:  current_byte <= 16359
%%%  Simplified C3 further, to give:
     %%%  C3:  current_byte >= - 24
%%%  Simplified C4 further, to give:
     %%%  C4:  current_byte <= 16359
%%%  Simplified C5 further, to give:
     %%%  C5:  current_byte >= - 2147483672
%%%  Simplified C6 further, to give:
     %%%  C6:  current_byte <= 2147483623
***  Proved C15:  response_counter <= 64
     using hypotheses H2 & H5.
***  Proved C7:  true
***  Proved C8:  true
***  Proved C9:  true
***  Proved C10:  true
***  Proved C1:  current_byte >= - 24
     using hypothesis H10.
***  Proved C2:  current_byte <= 16359
     using hypothesis H36.
***  Proved C3:  current_byte >= - 24
     using hypothesis H10.
***  Proved C4:  current_byte <= 16359
     using hypothesis H36.
***  Proved C5:  current_byte >= - 2147483672
     using hypothesis H10.
***  Proved C6:  current_byte <= 2147483623
     using hypothesis H36.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_ns_19.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  answer_count = answer_count~
%%%  Simplified H13 on reading formula in, to give:
     %%%  H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(domainname, [i___1]) and element(
          domainname, [i___1]) <= character__last)
%%%  Simplified H18 on reading formula in, to give:
     %%%  H18:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H20 on reading formula in, to give:
     %%%  H20:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H33 has been replaced by "true".  (It is already present, as H6)
          .
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
%%%  Simplified H46 on reading formula in, to give:
     %%%  H46:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__2), [i___1]
          ) and element(fld_bytes(output_packet__2), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H61 has been replaced by "true".  (It is already present, as 
          H49).
---  Hypothesis H62 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H73 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H74 has been replaced by "true".  (It is already present, as 
          H36).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H75).
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H76).
%%%  Simplified H85 on reading formula in, to give:
     %%%  H85:  true
---  Hypothesis H90 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H91 has been replaced by "true".  (It is already present, as 
          H36).
%%%  Simplified H92 on reading formula in, to give:
     %%%  H92:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ttlinseconds(fld_inherit(
          element(replies, [i___1]))) and fld_ttlinseconds(fld_inherit(element(
          replies, [i___1]))) <= unsigned_types__unsigned32__last)
%%%  Simplified H93 on reading formula in, to give:
     %%%  H93:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__classtype__first 
          <= fld_class(fld_inherit(element(replies, [i___1]))) and fld_class(
          fld_inherit(element(replies, [i___1]))) <= rr_type__classtype__last)
%%%  Simplified H94 on reading formula in, to give:
     %%%  H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> character__first <= element(
          fld_nameserver(element(replies, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies, [i___1])), [i___2]) <= 
          character__last))
---  Hypothesis H98 has been replaced by "true".  (It is already present, as H4)
          .
***  Proved C1:  current_name_length >= rr_type__wirestringtypeindex__first
     using hypothesis H97.
***  Proved C2:  current_name_length <= rr_type__wirestringtypeindex__last
     using hypothesis H4.
***  Proved C3:  current_byte + 7 >= dns_types__packet_bytes_range__first
     using hypothesis H35.
***  Proved C5:  current_name_length >= 0
     using hypothesis H3.
***  Proved C6:  current_name_length <= rr_type__wirestringtypeindex__last
     using hypothesis H4.
***  Proved C8:  response_counter >= rr_type__returnedrecordsindextype__first
     using hypothesis H88.
***  Proved C9:  response_counter <= rr_type__returnedrecordsindextype__last
     using hypothesis H89.
***  Proved C10:  current_byte + 7 >= dns_types__packet_bytes_range__base__first
     using hypothesis H44.
***  Proved C11:  current_byte + 7 <= dns_types__packet_bytes_range__base__last
     using hypothesis H87.
-S-  Applied substitution rule create_respo_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H12:  start_byte <= 8180
<S>  New H30:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
          fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H36:  current_byte <= 8180
<S>  New H40:  current_byte <= 8179
<S>  New H41:  current_byte <= 8178
<S>  New H46:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
          fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= dns_types__byte__last)
<S>  New H52:  current_byte <= 8177
<S>  New H58:  current_byte <= 8176
<S>  New H64:  current_byte <= 8175
<S>  New H70:  current_byte <= 8174
<S>  New H82:  dns_types__header_bits div 8 <= 8180
<S>  New C4:  current_byte <= 8173
<S>  New C7:  current_byte + 7 <= 8174 - current_name_length
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H6:  start_byte <= 8192
<S>  New H9:  current_byte < 8192 - (12 + dns_types__header_bits div 8) - 
          current_name_length
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H75:  current_byte + 12 + 12 >= dns_types__qname_ptr_range__first
<S>  New H76:  current_byte + 12 + 12 <= dns_types__qname_ptr_range__last
<S>  New H79:  current_byte + 12 + 12 >= 
          dns_types__packet_bytes_range__base__first
<S>  New H80:  current_byte + 12 + 12 <= 
          dns_types__packet_bytes_range__base__last
<S>  New H81:  12 >= dns_types__packet_bytes_range__first
<S>  New H82:  true
<S>  New H83:  12 >= system__min_int
<S>  New H84:  12 <= system__max_int
<S>  New H9:  current_byte < 8168 - current_name_length
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of rr_type__maxnumrecords 
          by:
          64.
<S>  New H5:  num_found <= 64
<S>  New H8:  answer_count <= dns_types__unsigned_short__last - 64
<S>  New H34:  answer_count~ <= dns_types__unsigned_short__last - 64
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H83:  true
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H84:  true
-S-  Applied substitution rule create_respo_rules(13).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 
          character__last)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(fld_nameserver(
          element(replies, [i___1])), [i___2]) and element(fld_nameserver(
          element(replies, [i___1])), [i___2]) <= character__last))
-S-  Applied substitution rule create_respo_rules(14).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(fld_nameserver(
          element(replies, [i___1])), [i___2]) and element(fld_nameserver(
          element(replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H95:  response_counter >= 0
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H96:  response_counter <= 2147483647
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H14:  qname_location >= 0
<S>  New H75:  current_byte >= - 24
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H15:  qname_location <= 16383
<S>  New H76:  current_byte <= 16359
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H11:  start_byte >= 1
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H35:  current_byte >= 1
<S>  New H39:  current_byte >= 0
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__2), [i___1]
          ) and element(fld_bytes(output_packet__2), [i___1]) <= 
          dns_types__byte__last)
<S>  New H51:  current_byte >= - 2
<S>  New H57:  current_byte >= - 3
<S>  New H63:  current_byte >= - 4
<S>  New H69:  current_byte >= - 5
<S>  New H81:  true
-S-  Applied substitution rule create_respo_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H44:  current_byte >= - 2147483649
<S>  New H53:  current_byte >= - 2147483651
<S>  New H59:  current_byte >= - 2147483652
<S>  New H65:  current_byte >= - 2147483653
<S>  New H71:  current_byte >= - 2147483654
<S>  New H86:  current_byte >= - 2147483660
<S>  New H79:  current_byte >= - 2147483672
-S-  Applied substitution rule create_respo_rules(42).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H45:  current_byte <= 2147483646
<S>  New H54:  current_byte <= 2147483644
<S>  New H60:  current_byte <= 2147483643
<S>  New H66:  current_byte <= 2147483642
<S>  New H72:  current_byte <= 2147483641
<S>  New H87:  current_byte <= 2147483635
<S>  New H80:  current_byte <= 2147483623
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H49:  true
<S>  New H55:  true
<S>  New H67:  true
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H50:  true
<S>  New H56:  true
<S>  New H68:  true
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H16:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H22:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H24:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H26:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H28:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H31:  answer_count >= 0
-S-  Applied substitution rule create_respo_rules(53).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H17:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H23:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H25:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H27:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H29:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H32:  answer_count <= 65535
<S>  New H8:  answer_count <= 65471
<S>  New H34:  answer_count~ <= 65471
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H18:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(59).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H19:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H20:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(85).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H21:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
-S-  Applied substitution rule create_respo_rules(120).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__first by:
          0.
<S>  New H37:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          >= 0
<S>  New H42:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(121).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__last by:
          65535.
<S>  New H38:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          <= 65535
<S>  New H43:  qname_location <= 65535
-S-  Applied substitution rule create_respo_rules(124).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__modulus by:
          65536.
<S>  New H37:  (qname_location + 49152) mod 65536 >= 0
<S>  New H38:  (qname_location + 49152) mod 65536 <= 65535
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__first by:
          0.
<S>  New H92:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) <= 
          unsigned_types__unsigned32__last)
-S-  Applied substitution rule create_respo_rules(127).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__last by:
          4294967295.
<S>  New H92:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) <= 4294967295)
-S-  Applied substitution rule create_respo_rules(132).
     This was achieved by replacing all occurrences of 
          rr_type__classtype__first by:
          rr_type__internet.
<S>  New H93:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies, [i___1]))) and fld_class(
          fld_inherit(element(replies, [i___1]))) <= rr_type__classtype__last)
-S-  Applied substitution rule create_respo_rules(133).
     This was achieved by replacing all occurrences of rr_type__classtype__last 
          by:
          rr_type__hs.
<S>  New H93:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies, [i___1]))) and fld_class(
          fld_inherit(element(replies, [i___1]))) <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(159).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H97:  current_name_length >= 1
<S>  New H13:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(domainname, [i___1]
          ) and element(domainname, [i___1]) <= 255)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= rr_type__wirestringtypeindex__last -> 0 <= 
          element(fld_nameserver(element(replies, [i___1])), [i___2]) and 
          element(fld_nameserver(element(replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(160).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H4:  current_name_length <= 129
<S>  New H13:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 129 -> 0 <= 
          element(domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= 129 -> 0 <= element(fld_nameserver(element(
          replies, [i___1])), [i___2]) and element(fld_nameserver(element(
          replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(167).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__first by:
          1.
<S>  New H88:  response_counter >= 1
<S>  New H92:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) <= 4294967295)
<S>  New H93:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies, [i___1]))) and fld_class(
          fld_inherit(element(replies, [i___1]))) <= rr_type__hs)
<S>  New H94:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= 129 -> 0 <= element(fld_nameserver(element(
          replies, [i___1])), [i___2]) and element(fld_nameserver(element(
          replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(168).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New H89:  response_counter <= 64
<S>  New H92:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ttlinseconds(fld_inherit(element(replies, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(replies, [i___1]))) <= 
          4294967295)
<S>  New H93:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__internet <= fld_class(fld_inherit(element(replies, [i___1])))
           and fld_class(fld_inherit(element(replies, [i___1]))) <= rr_type__hs)
<S>  New H94:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 129 -> 0 <= element(
          fld_nameserver(element(replies, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies, [i___1])), [i___2]) <= 255))
***  Proved C7:  current_byte + 7 <= 8174 - current_name_length
     via its standard form, which is:
     Std.Fm C7:  - current_byte - current_name_length > - 8168
     using hypothesis H9.
---  Eliminated hypothesis H33 (true-hypothesis).
---  Eliminated hypothesis H61 (true-hypothesis).
---  Eliminated hypothesis H62 (true-hypothesis).
---  Eliminated hypothesis H73 (true-hypothesis).
---  Eliminated hypothesis H74 (true-hypothesis).
---  Eliminated hypothesis H77 (true-hypothesis).
---  Eliminated hypothesis H78 (true-hypothesis).
---  Eliminated hypothesis H85 (true-hypothesis).
---  Eliminated hypothesis H90 (true-hypothesis).
---  Eliminated hypothesis H91 (true-hypothesis).
---  Eliminated hypothesis H98 (true-hypothesis).
---  Eliminated hypothesis H82 (true-hypothesis).
---  Eliminated hypothesis H83 (true-hypothesis).
---  Eliminated hypothesis H84 (true-hypothesis).
---  Eliminated hypothesis H81 (true-hypothesis).
---  Eliminated hypothesis H49 (true-hypothesis).
---  Eliminated hypothesis H55 (true-hypothesis).
---  Eliminated hypothesis H67 (true-hypothesis).
---  Eliminated hypothesis H50 (true-hypothesis).
---  Eliminated hypothesis H56 (true-hypothesis).
---  Eliminated hypothesis H68 (true-hypothesis).
---  Eliminated hypothesis H88 (duplicate of H1).
---  Eliminated hypothesis H97 (duplicate of H3).
---  Eliminated hypothesis H39 (duplicate of H10).
---  Eliminated hypothesis H42 (duplicate of H14).
---  Eliminated hypothesis H6 (redundant, given H12).
---  Eliminated hypothesis H10 (redundant, given H35).
---  Eliminated hypothesis H32 (redundant, given H8).
---  Eliminated hypothesis H36 (redundant, given H40).
---  Eliminated hypothesis H40 (redundant, given H41).
---  Eliminated hypothesis H41 (redundant, given H52).
---  Eliminated hypothesis H43 (redundant, given H15).
---  Eliminated hypothesis H44 (redundant, given H35).
---  Eliminated hypothesis H45 (redundant, given H52).
---  Eliminated hypothesis H51 (redundant, given H35).
---  Eliminated hypothesis H52 (redundant, given H58).
---  Eliminated hypothesis H53 (redundant, given H35).
---  Eliminated hypothesis H54 (redundant, given H58).
---  Eliminated hypothesis H57 (redundant, given H35).
---  Eliminated hypothesis H58 (redundant, given H64).
---  Eliminated hypothesis H59 (redundant, given H35).
---  Eliminated hypothesis H60 (redundant, given H64).
---  Eliminated hypothesis H63 (redundant, given H35).
---  Eliminated hypothesis H64 (redundant, given H70).
---  Eliminated hypothesis H65 (redundant, given H35).
---  Eliminated hypothesis H66 (redundant, given H70).
---  Eliminated hypothesis H69 (redundant, given H35).
---  Eliminated hypothesis H70 (redundant, given H3 & H9).
---  Eliminated hypothesis H71 (redundant, given H35).
---  Eliminated hypothesis H72 (redundant, given H76).
---  Eliminated hypothesis H75 (redundant, given H35).
---  Eliminated hypothesis H76 (redundant, given H3 & H9).
---  Eliminated hypothesis H79 (redundant, given H35).
---  Eliminated hypothesis H80 (redundant, given H3 & H9).
---  Eliminated hypothesis H86 (redundant, given H35).
---  Eliminated hypothesis H87 (redundant, given H3 & H9).
---  Eliminated hypothesis H95 (redundant, given H1).
---  Eliminated hypothesis H96 (redundant, given H89).
-S-  Eliminated hypothesis H7.
     This was achieved by replacing all occurrences of answer_count by:
          answer_count~.
<S>  New H31:  answer_count~ >= 0
<S>  New H8:  answer_count~ <= 65471
---  Substituted hypothesis H47, which specifies an equivalence for fld_header(
          output_packet__2).
%%%  Simplified H37 further (given H14 & H15), to give:
     %%%  H37:  qname_location >= - 49152
%%%  Simplified H38 further (given H14 & H15), to give:
     %%%  H38:  qname_location <= 16383
     +++  New H99:  integer__size >= 0
     +++  New H100:  character__size >= 0
     +++  New H101:  natural__size >= 0
     +++  New H102:  positive__size >= 0
     +++  New H103:  dns_types__qname_ptr_range__size >= 0
     +++  New H104:  dns_types__qname_ptr_range__base__first <= 
          dns_types__qname_ptr_range__base__last
     +++  New H105:  dns_types__packet_length_range__size >= 0
     +++  New H106:  dns_types__packet_bytes_range__size >= 0
     +++  New H107:  dns_types__dns_packet__size >= 0
     +++  New H108:  unsigned_types__unsigned16__size >= 0
     +++  New H109:  unsigned_types__unsigned32__size >= 0
     +++  New H110:  rr_type__classtype__size >= 0
     +++  New H111:  rr_type__wirestringtypeindex__size >= 0
     +++  New H112:  rr_type__wirestringtype__size >= 0
     +++  New H113:  rr_type__resourcerecordtype__size >= 0
     +++  New H114:  rr_type__returnedrecordsindextype__size >= 0
     +++  New H115:  rr_type__numberofrecordstype__size >= 0
     +++  New H116:  rr_type__ns_record_type__nsrecordtype__size >= 0
     +++  New H117:  dns_types__qname_ptr_range__base__first <= 0
     +++  New H118:  dns_types__qname_ptr_range__base__last >= 16383


@@@@@@@@@@  VC: procedure_create_response_ns_20.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  answer_count = answer_count~
%%%  Simplified H13 on reading formula in, to give:
     %%%  H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(domainname, [i___1]) and element(
          domainname, [i___1]) <= character__last)
%%%  Simplified H18 on reading formula in, to give:
     %%%  H18:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H20 on reading formula in, to give:
     %%%  H20:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H33 has been replaced by "true".  (It is already present, as H6)
          .
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
%%%  Simplified H46 on reading formula in, to give:
     %%%  H46:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__2), [i___1]
          ) and element(fld_bytes(output_packet__2), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H61 has been replaced by "true".  (It is already present, as 
          H49).
---  Hypothesis H62 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H73 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H74 has been replaced by "true".  (It is already present, as 
          H36).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H75).
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H76).
%%%  Simplified H85 on reading formula in, to give:
     %%%  H85:  true
---  Hypothesis H90 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H91 has been replaced by "true".  (It is already present, as 
          H36).
%%%  Simplified H92 on reading formula in, to give:
     %%%  H92:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ttlinseconds(fld_inherit(
          element(replies, [i___1]))) and fld_ttlinseconds(fld_inherit(element(
          replies, [i___1]))) <= unsigned_types__unsigned32__last)
%%%  Simplified H93 on reading formula in, to give:
     %%%  H93:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__classtype__first 
          <= fld_class(fld_inherit(element(replies, [i___1]))) and fld_class(
          fld_inherit(element(replies, [i___1]))) <= rr_type__classtype__last)
%%%  Simplified H94 on reading formula in, to give:
     %%%  H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> character__first <= element(
          fld_nameserver(element(replies, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies, [i___1])), [i___2]) <= 
          character__last))
---  Hypothesis H98 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H99 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H100 has been replaced by "true".  (It is already present, as 
          H4).
---  Hypothesis H104 has been replaced by "true".  (It is already present, as 
          H4).
---  Hypothesis H106 has been replaced by "true".  (It is already present, as 
          H88).
---  Hypothesis H107 has been replaced by "true".  (It is already present, as 
          H89).
%%%  Simplified H110 on reading formula in, to give:
     %%%  H110:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__3), [i___1]
          ) and element(fld_bytes(output_packet__3), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H111 on reading formula in, to give:
     %%%  H111:  fld_header(output_packet__3) = fld_header(output_packet__2)
%%%  Simplified H112 on reading formula in, to give:
     %%%  H112:  output_packet__3 = upf_bytes(output_packet__2, fld_bytes(
          output_packet__3))
---  Hypothesis H113 has been replaced by "true".  (It is already present, as 
          H95).
---  Hypothesis H114 has been replaced by "true".  (It is already present, as 
          H96).
***  Proved C1:  response_counter + 1 >= natural__first
     using hypothesis H95.
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H96:  response_counter <= 2147483647
<S>  New C2:  response_counter <= 2147483646
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H6:  start_byte <= 8192
<S>  New H9:  current_byte < 8192 - (12 + dns_types__header_bits div 8) - 
          current_name_length
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H75:  current_byte + 12 + 12 >= dns_types__qname_ptr_range__first
<S>  New H76:  current_byte + 12 + 12 <= dns_types__qname_ptr_range__last
<S>  New H79:  current_byte + 12 + 12 >= 
          dns_types__packet_bytes_range__base__first
<S>  New H80:  current_byte + 12 + 12 <= 
          dns_types__packet_bytes_range__base__last
<S>  New H81:  12 >= dns_types__packet_bytes_range__first
<S>  New H82:  12 <= dns_types__packet_bytes_range__last
<S>  New H83:  12 >= system__min_int
<S>  New H84:  12 <= system__max_int
<S>  New H9:  current_byte < 8168 - current_name_length
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of rr_type__maxnumrecords 
          by:
          64.
<S>  New H5:  num_found <= 64
<S>  New H8:  answer_count <= dns_types__unsigned_short__last - 64
<S>  New H34:  answer_count~ <= dns_types__unsigned_short__last - 64
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H83:  true
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H84:  true
-S-  Applied substitution rule create_respo_rules(13).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 
          character__last)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(fld_nameserver(
          element(replies, [i___1])), [i___2]) and element(fld_nameserver(
          element(replies, [i___1])), [i___2]) <= character__last))
-S-  Applied substitution rule create_respo_rules(14).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(fld_nameserver(
          element(replies, [i___1])), [i___2]) and element(fld_nameserver(
          element(replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H95:  response_counter >= 0
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H14:  qname_location >= 0
<S>  New H75:  current_byte >= - 24
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H15:  qname_location <= 16383
<S>  New H76:  current_byte <= 16359
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H11:  start_byte >= 1
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H35:  current_byte >= 1
<S>  New H39:  current_byte >= 0
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= dns_types__byte__last)
<S>  New H51:  current_byte >= - 2
<S>  New H57:  current_byte >= - 3
<S>  New H63:  current_byte >= - 4
<S>  New H69:  current_byte >= - 5
<S>  New H101:  current_byte >= - 6
<S>  New H110:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet__3), [i___1]) and element(fld_bytes(
          output_packet__3), [i___1]) <= dns_types__byte__last)
<S>  New H81:  true
-S-  Applied substitution rule create_respo_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H12:  start_byte <= 8180
<S>  New H36:  current_byte <= 8180
<S>  New H40:  current_byte <= 8179
<S>  New H41:  current_byte <= 8178
<S>  New H52:  current_byte <= 8177
<S>  New H58:  current_byte <= 8176
<S>  New H64:  current_byte <= 8175
<S>  New H70:  current_byte <= 8174
<S>  New H102:  current_byte <= 8173
<S>  New H105:  current_byte + 7 <= 8174 - current_name_length
<S>  New H82:  true
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__2), [i___1]
          ) and element(fld_bytes(output_packet__2), [i___1]) <= 
          dns_types__byte__last)
<S>  New H110:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__3), [i___1]
          ) and element(fld_bytes(output_packet__3), [i___1]) <= 
          dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H44:  current_byte >= - 2147483649
<S>  New H53:  current_byte >= - 2147483651
<S>  New H59:  current_byte >= - 2147483652
<S>  New H65:  current_byte >= - 2147483653
<S>  New H71:  current_byte >= - 2147483654
<S>  New H86:  current_byte >= - 2147483660
<S>  New H108:  current_byte >= - 2147483655
<S>  New H79:  current_byte >= - 2147483672
-S-  Applied substitution rule create_respo_rules(42).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H45:  current_byte <= 2147483646
<S>  New H54:  current_byte <= 2147483644
<S>  New H60:  current_byte <= 2147483643
<S>  New H66:  current_byte <= 2147483642
<S>  New H72:  current_byte <= 2147483641
<S>  New H87:  current_byte <= 2147483635
<S>  New H109:  current_byte <= 2147483640
<S>  New H80:  current_byte <= 2147483623
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H49:  true
<S>  New H55:  true
<S>  New H67:  true
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= dns_types__byte__last)
<S>  New H110:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__3), [i___1]) and element(fld_bytes(
          output_packet__3), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H50:  true
<S>  New H56:  true
<S>  New H68:  true
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= 255)
<S>  New H110:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__3), [i___1]) and element(fld_bytes(
          output_packet__3), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H16:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H22:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H24:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H26:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H28:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H31:  answer_count >= 0
-S-  Applied substitution rule create_respo_rules(53).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H17:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H23:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H25:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H27:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H29:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H32:  answer_count <= 65535
<S>  New H8:  answer_count <= 65471
<S>  New H34:  answer_count~ <= 65471
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H18:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(59).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H19:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H20:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(85).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H21:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
-S-  Applied substitution rule create_respo_rules(120).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__first by:
          0.
<S>  New H37:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          >= 0
<S>  New H42:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(121).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__last by:
          65535.
<S>  New H38:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          <= 65535
<S>  New H43:  qname_location <= 65535
-S-  Applied substitution rule create_respo_rules(124).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__modulus by:
          65536.
<S>  New H37:  (qname_location + 49152) mod 65536 >= 0
<S>  New H38:  (qname_location + 49152) mod 65536 <= 65535
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__first by:
          0.
<S>  New H92:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) <= 
          unsigned_types__unsigned32__last)
-S-  Applied substitution rule create_respo_rules(127).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__last by:
          4294967295.
<S>  New H92:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) <= 4294967295)
-S-  Applied substitution rule create_respo_rules(132).
     This was achieved by replacing all occurrences of 
          rr_type__classtype__first by:
          rr_type__internet.
<S>  New H93:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies, [i___1]))) and fld_class(
          fld_inherit(element(replies, [i___1]))) <= rr_type__classtype__last)
-S-  Applied substitution rule create_respo_rules(133).
     This was achieved by replacing all occurrences of rr_type__classtype__last 
          by:
          rr_type__hs.
<S>  New H93:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies, [i___1]))) and fld_class(
          fld_inherit(element(replies, [i___1]))) <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(159).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H97:  current_name_length >= 1
<S>  New H13:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(domainname, [i___1]
          ) and element(domainname, [i___1]) <= 255)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= rr_type__wirestringtypeindex__last -> 0 <= 
          element(fld_nameserver(element(replies, [i___1])), [i___2]) and 
          element(fld_nameserver(element(replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(160).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H4:  current_name_length <= 129
<S>  New H13:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 129 -> 0 <= 
          element(domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= 129 -> 0 <= element(fld_nameserver(element(
          replies, [i___1])), [i___2]) and element(fld_nameserver(element(
          replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(167).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__first by:
          1.
<S>  New H88:  response_counter >= 1
<S>  New H92:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) <= 4294967295)
<S>  New H93:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies, [i___1]))) and fld_class(
          fld_inherit(element(replies, [i___1]))) <= rr_type__hs)
<S>  New H94:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= 129 -> 0 <= element(fld_nameserver(element(
          replies, [i___1])), [i___2]) and element(fld_nameserver(element(
          replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(168).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New H89:  response_counter <= 64
<S>  New H92:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ttlinseconds(fld_inherit(element(replies, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(replies, [i___1]))) <= 
          4294967295)
<S>  New H93:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__internet <= fld_class(fld_inherit(element(replies, [i___1])))
           and fld_class(fld_inherit(element(replies, [i___1]))) <= rr_type__hs)
<S>  New H94:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 129 -> 0 <= element(
          fld_nameserver(element(replies, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies, [i___1])), [i___2]) <= 255))
***  Proved C2:  response_counter <= 2147483646
     using hypothesis H89.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_ns_21.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  answer_count = answer_count~
%%%  Simplified H13 on reading formula in, to give:
     %%%  H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(domainname, [i___1]) and element(
          domainname, [i___1]) <= character__last)
%%%  Simplified H18 on reading formula in, to give:
     %%%  H18:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H20 on reading formula in, to give:
     %%%  H20:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H33 has been replaced by "true".  (It is already present, as H6)
          .
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
%%%  Simplified H46 on reading formula in, to give:
     %%%  H46:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__2), [i___1]
          ) and element(fld_bytes(output_packet__2), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H61 has been replaced by "true".  (It is already present, as 
          H49).
---  Hypothesis H62 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H73 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H74 has been replaced by "true".  (It is already present, as 
          H36).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H75).
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H76).
%%%  Simplified H85 on reading formula in, to give:
     %%%  H85:  true
---  Hypothesis H90 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H91 has been replaced by "true".  (It is already present, as 
          H36).
%%%  Simplified H92 on reading formula in, to give:
     %%%  H92:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ttlinseconds(fld_inherit(
          element(replies, [i___1]))) and fld_ttlinseconds(fld_inherit(element(
          replies, [i___1]))) <= unsigned_types__unsigned32__last)
%%%  Simplified H93 on reading formula in, to give:
     %%%  H93:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__classtype__first 
          <= fld_class(fld_inherit(element(replies, [i___1]))) and fld_class(
          fld_inherit(element(replies, [i___1]))) <= rr_type__classtype__last)
%%%  Simplified H94 on reading formula in, to give:
     %%%  H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> character__first <= element(
          fld_nameserver(element(replies, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies, [i___1])), [i___2]) <= 
          character__last))
---  Hypothesis H98 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H99 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H100 has been replaced by "true".  (It is already present, as 
          H4).
---  Hypothesis H104 has been replaced by "true".  (It is already present, as 
          H4).
---  Hypothesis H106 has been replaced by "true".  (It is already present, as 
          H88).
---  Hypothesis H107 has been replaced by "true".  (It is already present, as 
          H89).
%%%  Simplified H110 on reading formula in, to give:
     %%%  H110:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__3), [i___1]
          ) and element(fld_bytes(output_packet__3), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H111 on reading formula in, to give:
     %%%  H111:  fld_header(output_packet__3) = fld_header(output_packet__2)
%%%  Simplified H112 on reading formula in, to give:
     %%%  H112:  output_packet__3 = upf_bytes(output_packet__2, fld_bytes(
          output_packet__3))
---  Hypothesis H113 has been replaced by "true".  (It is already present, as 
          H95).
---  Hypothesis H114 has been replaced by "true".  (It is already present, as 
          H96).
---  Hypothesis H117 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H118 has been replaced by "true".  (It is already present, as 
          H36).
---  Hypothesis H119 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H120 has been replaced by "true".  (It is already present, as 
          H4).
***  Proved C1:  current_byte + 12 + current_name_length >= 
          dns_types__packet_bytes_range__first
     using hypotheses H3 & H35.
***  Proved C5:  current_byte + 12 >= dns_types__packet_bytes_range__base__first
     using hypothesis H86.
***  Proved C6:  current_byte + 12 <= dns_types__packet_bytes_range__base__last
     using hypothesis H87.
-S-  Applied substitution rule create_respo_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H12:  start_byte <= 8180
<S>  New H30:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
          fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H36:  current_byte <= 8180
<S>  New H40:  current_byte <= 8179
<S>  New H41:  current_byte <= 8178
<S>  New H46:  for_all(i___1 : integer, dns_types__packet_bytes_range__first <= 
          i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
          fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= dns_types__byte__last)
<S>  New H52:  current_byte <= 8177
<S>  New H58:  current_byte <= 8176
<S>  New H64:  current_byte <= 8175
<S>  New H70:  current_byte <= 8174
<S>  New H82:  dns_types__header_bits div 8 <= 8180
<S>  New H102:  current_byte <= 8173
<S>  New H105:  current_byte + 7 <= 8174 - current_name_length
<S>  New H110:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= 8180 -> dns_types__byte__first <= element(
          fld_bytes(output_packet__3), [i___1]) and element(fld_bytes(
          output_packet__3), [i___1]) <= dns_types__byte__last)
<S>  New C2:  current_byte + 12 + current_name_length <= 8180
<S>  New C4:  current_name_length <= 8180
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H11:  start_byte >= 1
<S>  New H35:  current_byte >= 1
<S>  New H39:  current_byte >= 0
<S>  New H51:  current_byte >= - 2
<S>  New H57:  current_byte >= - 3
<S>  New H63:  current_byte >= - 4
<S>  New H69:  current_byte >= - 5
<S>  New H81:  dns_types__header_bits div 8 >= 1
<S>  New H101:  current_byte >= - 6
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__2), [i___1]
          ) and element(fld_bytes(output_packet__2), [i___1]) <= 
          dns_types__byte__last)
<S>  New H110:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__3), [i___1]
          ) and element(fld_bytes(output_packet__3), [i___1]) <= 
          dns_types__byte__last)
<S>  New C3:  current_name_length >= 1
***  Proved C3:  current_name_length >= 1
     using hypothesis H3.
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H6:  start_byte <= 8192
<S>  New H9:  current_byte < 8192 - (12 + dns_types__header_bits div 8) - 
          current_name_length
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H75:  current_byte + 12 + 12 >= dns_types__qname_ptr_range__first
<S>  New H76:  current_byte + 12 + 12 <= dns_types__qname_ptr_range__last
<S>  New H79:  current_byte + 12 + 12 >= 
          dns_types__packet_bytes_range__base__first
<S>  New H80:  current_byte + 12 + 12 <= 
          dns_types__packet_bytes_range__base__last
<S>  New H81:  true
<S>  New H82:  true
<S>  New H83:  12 >= system__min_int
<S>  New H84:  12 <= system__max_int
<S>  New H9:  current_byte < 8168 - current_name_length
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of rr_type__maxnumrecords 
          by:
          64.
<S>  New H5:  num_found <= 64
<S>  New H8:  answer_count <= dns_types__unsigned_short__last - 64
<S>  New H34:  answer_count~ <= dns_types__unsigned_short__last - 64
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H83:  true
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H84:  true
-S-  Applied substitution rule create_respo_rules(13).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 
          character__last)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(fld_nameserver(
          element(replies, [i___1])), [i___2]) and element(fld_nameserver(
          element(replies, [i___1])), [i___2]) <= character__last))
-S-  Applied substitution rule create_respo_rules(14).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(fld_nameserver(
          element(replies, [i___1])), [i___2]) and element(fld_nameserver(
          element(replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H95:  response_counter >= 0
<S>  New H115:  response_counter >= - 1
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H96:  response_counter <= 2147483647
<S>  New H116:  response_counter <= 2147483646
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H14:  qname_location >= 0
<S>  New H75:  current_byte >= - 24
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H15:  qname_location <= 16383
<S>  New H76:  current_byte <= 16359
-S-  Applied substitution rule create_respo_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H44:  current_byte >= - 2147483649
<S>  New H53:  current_byte >= - 2147483651
<S>  New H59:  current_byte >= - 2147483652
<S>  New H65:  current_byte >= - 2147483653
<S>  New H71:  current_byte >= - 2147483654
<S>  New H86:  current_byte >= - 2147483660
<S>  New H108:  current_byte >= - 2147483655
<S>  New H79:  current_byte >= - 2147483672
-S-  Applied substitution rule create_respo_rules(42).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H45:  current_byte <= 2147483646
<S>  New H54:  current_byte <= 2147483644
<S>  New H60:  current_byte <= 2147483643
<S>  New H66:  current_byte <= 2147483642
<S>  New H72:  current_byte <= 2147483641
<S>  New H87:  current_byte <= 2147483635
<S>  New H109:  current_byte <= 2147483640
<S>  New H80:  current_byte <= 2147483623
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= dns_types__byte__last)
<S>  New H49:  true
<S>  New H55:  true
<S>  New H67:  true
<S>  New H110:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__3), [i___1]) and element(fld_bytes(
          output_packet__3), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H50:  true
<S>  New H56:  true
<S>  New H68:  true
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= 255)
<S>  New H110:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__3), [i___1]) and element(fld_bytes(
          output_packet__3), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H16:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H22:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H24:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H26:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H28:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H31:  answer_count >= 0
-S-  Applied substitution rule create_respo_rules(53).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H17:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H23:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H25:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H27:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H29:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H32:  answer_count <= 65535
<S>  New H8:  answer_count <= 65471
<S>  New H34:  answer_count~ <= 65471
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H18:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(59).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H19:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H20:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(85).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H21:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
-S-  Applied substitution rule create_respo_rules(120).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__first by:
          0.
<S>  New H37:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          >= 0
<S>  New H42:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(121).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__last by:
          65535.
<S>  New H38:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          <= 65535
<S>  New H43:  qname_location <= 65535
-S-  Applied substitution rule create_respo_rules(124).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__modulus by:
          65536.
<S>  New H37:  (qname_location + 49152) mod 65536 >= 0
<S>  New H38:  (qname_location + 49152) mod 65536 <= 65535
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__first by:
          0.
<S>  New H92:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) <= 
          unsigned_types__unsigned32__last)
-S-  Applied substitution rule create_respo_rules(127).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__last by:
          4294967295.
<S>  New H92:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) <= 4294967295)
-S-  Applied substitution rule create_respo_rules(132).
     This was achieved by replacing all occurrences of 
          rr_type__classtype__first by:
          rr_type__internet.
<S>  New H93:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies, [i___1]))) and fld_class(
          fld_inherit(element(replies, [i___1]))) <= rr_type__classtype__last)
-S-  Applied substitution rule create_respo_rules(133).
     This was achieved by replacing all occurrences of rr_type__classtype__last 
          by:
          rr_type__hs.
<S>  New H93:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies, [i___1]))) and fld_class(
          fld_inherit(element(replies, [i___1]))) <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(159).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H97:  current_name_length >= 1
<S>  New H13:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(domainname, [i___1]
          ) and element(domainname, [i___1]) <= 255)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= rr_type__wirestringtypeindex__last -> 0 <= 
          element(fld_nameserver(element(replies, [i___1])), [i___2]) and 
          element(fld_nameserver(element(replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(160).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H4:  current_name_length <= 129
<S>  New H13:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 129 -> 0 <= 
          element(domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= 129 -> 0 <= element(fld_nameserver(element(
          replies, [i___1])), [i___2]) and element(fld_nameserver(element(
          replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(167).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__first by:
          1.
<S>  New H88:  response_counter >= 1
<S>  New H92:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) <= 4294967295)
<S>  New H93:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies, [i___1]))) and fld_class(
          fld_inherit(element(replies, [i___1]))) <= rr_type__hs)
<S>  New H94:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= 129 -> 0 <= element(fld_nameserver(element(
          replies, [i___1])), [i___2]) and element(fld_nameserver(element(
          replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(168).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New H89:  response_counter <= 64
<S>  New H92:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ttlinseconds(fld_inherit(element(replies, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(replies, [i___1]))) <= 
          4294967295)
<S>  New H93:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__internet <= fld_class(fld_inherit(element(replies, [i___1])))
           and fld_class(fld_inherit(element(replies, [i___1]))) <= rr_type__hs)
<S>  New H94:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 129 -> 0 <= element(
          fld_nameserver(element(replies, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies, [i___1])), [i___2]) <= 255))
***  Proved C2:  current_byte + 12 + current_name_length <= 8180
     via its standard form, which is:
     Std.Fm C2:  12 + (current_byte + current_name_length) <= 8180
     using hypothesis H9.
***  Proved C4:  current_name_length <= 8180
     using hypothesis H4.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_ns_22.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  answer_count = answer_count~
%%%  Simplified H13 on reading formula in, to give:
     %%%  H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(domainname, [i___1]) and element(
          domainname, [i___1]) <= character__last)
%%%  Simplified H18 on reading formula in, to give:
     %%%  H18:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H20 on reading formula in, to give:
     %%%  H20:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H33 has been replaced by "true".  (It is already present, as H6)
          .
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
%%%  Simplified H46 on reading formula in, to give:
     %%%  H46:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__2), [i___1]
          ) and element(fld_bytes(output_packet__2), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H61 has been replaced by "true".  (It is already present, as 
          H49).
---  Hypothesis H62 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H73 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H74 has been replaced by "true".  (It is already present, as 
          H36).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H75).
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H76).
%%%  Simplified H85 on reading formula in, to give:
     %%%  H85:  true
---  Hypothesis H90 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H91 has been replaced by "true".  (It is already present, as 
          H36).
%%%  Simplified H92 on reading formula in, to give:
     %%%  H92:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ttlinseconds(fld_inherit(
          element(replies, [i___1]))) and fld_ttlinseconds(fld_inherit(element(
          replies, [i___1]))) <= unsigned_types__unsigned32__last)
%%%  Simplified H93 on reading formula in, to give:
     %%%  H93:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__classtype__first 
          <= fld_class(fld_inherit(element(replies, [i___1]))) and fld_class(
          fld_inherit(element(replies, [i___1]))) <= rr_type__classtype__last)
%%%  Simplified H94 on reading formula in, to give:
     %%%  H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> character__first <= element(
          fld_nameserver(element(replies, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies, [i___1])), [i___2]) <= 
          character__last))
---  Hypothesis H98 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H99 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H100 has been replaced by "true".  (It is already present, as 
          H4).
---  Hypothesis H104 has been replaced by "true".  (It is already present, as 
          H4).
---  Hypothesis H106 has been replaced by "true".  (It is already present, as 
          H88).
---  Hypothesis H107 has been replaced by "true".  (It is already present, as 
          H89).
%%%  Simplified H110 on reading formula in, to give:
     %%%  H110:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__3), [i___1]
          ) and element(fld_bytes(output_packet__3), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H111 on reading formula in, to give:
     %%%  H111:  fld_header(output_packet__3) = fld_header(output_packet__2)
%%%  Simplified H112 on reading formula in, to give:
     %%%  H112:  output_packet__3 = upf_bytes(output_packet__2, fld_bytes(
          output_packet__3))
---  Hypothesis H113 has been replaced by "true".  (It is already present, as 
          H95).
---  Hypothesis H114 has been replaced by "true".  (It is already present, as 
          H96).
---  Hypothesis H117 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H118 has been replaced by "true".  (It is already present, as 
          H36).
---  Hypothesis H119 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H120 has been replaced by "true".  (It is already present, as 
          H4).
---  Hypothesis H125 has been replaced by "true".  (It is already present, as 
          H86).
---  Hypothesis H126 has been replaced by "true".  (It is already present, as 
          H87).
---  Hypothesis H129 has been replaced by "true".  (It is already present, as 
          H115).
---  Hypothesis H130 has been replaced by "true".  (It is already present, as 
          H116).
---  Hypothesis H132 has been replaced by "true".  (It is already present, as 
          H92).
---  Hypothesis H133 has been replaced by "true".  (It is already present, as 
          H93).
---  Hypothesis H134 has been replaced by "true".  (It is already present, as 
          H94).
---  Hypothesis H135 has been replaced by "true".  (It is already present, as 
          H115).
---  Hypothesis H136 has been replaced by "true".  (It is already present, as 
          H116).
***  Proved C1:  response_counter + 1 >= 
          rr_type__returnedrecordsindextype__first
     using hypothesis H88.
-S-  Applied substitution rule create_respo_rules(168).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New H89:  response_counter <= 64
<S>  New H92:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 64 -> 
          unsigned_types__unsigned32__first <= fld_ttlinseconds(fld_inherit(
          element(replies, [i___1]))) and fld_ttlinseconds(fld_inherit(element(
          replies, [i___1]))) <= unsigned_types__unsigned32__last)
<S>  New H93:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 64 -> 
          rr_type__classtype__first <= fld_class(fld_inherit(element(replies, [
          i___1]))) and fld_class(fld_inherit(element(replies, [i___1]))) <= 
          rr_type__classtype__last)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 64 -> 
          for_all(i___2 : integer, rr_type__wirestringtypeindex__first <= i___2 
          and i___2 <= rr_type__wirestringtypeindex__last -> character__first 
          <= element(fld_nameserver(element(replies, [i___1])), [i___2]) and 
          element(fld_nameserver(element(replies, [i___1])), [i___2]) <= 
          character__last))
<S>  New C2:  response_counter <= 63
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H6:  start_byte <= 8192
<S>  New H9:  current_byte < 8192 - (12 + dns_types__header_bits div 8) - 
          current_name_length
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H75:  current_byte + 12 + 12 >= dns_types__qname_ptr_range__first
<S>  New H76:  current_byte + 12 + 12 <= dns_types__qname_ptr_range__last
<S>  New H79:  current_byte + 12 + 12 >= 
          dns_types__packet_bytes_range__base__first
<S>  New H80:  current_byte + 12 + 12 <= 
          dns_types__packet_bytes_range__base__last
<S>  New H81:  12 >= dns_types__packet_bytes_range__first
<S>  New H82:  12 <= dns_types__packet_bytes_range__last
<S>  New H83:  12 >= system__min_int
<S>  New H84:  12 <= system__max_int
<S>  New H9:  current_byte < 8168 - current_name_length
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of rr_type__maxnumrecords 
          by:
          64.
<S>  New H5:  num_found <= 64
<S>  New H8:  answer_count <= dns_types__unsigned_short__last - 64
<S>  New H34:  answer_count~ <= dns_types__unsigned_short__last - 64
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H83:  true
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H84:  true
-S-  Applied substitution rule create_respo_rules(13).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 
          character__last)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 64 -> 
          for_all(i___2 : integer, rr_type__wirestringtypeindex__first <= i___2 
          and i___2 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          fld_nameserver(element(replies, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies, [i___1])), [i___2]) <= 
          character__last))
-S-  Applied substitution rule create_respo_rules(14).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 64 -> 
          for_all(i___2 : integer, rr_type__wirestringtypeindex__first <= i___2 
          and i___2 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          fld_nameserver(element(replies, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H95:  response_counter >= 0
<S>  New H115:  response_counter >= - 1
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H96:  response_counter <= 2147483647
<S>  New H116:  response_counter <= 2147483646
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H14:  qname_location >= 0
<S>  New H75:  current_byte >= - 24
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H15:  qname_location <= 16383
<S>  New H76:  current_byte <= 16359
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H11:  start_byte >= 1
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H35:  current_byte >= 1
<S>  New H39:  current_byte >= 0
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= dns_types__byte__last)
<S>  New H51:  current_byte >= - 2
<S>  New H57:  current_byte >= - 3
<S>  New H63:  current_byte >= - 4
<S>  New H69:  current_byte >= - 5
<S>  New H101:  current_byte >= - 6
<S>  New H110:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet__3), [i___1]) and element(fld_bytes(
          output_packet__3), [i___1]) <= dns_types__byte__last)
<S>  New H121:  current_byte + 12 + current_name_length >= 1
<S>  New H123:  current_name_length >= 1
<S>  New H81:  true
-S-  Applied substitution rule create_respo_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H12:  start_byte <= 8180
<S>  New H36:  current_byte <= 8180
<S>  New H40:  current_byte <= 8179
<S>  New H41:  current_byte <= 8178
<S>  New H52:  current_byte <= 8177
<S>  New H58:  current_byte <= 8176
<S>  New H64:  current_byte <= 8175
<S>  New H70:  current_byte <= 8174
<S>  New H102:  current_byte <= 8173
<S>  New H105:  current_byte + 7 <= 8174 - current_name_length
<S>  New H122:  current_byte + 12 + current_name_length <= 8180
<S>  New H124:  current_name_length <= 8180
<S>  New H82:  true
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__2), [i___1]
          ) and element(fld_bytes(output_packet__2), [i___1]) <= 
          dns_types__byte__last)
<S>  New H110:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__3), [i___1]
          ) and element(fld_bytes(output_packet__3), [i___1]) <= 
          dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H44:  current_byte >= - 2147483649
<S>  New H53:  current_byte >= - 2147483651
<S>  New H59:  current_byte >= - 2147483652
<S>  New H65:  current_byte >= - 2147483653
<S>  New H71:  current_byte >= - 2147483654
<S>  New H86:  current_byte >= - 2147483660
<S>  New H108:  current_byte >= - 2147483655
<S>  New H79:  current_byte >= - 2147483672
-S-  Applied substitution rule create_respo_rules(42).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H45:  current_byte <= 2147483646
<S>  New H54:  current_byte <= 2147483644
<S>  New H60:  current_byte <= 2147483643
<S>  New H66:  current_byte <= 2147483642
<S>  New H72:  current_byte <= 2147483641
<S>  New H87:  current_byte <= 2147483635
<S>  New H109:  current_byte <= 2147483640
<S>  New H80:  current_byte <= 2147483623
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H49:  true
<S>  New H55:  true
<S>  New H67:  true
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= dns_types__byte__last)
<S>  New H110:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__3), [i___1]) and element(fld_bytes(
          output_packet__3), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H50:  true
<S>  New H56:  true
<S>  New H68:  true
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= 255)
<S>  New H110:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__3), [i___1]) and element(fld_bytes(
          output_packet__3), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H16:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H22:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H24:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H26:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H28:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H31:  answer_count >= 0
-S-  Applied substitution rule create_respo_rules(53).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H17:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H23:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H25:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H27:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H29:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H32:  answer_count <= 65535
<S>  New H8:  answer_count <= 65471
<S>  New H34:  answer_count~ <= 65471
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H18:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(59).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H19:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H20:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(85).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H21:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
-S-  Applied substitution rule create_respo_rules(120).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__first by:
          0.
<S>  New H37:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          >= 0
<S>  New H42:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(121).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__last by:
          65535.
<S>  New H38:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          <= 65535
<S>  New H43:  qname_location <= 65535
-S-  Applied substitution rule create_respo_rules(124).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__modulus by:
          65536.
<S>  New H37:  (qname_location + 49152) mod 65536 >= 0
<S>  New H38:  (qname_location + 49152) mod 65536 <= 65535
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__first by:
          0.
<S>  New H92:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 64 -> 
          0 <= fld_ttlinseconds(fld_inherit(element(replies, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(replies, [i___1]))) <= 
          unsigned_types__unsigned32__last)
-S-  Applied substitution rule create_respo_rules(127).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__last by:
          4294967295.
<S>  New H92:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 64 -> 
          0 <= fld_ttlinseconds(fld_inherit(element(replies, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(replies, [i___1]))) <= 
          4294967295)
-S-  Applied substitution rule create_respo_rules(132).
     This was achieved by replacing all occurrences of 
          rr_type__classtype__first by:
          rr_type__internet.
<S>  New H93:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 64 -> 
          rr_type__internet <= fld_class(fld_inherit(element(replies, [i___1])))
           and fld_class(fld_inherit(element(replies, [i___1]))) <= 
          rr_type__classtype__last)
-S-  Applied substitution rule create_respo_rules(133).
     This was achieved by replacing all occurrences of rr_type__classtype__last 
          by:
          rr_type__hs.
<S>  New H93:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 64 -> 
          rr_type__internet <= fld_class(fld_inherit(element(replies, [i___1])))
           and fld_class(fld_inherit(element(replies, [i___1]))) <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(159).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H97:  current_name_length >= 1
<S>  New H13:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(domainname, [i___1]
          ) and element(domainname, [i___1]) <= 255)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 64 -> 
          for_all(i___2 : integer, 1 <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(fld_nameserver(
          element(replies, [i___1])), [i___2]) and element(fld_nameserver(
          element(replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(160).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H4:  current_name_length <= 129
<S>  New H13:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 129 -> 0 <= 
          element(domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 64 -> 
          for_all(i___2 : integer, 1 <= i___2 and i___2 <= 129 -> 0 <= element(
          fld_nameserver(element(replies, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(167).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__first by:
          1.
<S>  New H88:  response_counter >= 1
<S>  New H92:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ttlinseconds(fld_inherit(element(replies, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(replies, [i___1]))) <= 
          4294967295)
<S>  New H93:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__internet <= fld_class(fld_inherit(element(replies, [i___1])))
           and fld_class(fld_inherit(element(replies, [i___1]))) <= rr_type__hs)
<S>  New H94:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 129 -> 0 <= element(
          fld_nameserver(element(replies, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(172).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__first by:
          0.
<S>  New H127:  num_found >= 0
-S-  Applied substitution rule create_respo_rules(173).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__last by:
          64.
<S>  New H128:  num_found <= 64
***  Proved C2:  response_counter <= 63
     using hypotheses H5 & H131.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_ns_23.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  answer_count = answer_count~
%%%  Simplified H13 on reading formula in, to give:
     %%%  H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(domainname, [i___1]) and element(
          domainname, [i___1]) <= character__last)
%%%  Simplified H18 on reading formula in, to give:
     %%%  H18:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H20 on reading formula in, to give:
     %%%  H20:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H33 has been replaced by "true".  (It is already present, as H6)
          .
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
%%%  Simplified H46 on reading formula in, to give:
     %%%  H46:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__2), [i___1]
          ) and element(fld_bytes(output_packet__2), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H61 has been replaced by "true".  (It is already present, as 
          H49).
---  Hypothesis H62 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H73 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H74 has been replaced by "true".  (It is already present, as 
          H36).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H75).
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H76).
%%%  Simplified H85 on reading formula in, to give:
     %%%  H85:  true
---  Hypothesis H90 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H91 has been replaced by "true".  (It is already present, as 
          H36).
%%%  Simplified H92 on reading formula in, to give:
     %%%  H92:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ttlinseconds(fld_inherit(
          element(replies, [i___1]))) and fld_ttlinseconds(fld_inherit(element(
          replies, [i___1]))) <= unsigned_types__unsigned32__last)
%%%  Simplified H93 on reading formula in, to give:
     %%%  H93:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__classtype__first 
          <= fld_class(fld_inherit(element(replies, [i___1]))) and fld_class(
          fld_inherit(element(replies, [i___1]))) <= rr_type__classtype__last)
%%%  Simplified H94 on reading formula in, to give:
     %%%  H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> character__first <= element(
          fld_nameserver(element(replies, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies, [i___1])), [i___2]) <= 
          character__last))
---  Hypothesis H98 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H99 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H100 has been replaced by "true".  (It is already present, as 
          H4).
---  Hypothesis H104 has been replaced by "true".  (It is already present, as 
          H4).
---  Hypothesis H106 has been replaced by "true".  (It is already present, as 
          H88).
---  Hypothesis H107 has been replaced by "true".  (It is already present, as 
          H89).
%%%  Simplified H110 on reading formula in, to give:
     %%%  H110:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__3), [i___1]
          ) and element(fld_bytes(output_packet__3), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H111 on reading formula in, to give:
     %%%  H111:  fld_header(output_packet__3) = fld_header(output_packet__2)
%%%  Simplified H112 on reading formula in, to give:
     %%%  H112:  output_packet__3 = upf_bytes(output_packet__2, fld_bytes(
          output_packet__3))
---  Hypothesis H113 has been replaced by "true".  (It is already present, as 
          H95).
---  Hypothesis H114 has been replaced by "true".  (It is already present, as 
          H96).
---  Hypothesis H117 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H118 has been replaced by "true".  (It is already present, as 
          H36).
---  Hypothesis H119 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H120 has been replaced by "true".  (It is already present, as 
          H4).
---  Hypothesis H125 has been replaced by "true".  (It is already present, as 
          H86).
---  Hypothesis H126 has been replaced by "true".  (It is already present, as 
          H87).
---  Hypothesis H129 has been replaced by "true".  (It is already present, as 
          H115).
---  Hypothesis H130 has been replaced by "true".  (It is already present, as 
          H116).
---  Hypothesis H132 has been replaced by "true".  (It is already present, as 
          H92).
---  Hypothesis H133 has been replaced by "true".  (It is already present, as 
          H93).
---  Hypothesis H134 has been replaced by "true".  (It is already present, as 
          H94).
---  Hypothesis H135 has been replaced by "true".  (It is already present, as 
          H115).
---  Hypothesis H136 has been replaced by "true".  (It is already present, as 
          H116).
%%%  Simplified H141 on reading formula in, to give:
     %%%  H141:  rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) = rr_type__maxdomainnamelength + 1 or 
          element(fld_nameserver(element(replies, [response_counter + 1])), [
          rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1])))]) = 0 and for_all(q_ : integer, 1 <= q_ and 
          q_ <= rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) - 1 -> element(fld_nameserver(element(
          replies, [response_counter + 1])), [q_]) <> 0)
***  Proved C1:  rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) >= rr_type__wirestringtypeindex__first
     using hypothesis H139.
***  Proved C2:  rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) <= rr_type__wirestringtypeindex__last
     using hypothesis H140.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_ns_24.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(domainname, [i___1]) and element(
          domainname, [i___1]) <= character__last)
%%%  Simplified H10 on reading formula in, to give:
     %%%  H10:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H12 on reading formula in, to give:
     %%%  H12:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H22 on reading formula in, to give:
     %%%  H22:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H27 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H28 has been replaced by "true".  (It is already present, as H4)
          .
%%%  Simplified H29 on reading formula in, to give:
     %%%  H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ttlinseconds(fld_inherit(
          element(replies__1, [i___1]))) and fld_ttlinseconds(fld_inherit(
          element(replies__1, [i___1]))) <= unsigned_types__unsigned32__last)
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__classtype__first 
          <= fld_class(fld_inherit(element(replies__1, [i___1]))) and fld_class(
          fld_inherit(element(replies__1, [i___1]))) <= 
          rr_type__classtype__last)
%%%  Simplified H31 on reading formula in, to give:
     %%%  H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> character__first <= element(
          fld_nameserver(element(replies__1, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies__1, [i___1])), [i___2]) <= 
          character__last))
---  Hypothesis H34 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H35 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H36 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H37 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H41 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H42 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H43 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H40).
%%%  Simplified H50 on reading formula in, to give:
     %%%  H50:  rr_type__wirenamelength(fld_nameserver(element(replies__1, [1]))
          ) = rr_type__maxdomainnamelength + 1 or element(fld_nameserver(
          element(replies__1, [1])), [rr_type__wirenamelength(fld_nameserver(
          element(replies__1, [1])))]) = 0 and for_all(q_ : integer, 1 <= q_ 
          and q_ <= rr_type__wirenamelength(fld_nameserver(element(replies__1, [
          1]))) - 1 -> element(fld_nameserver(element(replies__1, [1])), [q_]) 
          <> 0)
---  Hypothesis H51 has been replaced by "true".  (It is already present, as 
          H48).
---  Hypothesis H52 has been replaced by "true".  (It is already present, as 
          H49).
---  Hypothesis H53 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H54 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H40).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H58 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H59 has been replaced by "true".  (It is already present, as 
          H48).
---  Hypothesis H60 has been replaced by "true".  (It is already present, as 
          H49).
%%%  Simplified H65 on reading formula in, to give:
     %%%  H65:  true
---  Hypothesis H68 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H69 has been replaced by "true".  (It is already present, as H4)
          .
%%%  Simplified C11 on reading formula in, to give:
     %%%  C11:  true
***  Proved C11:  true
-S-  Applied substitution rule create_respo_rules(34).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New C1:  start_byte + dns_types__header_bits div 8 >= 0
<S>  New C3:  start_byte + dns_types__header_bits div 8 >= 0
-S-  Applied substitution rule create_respo_rules(35).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New C2:  start_byte + dns_types__header_bits div 8 <= 8192
<S>  New C4:  start_byte + dns_types__header_bits div 8 <= 8192
-S-  Applied substitution rule create_respo_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New C5:  start_byte + dns_types__header_bits div 8 >= - 2147483648
-S-  Applied substitution rule create_respo_rules(42).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New C6:  start_byte + dns_types__header_bits div 8 <= 2147483647
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H3:  start_byte >= 1
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New C7:  dns_types__header_bits div 8 >= 1
-S-  Applied substitution rule create_respo_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H4:  start_byte <= 8180
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New C8:  dns_types__header_bits div 8 <= 8180
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H62:  1 <= num_found__1 -> dns_types__packet_size - (12 + 
          dns_types__header_bits div 8) >= - 9223372036854775808 and 
          dns_types__packet_size - (12 + dns_types__header_bits div 8) <= 
          system__max_int
<S>  New H63:  1 <= num_found__1 -> dns_types__header_bits div 8 >= - 
          9223372036854775820 and 12 + dns_types__header_bits div 8 <= 
          system__max_int
<S>  New H64:  1 <= num_found__1 -> dns_types__header_bits div 8 >= - 
          9223372036854775808 and dns_types__header_bits div 8 <= 
          system__max_int
<S>  New C9:  dns_types__header_bits div 8 >= - 9223372036854775808
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H62:  1 <= num_found__1 -> dns_types__packet_size - (12 + 
          dns_types__header_bits div 8) >= - 9223372036854775808 and 
          dns_types__packet_size - (12 + dns_types__header_bits div 8) <= 
          9223372036854775807
<S>  New H63:  1 <= num_found__1 -> dns_types__header_bits div 8 >= - 
          9223372036854775820 and dns_types__header_bits div 8 <= 
          9223372036854775795
<S>  New H64:  1 <= num_found__1 -> dns_types__header_bits div 8 >= - 
          9223372036854775808 and dns_types__header_bits div 8 <= 
          9223372036854775807
<S>  New C10:  dns_types__header_bits div 8 <= 9223372036854775807
>>>  Restructured hypothesis H67 into:
     >>>  H67:  num_found__1 < 1 or dns_types__packet_size - (12 + 
          dns_types__header_bits div 8) - rr_type__wirenamelength(
          fld_nameserver(element(replies__1, [1]))) <= start_byte
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H1:  start_byte <= 8192
<S>  New H61:  1 <= num_found__1 -> 8192 - (12 + dns_types__header_bits div 8) 
          - rr_type__wirenamelength(fld_nameserver(element(replies__1, [1]))) 
          >= integer__base__first and 8192 - (12 + dns_types__header_bits div 8)
           - rr_type__wirenamelength(fld_nameserver(element(replies__1, [1]))) 
          <= integer__base__last
<S>  New H62:  1 <= num_found__1 -> 12 + dns_types__header_bits div 8 <= 
          9223372036854784000 and - 9223372036854767615 <= 12 + 
          dns_types__header_bits div 8
<S>  New H67:  num_found__1 < 1 or 8192 - (12 + dns_types__header_bits div 8) - 
          rr_type__wirenamelength(fld_nameserver(element(replies__1, [1]))) <= 
          start_byte
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H63:  true
<S>  New H64:  true
<S>  New H61:  1 <= num_found__1 -> 8168 - rr_type__wirenamelength(
          fld_nameserver(element(replies__1, [1]))) >= integer__base__first and 
          8168 - rr_type__wirenamelength(fld_nameserver(element(replies__1, [1])
          )) <= integer__base__last
<S>  New H62:  true
<S>  New H67:  num_found__1 < 1 or 8168 - rr_type__wirenamelength(
          fld_nameserver(element(replies__1, [1]))) <= start_byte
<S>  New C1:  start_byte >= - 12
<S>  New C3:  start_byte >= - 12
<S>  New C2:  start_byte <= 8180
<S>  New C4:  start_byte <= 8180
<S>  New C5:  start_byte >= - 2147483660
<S>  New C6:  start_byte <= 2147483635
<S>  New C7:  true
<S>  New C8:  true
<S>  New C9:  true
<S>  New C10:  true
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of 
          rr_type__maxdomainnamelength by:
          128.
<S>  New H50:  rr_type__wirenamelength(fld_nameserver(element(replies__1, [1])))
           = 129 or element(fld_nameserver(element(replies__1, [1])), [
          rr_type__wirenamelength(fld_nameserver(element(replies__1, [1])))]) = 
          0 and for_all(q_ : integer, 1 <= q_ and q_ <= rr_type__wirenamelength(
          fld_nameserver(element(replies__1, [1]))) - 1 -> element(
          fld_nameserver(element(replies__1, [1])), [q_]) <> 0)
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of rr_type__maxnumrecords 
          by:
          64.
<S>  New H2:  answer_count <= dns_types__unsigned_short__last - 64
-S-  Applied substitution rule create_respo_rules(8).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H66:  1 <= num_found__1 -> start_byte >= - 2147483648 and start_byte 
          <= integer__last
-S-  Applied substitution rule create_respo_rules(9).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H66:  1 <= num_found__1 -> start_byte >= - 2147483648 and start_byte 
          <= 2147483647
-S-  Applied substitution rule create_respo_rules(10).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H61:  1 <= num_found__1 -> rr_type__wirenamelength(fld_nameserver(
          element(replies__1, [1]))) <= 2147491816 and 8168 - 
          rr_type__wirenamelength(fld_nameserver(element(replies__1, [1]))) <= 
          integer__base__last
-S-  Applied substitution rule create_respo_rules(11).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H61:  1 <= num_found__1 -> rr_type__wirenamelength(fld_nameserver(
          element(replies__1, [1]))) <= 2147491816 and - 2147475479 <= 
          rr_type__wirenamelength(fld_nameserver(element(replies__1, [1])))
-S-  Applied substitution rule create_respo_rules(13).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H5:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 
          character__last)
<S>  New H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(fld_nameserver(
          element(replies__1, [i___1])), [i___2]) and element(fld_nameserver(
          element(replies__1, [i___1])), [i___2]) <= character__last))
-S-  Applied substitution rule create_respo_rules(14).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H5:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(fld_nameserver(
          element(replies__1, [i___1])), [i___2]) and element(fld_nameserver(
          element(replies__1, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H39:  true
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H40:  true
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H6:  qname_location >= 0
<S>  New H25:  true
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H7:  qname_location <= 16383
<S>  New H26:  true
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H8:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H14:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H16:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H18:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H20:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H23:  answer_count >= 0
-S-  Applied substitution rule create_respo_rules(53).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H9:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H15:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H17:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H19:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H21:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H24:  answer_count <= 65535
<S>  New H2:  answer_count <= 65471
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H10:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(59).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H11:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H12:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(85).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H13:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__first by:
          0.
<S>  New H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies__1, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies__1, [i___1]))) <= 
          unsigned_types__unsigned32__last)
-S-  Applied substitution rule create_respo_rules(127).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__last by:
          4294967295.
<S>  New H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies__1, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies__1, [i___1]))) <= 4294967295)
-S-  Applied substitution rule create_respo_rules(132).
     This was achieved by replacing all occurrences of 
          rr_type__classtype__first by:
          rr_type__internet.
<S>  New H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies__1, [i___1]))) and fld_class(
          fld_inherit(element(replies__1, [i___1]))) <= 
          rr_type__classtype__last)
-S-  Applied substitution rule create_respo_rules(133).
     This was achieved by replacing all occurrences of rr_type__classtype__last 
          by:
          rr_type__hs.
<S>  New H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies__1, [i___1]))) and fld_class(
          fld_inherit(element(replies__1, [i___1]))) <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(159).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H48:  rr_type__wirenamelength(fld_nameserver(element(replies__1, [1])))
           >= 1
<S>  New H5:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(domainname, [i___1]
          ) and element(domainname, [i___1]) <= 255)
<S>  New H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= rr_type__wirestringtypeindex__last -> 0 <= 
          element(fld_nameserver(element(replies__1, [i___1])), [i___2]) and 
          element(fld_nameserver(element(replies__1, [i___1])), [i___2]) <= 255)
          )
-S-  Applied substitution rule create_respo_rules(160).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H49:  rr_type__wirenamelength(fld_nameserver(element(replies__1, [1])))
           <= 129
<S>  New H5:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 129 -> 0 <= 
          element(domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= 129 -> 0 <= element(fld_nameserver(element(
          replies__1, [i___1])), [i___2]) and element(fld_nameserver(element(
          replies__1, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(167).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__first by:
          1.
<S>  New H46:  true
<S>  New H29:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies__1, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies__1, [i___1]))) <= 4294967295)
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies__1, [i___1]))) and fld_class(
          fld_inherit(element(replies__1, [i___1]))) <= rr_type__hs)
<S>  New H31:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= 129 -> 0 <= element(fld_nameserver(element(
          replies__1, [i___1])), [i___2]) and element(fld_nameserver(element(
          replies__1, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(168).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New H47:  true
<S>  New H29:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ttlinseconds(fld_inherit(element(replies__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(replies__1, [i___1]))) <= 
          4294967295)
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__internet <= fld_class(fld_inherit(element(replies__1, [i___1]
          ))) and fld_class(fld_inherit(element(replies__1, [i___1]))) <= 
          rr_type__hs)
<S>  New H31:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 129 -> 0 <= element(
          fld_nameserver(element(replies__1, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies__1, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(172).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__first by:
          0.
<S>  New H32:  num_found__1 >= 0
-S-  Applied substitution rule create_respo_rules(173).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__last by:
          64.
<S>  New H33:  num_found__1 <= 64
***  Proved C1:  start_byte >= - 12
     using hypothesis H3.
***  Proved C3:  start_byte >= - 12
     using hypothesis H3.
***  Proved C2:  start_byte <= 8180
     using hypothesis H4.
***  Proved C4:  start_byte <= 8180
     using hypothesis H4.
***  Proved C5:  start_byte >= - 2147483660
     using hypothesis H3.
***  Proved C6:  start_byte <= 2147483635
     using hypothesis H4.
***  Proved C7:  true
***  Proved C8:  true
***  Proved C9:  true
***  Proved C10:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_ns_25.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(domainname, [i___1]) and element(
          domainname, [i___1]) <= character__last)
%%%  Simplified H10 on reading formula in, to give:
     %%%  H10:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H12 on reading formula in, to give:
     %%%  H12:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H22 on reading formula in, to give:
     %%%  H22:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H27 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H28 has been replaced by "true".  (It is already present, as H4)
          .
%%%  Simplified H29 on reading formula in, to give:
     %%%  H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ttlinseconds(fld_inherit(
          element(replies__1, [i___1]))) and fld_ttlinseconds(fld_inherit(
          element(replies__1, [i___1]))) <= unsigned_types__unsigned32__last)
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__classtype__first 
          <= fld_class(fld_inherit(element(replies__1, [i___1]))) and fld_class(
          fld_inherit(element(replies__1, [i___1]))) <= 
          rr_type__classtype__last)
%%%  Simplified H31 on reading formula in, to give:
     %%%  H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> character__first <= element(
          fld_nameserver(element(replies__1, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies__1, [i___1])), [i___2]) <= 
          character__last))
---  Hypothesis H34 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H35 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H36 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H37 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H39 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H40 has been replaced by "true".  (It is already present, as H4)
          .
%%%  Simplified C11 on reading formula in, to give:
     %%%  C11:  true
***  Proved C11:  true
-S-  Applied substitution rule create_respo_rules(34).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New C1:  start_byte + dns_types__header_bits div 8 >= 0
<S>  New C3:  start_byte + dns_types__header_bits div 8 >= 0
-S-  Applied substitution rule create_respo_rules(35).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New C2:  start_byte + dns_types__header_bits div 8 <= 8192
<S>  New C4:  start_byte + dns_types__header_bits div 8 <= 8192
-S-  Applied substitution rule create_respo_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New C5:  start_byte + dns_types__header_bits div 8 >= - 2147483648
-S-  Applied substitution rule create_respo_rules(42).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New C6:  start_byte + dns_types__header_bits div 8 <= 2147483647
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H3:  start_byte >= 1
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New C7:  dns_types__header_bits div 8 >= 1
-S-  Applied substitution rule create_respo_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H4:  start_byte <= 8180
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New C8:  dns_types__header_bits div 8 <= 8180
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New C9:  dns_types__header_bits div 8 >= - 9223372036854775808
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New C10:  dns_types__header_bits div 8 <= 9223372036854775807
>>>  Restructured hypothesis H38 into:
     >>>  H38:  num_found__1 < 1
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H1:  start_byte <= 8192
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New C1:  start_byte >= - 12
<S>  New C3:  start_byte >= - 12
<S>  New C2:  start_byte <= 8180
<S>  New C4:  start_byte <= 8180
<S>  New C5:  start_byte >= - 2147483660
<S>  New C6:  start_byte <= 2147483635
<S>  New C7:  true
<S>  New C8:  true
<S>  New C9:  true
<S>  New C10:  true
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of rr_type__maxnumrecords 
          by:
          64.
<S>  New H2:  answer_count <= dns_types__unsigned_short__last - 64
-S-  Applied substitution rule create_respo_rules(13).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H5:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 
          character__last)
<S>  New H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(fld_nameserver(
          element(replies__1, [i___1])), [i___2]) and element(fld_nameserver(
          element(replies__1, [i___1])), [i___2]) <= character__last))
-S-  Applied substitution rule create_respo_rules(14).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H5:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(fld_nameserver(
          element(replies__1, [i___1])), [i___2]) and element(fld_nameserver(
          element(replies__1, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H6:  qname_location >= 0
<S>  New H25:  true
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H7:  qname_location <= 16383
<S>  New H26:  true
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H8:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H14:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H16:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H18:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H20:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H23:  answer_count >= 0
-S-  Applied substitution rule create_respo_rules(53).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H9:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H15:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H17:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H19:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H21:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H24:  answer_count <= 65535
<S>  New H2:  answer_count <= 65471
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H10:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(59).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H11:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H12:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(85).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H13:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__first by:
          0.
<S>  New H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies__1, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies__1, [i___1]))) <= 
          unsigned_types__unsigned32__last)
-S-  Applied substitution rule create_respo_rules(127).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__last by:
          4294967295.
<S>  New H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies__1, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies__1, [i___1]))) <= 4294967295)
-S-  Applied substitution rule create_respo_rules(132).
     This was achieved by replacing all occurrences of 
          rr_type__classtype__first by:
          rr_type__internet.
<S>  New H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies__1, [i___1]))) and fld_class(
          fld_inherit(element(replies__1, [i___1]))) <= 
          rr_type__classtype__last)
-S-  Applied substitution rule create_respo_rules(133).
     This was achieved by replacing all occurrences of rr_type__classtype__last 
          by:
          rr_type__hs.
<S>  New H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies__1, [i___1]))) and fld_class(
          fld_inherit(element(replies__1, [i___1]))) <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(159).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H5:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(domainname, [i___1]
          ) and element(domainname, [i___1]) <= 255)
<S>  New H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= rr_type__wirestringtypeindex__last -> 0 <= 
          element(fld_nameserver(element(replies__1, [i___1])), [i___2]) and 
          element(fld_nameserver(element(replies__1, [i___1])), [i___2]) <= 255)
          )
-S-  Applied substitution rule create_respo_rules(160).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H5:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 129 -> 0 <= 
          element(domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= 129 -> 0 <= element(fld_nameserver(element(
          replies__1, [i___1])), [i___2]) and element(fld_nameserver(element(
          replies__1, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(167).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__first by:
          1.
<S>  New H29:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies__1, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies__1, [i___1]))) <= 4294967295)
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies__1, [i___1]))) and fld_class(
          fld_inherit(element(replies__1, [i___1]))) <= rr_type__hs)
<S>  New H31:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= 129 -> 0 <= element(fld_nameserver(element(
          replies__1, [i___1])), [i___2]) and element(fld_nameserver(element(
          replies__1, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(168).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New H29:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ttlinseconds(fld_inherit(element(replies__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(replies__1, [i___1]))) <= 
          4294967295)
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__internet <= fld_class(fld_inherit(element(replies__1, [i___1]
          ))) and fld_class(fld_inherit(element(replies__1, [i___1]))) <= 
          rr_type__hs)
<S>  New H31:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 129 -> 0 <= element(
          fld_nameserver(element(replies__1, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies__1, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(172).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__first by:
          0.
<S>  New H32:  num_found__1 >= 0
-S-  Applied substitution rule create_respo_rules(173).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__last by:
          64.
<S>  New H33:  num_found__1 <= 64
***  Proved C1:  start_byte >= - 12
     using hypothesis H3.
***  Proved C3:  start_byte >= - 12
     using hypothesis H3.
***  Proved C2:  start_byte <= 8180
     using hypothesis H4.
***  Proved C4:  start_byte <= 8180
     using hypothesis H4.
***  Proved C5:  start_byte >= - 2147483660
     using hypothesis H3.
***  Proved C6:  start_byte <= 2147483635
     using hypothesis H4.
***  Proved C7:  true
***  Proved C8:  true
***  Proved C9:  true
***  Proved C10:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_ns_26.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  answer_count = answer_count~
%%%  Simplified H13 on reading formula in, to give:
     %%%  H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(domainname, [i___1]) and element(
          domainname, [i___1]) <= character__last)
%%%  Simplified H18 on reading formula in, to give:
     %%%  H18:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H20 on reading formula in, to give:
     %%%  H20:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H33 has been replaced by "true".  (It is already present, as H6)
          .
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
%%%  Simplified H46 on reading formula in, to give:
     %%%  H46:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__2), [i___1]
          ) and element(fld_bytes(output_packet__2), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H61 has been replaced by "true".  (It is already present, as 
          H49).
---  Hypothesis H62 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H73 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H74 has been replaced by "true".  (It is already present, as 
          H36).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H75).
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H76).
%%%  Simplified H85 on reading formula in, to give:
     %%%  H85:  true
---  Hypothesis H90 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H91 has been replaced by "true".  (It is already present, as 
          H36).
%%%  Simplified H92 on reading formula in, to give:
     %%%  H92:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ttlinseconds(fld_inherit(
          element(replies, [i___1]))) and fld_ttlinseconds(fld_inherit(element(
          replies, [i___1]))) <= unsigned_types__unsigned32__last)
%%%  Simplified H93 on reading formula in, to give:
     %%%  H93:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__classtype__first 
          <= fld_class(fld_inherit(element(replies, [i___1]))) and fld_class(
          fld_inherit(element(replies, [i___1]))) <= rr_type__classtype__last)
%%%  Simplified H94 on reading formula in, to give:
     %%%  H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> character__first <= element(
          fld_nameserver(element(replies, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies, [i___1])), [i___2]) <= 
          character__last))
---  Hypothesis H98 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H99 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H100 has been replaced by "true".  (It is already present, as 
          H4).
---  Hypothesis H104 has been replaced by "true".  (It is already present, as 
          H4).
---  Hypothesis H106 has been replaced by "true".  (It is already present, as 
          H88).
---  Hypothesis H107 has been replaced by "true".  (It is already present, as 
          H89).
%%%  Simplified H110 on reading formula in, to give:
     %%%  H110:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__3), [i___1]
          ) and element(fld_bytes(output_packet__3), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H111 on reading formula in, to give:
     %%%  H111:  fld_header(output_packet__3) = fld_header(output_packet__2)
%%%  Simplified H112 on reading formula in, to give:
     %%%  H112:  output_packet__3 = upf_bytes(output_packet__2, fld_bytes(
          output_packet__3))
---  Hypothesis H113 has been replaced by "true".  (It is already present, as 
          H95).
---  Hypothesis H114 has been replaced by "true".  (It is already present, as 
          H96).
---  Hypothesis H117 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H118 has been replaced by "true".  (It is already present, as 
          H36).
---  Hypothesis H119 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H120 has been replaced by "true".  (It is already present, as 
          H4).
---  Hypothesis H125 has been replaced by "true".  (It is already present, as 
          H86).
---  Hypothesis H126 has been replaced by "true".  (It is already present, as 
          H87).
---  Hypothesis H129 has been replaced by "true".  (It is already present, as 
          H115).
---  Hypothesis H130 has been replaced by "true".  (It is already present, as 
          H116).
---  Hypothesis H132 has been replaced by "true".  (It is already present, as 
          H92).
---  Hypothesis H133 has been replaced by "true".  (It is already present, as 
          H93).
---  Hypothesis H134 has been replaced by "true".  (It is already present, as 
          H94).
---  Hypothesis H135 has been replaced by "true".  (It is already present, as 
          H115).
---  Hypothesis H136 has been replaced by "true".  (It is already present, as 
          H116).
%%%  Simplified H141 on reading formula in, to give:
     %%%  H141:  rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) = rr_type__maxdomainnamelength + 1 or 
          element(fld_nameserver(element(replies, [response_counter + 1])), [
          rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1])))]) = 0 and for_all(q_ : integer, 1 <= q_ and 
          q_ <= rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) - 1 -> element(fld_nameserver(element(
          replies, [response_counter + 1])), [q_]) <> 0)
---  Hypothesis H142 has been replaced by "true".  (It is already present, as 
          H139).
---  Hypothesis H143 has been replaced by "true".  (It is already present, as 
          H140).
---  Hypothesis H144 has been replaced by "true".  (It is already present, as 
          H127).
---  Hypothesis H145 has been replaced by "true".  (It is already present, as 
          H128).
---  Hypothesis H146 has been replaced by "true".  (It is already present, as 
          H115).
---  Hypothesis H147 has been replaced by "true".  (It is already present, as 
          H116).
---  Hypothesis H148 has been replaced by "true".  (It is already present, as 
          H121).
---  Hypothesis H149 has been replaced by "true".  (It is already present, as 
          H122).
---  Hypothesis H150 has been replaced by "true".  (It is already present, as 
          H139).
---  Hypothesis H151 has been replaced by "true".  (It is already present, as 
          H140).
%%%  Simplified H156 on reading formula in, to give:
     %%%  H156:  true
---  Hypothesis H159 has been replaced by "true".  (It is already present, as 
          H121).
---  Hypothesis H160 has been replaced by "true".  (It is already present, as 
          H122).
%%%  Simplified C11 on reading formula in, to give:
     %%%  C11:  true
***  Proved C7:  dns_types__header_bits div 8 >= 
          dns_types__packet_bytes_range__first
     using hypothesis H81.
***  Proved C8:  dns_types__header_bits div 8 <= 
          dns_types__packet_bytes_range__last
     using hypothesis H82.
***  Proved C9:  dns_types__header_bits div 8 >= system__min_int
     using hypothesis H83.
***  Proved C10:  dns_types__header_bits div 8 <= system__max_int
     using hypothesis H84.
***  Proved C11:  true
-S-  Applied substitution rule create_respo_rules(34).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New C1:  current_byte + 12 + current_name_length + dns_types__header_bits 
          div 8 >= 0
<S>  New C3:  current_byte + 12 + current_name_length + dns_types__header_bits 
          div 8 >= 0
-S-  Applied substitution rule create_respo_rules(35).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New C2:  current_byte + 12 + current_name_length + dns_types__header_bits 
          div 8 <= 8192
<S>  New C4:  current_byte + 12 + current_name_length + dns_types__header_bits 
          div 8 <= 8192
-S-  Applied substitution rule create_respo_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H44:  current_byte >= - 2147483649
<S>  New H53:  current_byte >= - 2147483651
<S>  New H59:  current_byte >= - 2147483652
<S>  New H65:  current_byte >= - 2147483653
<S>  New H71:  current_byte >= - 2147483654
<S>  New H79:  current_byte + 12 + dns_types__header_bits div 8 >= - 2147483648
<S>  New H86:  current_byte >= - 2147483660
<S>  New H108:  current_byte >= - 2147483655
<S>  New C5:  current_byte + 12 + current_name_length + dns_types__header_bits 
          div 8 >= - 2147483648
-S-  Applied substitution rule create_respo_rules(42).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H45:  current_byte <= 2147483646
<S>  New H54:  current_byte <= 2147483644
<S>  New H60:  current_byte <= 2147483643
<S>  New H66:  current_byte <= 2147483642
<S>  New H72:  current_byte <= 2147483641
<S>  New H80:  current_byte + 12 + dns_types__header_bits div 8 <= 2147483647
<S>  New H87:  current_byte <= 2147483635
<S>  New H109:  current_byte <= 2147483640
<S>  New C6:  current_byte + 12 + current_name_length + dns_types__header_bits 
          div 8 <= 2147483647
>>>  Restructured hypothesis H158 into:
     >>>  H158:  num_found < response_counter + 1 or dns_types__packet_size - (
          12 + dns_types__header_bits div 8) - rr_type__wirenamelength(
          fld_nameserver(element(replies, [response_counter + 1]))) <= 
          current_byte + 12 + current_name_length
+++  Using "A->B, A |- B" on hypotheses H152 & H131 yields a new hypothesis:
     +++  H161:  dns_types__packet_size - (12 + dns_types__header_bits div 8) - 
          rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) >= integer__base__first and 
          dns_types__packet_size - (12 + dns_types__header_bits div 8) - 
          rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) <= integer__base__last
+++  Using "A->B, A |- B" on hypotheses H153 & H131 yields a new hypothesis:
     +++  H162:  dns_types__packet_size - (12 + dns_types__header_bits div 8) 
          >= system__min_int and dns_types__packet_size - (12 + 
          dns_types__header_bits div 8) <= system__max_int
+++  Using "A->B, A |- B" on hypotheses H154 & H131 yields a new hypothesis:
     +++  H163:  12 + dns_types__header_bits div 8 >= system__min_int and 12 + 
          dns_types__header_bits div 8 <= system__max_int
+++  Using "A->B, A |- B" on hypotheses H155 & H131 yields a new hypothesis:
     +++  H164:  dns_types__header_bits div 8 >= system__min_int and 
          dns_types__header_bits div 8 <= system__max_int
+++  Using "A->B, A |- B" on hypotheses H157 & H131 yields a new hypothesis:
     +++  H165:  current_byte + 12 + current_name_length >= integer__first and 
          current_byte + 12 + current_name_length <= integer__last
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H6:  start_byte <= 8192
<S>  New H9:  current_byte < 8192 - (12 + dns_types__header_bits div 8) - 
          current_name_length
<S>  New H152:  response_counter + 1 <= num_found -> 8192 - (12 + 
          dns_types__header_bits div 8) - rr_type__wirenamelength(
          fld_nameserver(element(replies, [response_counter + 1]))) >= 
          integer__base__first and 8192 - (12 + dns_types__header_bits div 8) - 
          rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) <= integer__base__last
<S>  New H153:  response_counter + 1 <= num_found -> 8192 - (12 + 
          dns_types__header_bits div 8) >= system__min_int and 8192 - (12 + 
          dns_types__header_bits div 8) <= system__max_int
<S>  New H158:  num_found < response_counter + 1 or 8192 - (12 + 
          dns_types__header_bits div 8) - rr_type__wirenamelength(
          fld_nameserver(element(replies, [response_counter + 1]))) <= 
          current_byte + 12 + current_name_length
<S>  New H161:  8192 - (12 + dns_types__header_bits div 8) - 
          rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) >= integer__base__first and 8192 - (12 + 
          dns_types__header_bits div 8) - rr_type__wirenamelength(
          fld_nameserver(element(replies, [response_counter + 1]))) <= 
          integer__base__last
<S>  New H162:  8192 - (12 + dns_types__header_bits div 8) >= system__min_int 
          and 8192 - (12 + dns_types__header_bits div 8) <= system__max_int
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H75:  current_byte + 12 + 12 >= dns_types__qname_ptr_range__first
<S>  New H76:  current_byte + 12 + 12 <= dns_types__qname_ptr_range__last
<S>  New H79:  current_byte + 12 >= - 2147483660
<S>  New H80:  current_byte + 12 <= 2147483635
<S>  New H81:  12 >= dns_types__packet_bytes_range__first
<S>  New H82:  12 <= dns_types__packet_bytes_range__last
<S>  New H83:  12 >= system__min_int
<S>  New H84:  12 <= system__max_int
<S>  New H154:  response_counter + 1 <= num_found -> 24 >= system__min_int and 
          24 <= system__max_int
<S>  New H155:  response_counter + 1 <= num_found -> 12 >= system__min_int and 
          12 <= system__max_int
<S>  New H163:  24 >= system__min_int and 24 <= system__max_int
<S>  New H164:  12 >= system__min_int and 12 <= system__max_int
<S>  New H9:  current_byte < 8168 - current_name_length
<S>  New H152:  response_counter + 1 <= num_found -> 8168 - 
          rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) >= integer__base__first and 8168 - 
          rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) <= integer__base__last
<S>  New H153:  response_counter + 1 <= num_found -> 8168 >= system__min_int 
          and 8168 <= system__max_int
<S>  New H158:  num_found < response_counter + 1 or 8168 - 
          rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) <= current_byte + 12 + current_name_length
<S>  New H161:  8168 - rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) >= integer__base__first and 8168 - 
          rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) <= integer__base__last
<S>  New H162:  8168 >= system__min_int and 8168 <= system__max_int
<S>  New C1:  current_byte + 12 + current_name_length >= - 12
<S>  New C3:  current_byte + 12 + current_name_length >= - 12
<S>  New C2:  current_byte + 12 + current_name_length <= 8180
<S>  New C4:  current_byte + 12 + current_name_length <= 8180
<S>  New C5:  current_byte + 12 + current_name_length >= - 2147483660
<S>  New C6:  current_byte + 12 + current_name_length <= 2147483635
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of 
          rr_type__maxdomainnamelength by:
          128.
<S>  New H141:  rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) = 129 or element(fld_nameserver(element(
          replies, [response_counter + 1])), [rr_type__wirenamelength(
          fld_nameserver(element(replies, [response_counter + 1])))]) = 0 and 
          for_all(q_ : integer, 1 <= q_ and q_ <= rr_type__wirenamelength(
          fld_nameserver(element(replies, [response_counter + 1]))) - 1 -> 
          element(fld_nameserver(element(replies, [response_counter + 1])), [q_]
          ) <> 0)
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of rr_type__maxnumrecords 
          by:
          64.
<S>  New H5:  num_found <= 64
<S>  New H8:  answer_count <= dns_types__unsigned_short__last - 64
<S>  New H34:  answer_count~ <= dns_types__unsigned_short__last - 64
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H83:  true
<S>  New H154:  response_counter + 1 <= num_found -> 24 <= system__max_int
<S>  New H155:  response_counter + 1 <= num_found -> 12 <= system__max_int
<S>  New H163:  24 <= system__max_int
<S>  New H164:  12 <= system__max_int
<S>  New H153:  response_counter + 1 <= num_found -> 8168 <= system__max_int
<S>  New H162:  8168 <= system__max_int
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H84:  true
<S>  New H154:  true
<S>  New H155:  true
<S>  New H163:  true
<S>  New H164:  true
<S>  New H153:  true
<S>  New H162:  true
-S-  Applied substitution rule create_respo_rules(8).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H157:  response_counter + 1 <= num_found -> current_byte + 12 + 
          current_name_length >= - 2147483648 and current_byte + 12 + 
          current_name_length <= integer__last
<S>  New H165:  current_byte + 12 + current_name_length >= - 2147483648 and 
          current_byte + 12 + current_name_length <= integer__last
-S-  Applied substitution rule create_respo_rules(9).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H157:  response_counter + 1 <= num_found -> current_byte + 12 + 
          current_name_length >= - 2147483648 and current_byte + 12 + 
          current_name_length <= 2147483647
<S>  New H165:  current_byte + 12 + current_name_length >= - 2147483648 and 
          current_byte + 12 + current_name_length <= 2147483647
-S-  Applied substitution rule create_respo_rules(10).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H152:  response_counter + 1 <= num_found -> rr_type__wirenamelength(
          fld_nameserver(element(replies, [response_counter + 1]))) <= 
          2147491816 and 8168 - rr_type__wirenamelength(fld_nameserver(element(
          replies, [response_counter + 1]))) <= integer__base__last
<S>  New H161:  rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) <= 2147491816 and 8168 - 
          rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) <= integer__base__last
-S-  Applied substitution rule create_respo_rules(11).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H152:  response_counter + 1 <= num_found -> rr_type__wirenamelength(
          fld_nameserver(element(replies, [response_counter + 1]))) <= 
          2147491816 and - 2147475479 <= rr_type__wirenamelength(fld_nameserver(
          element(replies, [response_counter + 1])))
<S>  New H161:  rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) <= 2147491816 and - 2147475479 <= 
          rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1])))
-S-  Applied substitution rule create_respo_rules(13).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 
          character__last)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(fld_nameserver(
          element(replies, [i___1])), [i___2]) and element(fld_nameserver(
          element(replies, [i___1])), [i___2]) <= character__last))
-S-  Applied substitution rule create_respo_rules(14).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(fld_nameserver(
          element(replies, [i___1])), [i___2]) and element(fld_nameserver(
          element(replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H95:  response_counter >= 0
<S>  New H115:  response_counter >= - 1
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H96:  response_counter <= 2147483647
<S>  New H116:  response_counter <= 2147483646
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H14:  qname_location >= 0
<S>  New H75:  current_byte >= - 24
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H15:  qname_location <= 16383
<S>  New H76:  current_byte <= 16359
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H11:  start_byte >= 1
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H35:  current_byte >= 1
<S>  New H39:  current_byte >= 0
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= dns_types__byte__last)
<S>  New H51:  current_byte >= - 2
<S>  New H57:  current_byte >= - 3
<S>  New H63:  current_byte >= - 4
<S>  New H69:  current_byte >= - 5
<S>  New H101:  current_byte >= - 6
<S>  New H110:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet__3), [i___1]) and element(fld_bytes(
          output_packet__3), [i___1]) <= dns_types__byte__last)
<S>  New H121:  current_byte + 12 + current_name_length >= 1
<S>  New H123:  current_name_length >= 1
<S>  New H81:  true
-S-  Applied substitution rule create_respo_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H12:  start_byte <= 8180
<S>  New H36:  current_byte <= 8180
<S>  New H40:  current_byte <= 8179
<S>  New H41:  current_byte <= 8178
<S>  New H52:  current_byte <= 8177
<S>  New H58:  current_byte <= 8176
<S>  New H64:  current_byte <= 8175
<S>  New H70:  current_byte <= 8174
<S>  New H102:  current_byte <= 8173
<S>  New H105:  current_byte + 7 <= 8174 - current_name_length
<S>  New H122:  current_byte + 12 + current_name_length <= 8180
<S>  New H124:  current_name_length <= 8180
<S>  New H82:  true
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__2), [i___1]
          ) and element(fld_bytes(output_packet__2), [i___1]) <= 
          dns_types__byte__last)
<S>  New H110:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__3), [i___1]
          ) and element(fld_bytes(output_packet__3), [i___1]) <= 
          dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H49:  true
<S>  New H55:  true
<S>  New H67:  true
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= dns_types__byte__last)
<S>  New H110:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__3), [i___1]) and element(fld_bytes(
          output_packet__3), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H50:  true
<S>  New H56:  true
<S>  New H68:  true
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= 255)
<S>  New H110:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__3), [i___1]) and element(fld_bytes(
          output_packet__3), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H16:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H22:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H24:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H26:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H28:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H31:  answer_count >= 0
-S-  Applied substitution rule create_respo_rules(53).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H17:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H23:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H25:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H27:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H29:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H32:  answer_count <= 65535
<S>  New H8:  answer_count <= 65471
<S>  New H34:  answer_count~ <= 65471
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H18:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(59).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H19:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H20:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(85).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H21:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
-S-  Applied substitution rule create_respo_rules(120).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__first by:
          0.
<S>  New H37:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          >= 0
<S>  New H42:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(121).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__last by:
          65535.
<S>  New H38:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          <= 65535
<S>  New H43:  qname_location <= 65535
-S-  Applied substitution rule create_respo_rules(124).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__modulus by:
          65536.
<S>  New H37:  (qname_location + 49152) mod 65536 >= 0
<S>  New H38:  (qname_location + 49152) mod 65536 <= 65535
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__first by:
          0.
<S>  New H92:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) <= 
          unsigned_types__unsigned32__last)
-S-  Applied substitution rule create_respo_rules(127).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__last by:
          4294967295.
<S>  New H92:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) <= 4294967295)
-S-  Applied substitution rule create_respo_rules(132).
     This was achieved by replacing all occurrences of 
          rr_type__classtype__first by:
          rr_type__internet.
<S>  New H93:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies, [i___1]))) and fld_class(
          fld_inherit(element(replies, [i___1]))) <= rr_type__classtype__last)
-S-  Applied substitution rule create_respo_rules(133).
     This was achieved by replacing all occurrences of rr_type__classtype__last 
          by:
          rr_type__hs.
<S>  New H93:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies, [i___1]))) and fld_class(
          fld_inherit(element(replies, [i___1]))) <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(159).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H97:  current_name_length >= 1
<S>  New H139:  rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) >= 1
<S>  New H13:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(domainname, [i___1]
          ) and element(domainname, [i___1]) <= 255)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= rr_type__wirestringtypeindex__last -> 0 <= 
          element(fld_nameserver(element(replies, [i___1])), [i___2]) and 
          element(fld_nameserver(element(replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(160).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H4:  current_name_length <= 129
<S>  New H140:  rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) <= 129
<S>  New H13:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 129 -> 0 <= 
          element(domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= 129 -> 0 <= element(fld_nameserver(element(
          replies, [i___1])), [i___2]) and element(fld_nameserver(element(
          replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(167).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__first by:
          1.
<S>  New H88:  response_counter >= 1
<S>  New H137:  response_counter >= 0
<S>  New H92:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) <= 4294967295)
<S>  New H93:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies, [i___1]))) and fld_class(
          fld_inherit(element(replies, [i___1]))) <= rr_type__hs)
<S>  New H94:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= 129 -> 0 <= element(fld_nameserver(element(
          replies, [i___1])), [i___2]) and element(fld_nameserver(element(
          replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(168).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New H89:  response_counter <= 64
<S>  New H138:  response_counter <= 63
<S>  New H92:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ttlinseconds(fld_inherit(element(replies, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(replies, [i___1]))) <= 
          4294967295)
<S>  New H93:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__internet <= fld_class(fld_inherit(element(replies, [i___1])))
           and fld_class(fld_inherit(element(replies, [i___1]))) <= rr_type__hs)
<S>  New H94:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 129 -> 0 <= element(
          fld_nameserver(element(replies, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(172).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__first by:
          0.
<S>  New H127:  num_found >= 0
-S-  Applied substitution rule create_respo_rules(173).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__last by:
          64.
<S>  New H128:  num_found <= 64
%%%  Simplified H79 further, to give:
     %%%  H79:  current_byte >= - 2147483672
%%%  Simplified H80 further, to give:
     %%%  H80:  current_byte <= 2147483623
***  Proved C1:  current_byte + 12 + current_name_length >= - 12
     using hypothesis H121.
***  Proved C3:  current_byte + 12 + current_name_length >= - 12
     using hypothesis H121.
***  Proved C2:  current_byte + 12 + current_name_length <= 8180
     using hypothesis H122.
***  Proved C4:  current_byte + 12 + current_name_length <= 8180
     using hypothesis H122.
***  Proved C5:  current_byte + 12 + current_name_length >= - 2147483660
     using hypothesis H121.
***  Proved C6:  current_byte + 12 + current_name_length <= 2147483635
     using hypothesis H122.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_ns_27.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  answer_count = answer_count~
%%%  Simplified H13 on reading formula in, to give:
     %%%  H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(domainname, [i___1]) and element(
          domainname, [i___1]) <= character__last)
%%%  Simplified H18 on reading formula in, to give:
     %%%  H18:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H20 on reading formula in, to give:
     %%%  H20:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H33 has been replaced by "true".  (It is already present, as H6)
          .
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
%%%  Simplified H46 on reading formula in, to give:
     %%%  H46:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__2), [i___1]
          ) and element(fld_bytes(output_packet__2), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H61 has been replaced by "true".  (It is already present, as 
          H49).
---  Hypothesis H62 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H73 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H74 has been replaced by "true".  (It is already present, as 
          H36).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H75).
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H76).
%%%  Simplified H85 on reading formula in, to give:
     %%%  H85:  true
---  Hypothesis H90 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H91 has been replaced by "true".  (It is already present, as 
          H36).
%%%  Simplified H92 on reading formula in, to give:
     %%%  H92:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ttlinseconds(fld_inherit(
          element(replies, [i___1]))) and fld_ttlinseconds(fld_inherit(element(
          replies, [i___1]))) <= unsigned_types__unsigned32__last)
%%%  Simplified H93 on reading formula in, to give:
     %%%  H93:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__classtype__first 
          <= fld_class(fld_inherit(element(replies, [i___1]))) and fld_class(
          fld_inherit(element(replies, [i___1]))) <= rr_type__classtype__last)
%%%  Simplified H94 on reading formula in, to give:
     %%%  H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> character__first <= element(
          fld_nameserver(element(replies, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies, [i___1])), [i___2]) <= 
          character__last))
---  Hypothesis H98 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H99 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H100 has been replaced by "true".  (It is already present, as 
          H4).
---  Hypothesis H104 has been replaced by "true".  (It is already present, as 
          H4).
---  Hypothesis H106 has been replaced by "true".  (It is already present, as 
          H88).
---  Hypothesis H107 has been replaced by "true".  (It is already present, as 
          H89).
%%%  Simplified H110 on reading formula in, to give:
     %%%  H110:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__3), [i___1]
          ) and element(fld_bytes(output_packet__3), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H111 on reading formula in, to give:
     %%%  H111:  fld_header(output_packet__3) = fld_header(output_packet__2)
%%%  Simplified H112 on reading formula in, to give:
     %%%  H112:  output_packet__3 = upf_bytes(output_packet__2, fld_bytes(
          output_packet__3))
---  Hypothesis H113 has been replaced by "true".  (It is already present, as 
          H95).
---  Hypothesis H114 has been replaced by "true".  (It is already present, as 
          H96).
---  Hypothesis H117 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H118 has been replaced by "true".  (It is already present, as 
          H36).
---  Hypothesis H119 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H120 has been replaced by "true".  (It is already present, as 
          H4).
---  Hypothesis H125 has been replaced by "true".  (It is already present, as 
          H86).
---  Hypothesis H126 has been replaced by "true".  (It is already present, as 
          H87).
---  Hypothesis H129 has been replaced by "true".  (It is already present, as 
          H115).
---  Hypothesis H130 has been replaced by "true".  (It is already present, as 
          H116).
---  Hypothesis H132 has been replaced by "true".  (It is already present, as 
          H127).
---  Hypothesis H133 has been replaced by "true".  (It is already present, as 
          H128).
---  Hypothesis H134 has been replaced by "true".  (It is already present, as 
          H115).
---  Hypothesis H135 has been replaced by "true".  (It is already present, as 
          H116).
---  Hypothesis H136 has been replaced by "true".  (It is already present, as 
          H121).
---  Hypothesis H137 has been replaced by "true".  (It is already present, as 
          H122).
---  Hypothesis H138 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H139 has been replaced by "true".  (It is already present, as 
          H4).
%%%  Simplified H144 on reading formula in, to give:
     %%%  H144:  true
---  Hypothesis H147 has been replaced by "true".  (It is already present, as 
          H121).
---  Hypothesis H148 has been replaced by "true".  (It is already present, as 
          H122).
%%%  Simplified C11 on reading formula in, to give:
     %%%  C11:  true
***  Proved C7:  dns_types__header_bits div 8 >= 
          dns_types__packet_bytes_range__first
     using hypothesis H81.
***  Proved C8:  dns_types__header_bits div 8 <= 
          dns_types__packet_bytes_range__last
     using hypothesis H82.
***  Proved C9:  dns_types__header_bits div 8 >= system__min_int
     using hypothesis H83.
***  Proved C10:  dns_types__header_bits div 8 <= system__max_int
     using hypothesis H84.
***  Proved C11:  true
-S-  Applied substitution rule create_respo_rules(34).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New C1:  current_byte + 12 + current_name_length + dns_types__header_bits 
          div 8 >= 0
<S>  New C3:  current_byte + 12 + current_name_length + dns_types__header_bits 
          div 8 >= 0
-S-  Applied substitution rule create_respo_rules(35).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New C2:  current_byte + 12 + current_name_length + dns_types__header_bits 
          div 8 <= 8192
<S>  New C4:  current_byte + 12 + current_name_length + dns_types__header_bits 
          div 8 <= 8192
-S-  Applied substitution rule create_respo_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H44:  current_byte >= - 2147483649
<S>  New H53:  current_byte >= - 2147483651
<S>  New H59:  current_byte >= - 2147483652
<S>  New H65:  current_byte >= - 2147483653
<S>  New H71:  current_byte >= - 2147483654
<S>  New H79:  current_byte + 12 + dns_types__header_bits div 8 >= - 2147483648
<S>  New H86:  current_byte >= - 2147483660
<S>  New H108:  current_byte >= - 2147483655
<S>  New C5:  current_byte + 12 + current_name_length + dns_types__header_bits 
          div 8 >= - 2147483648
-S-  Applied substitution rule create_respo_rules(42).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H45:  current_byte <= 2147483646
<S>  New H54:  current_byte <= 2147483644
<S>  New H60:  current_byte <= 2147483643
<S>  New H66:  current_byte <= 2147483642
<S>  New H72:  current_byte <= 2147483641
<S>  New H80:  current_byte + 12 + dns_types__header_bits div 8 <= 2147483647
<S>  New H87:  current_byte <= 2147483635
<S>  New H109:  current_byte <= 2147483640
<S>  New C6:  current_byte + 12 + current_name_length + dns_types__header_bits 
          div 8 <= 2147483647
>>>  Restructured hypothesis H131 into:
     >>>  H131:  num_found < response_counter + 1
>>>  Restructured hypothesis H146 into:
     >>>  H146:  num_found < response_counter + 1 or dns_types__packet_size - (
          12 + dns_types__header_bits div 8) - current_name_length <= 
          current_byte + 12 + current_name_length
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H6:  start_byte <= 8192
<S>  New H9:  current_byte < 8192 - (12 + dns_types__header_bits div 8) - 
          current_name_length
<S>  New H140:  response_counter + 1 <= num_found -> 8192 - (12 + 
          dns_types__header_bits div 8) - current_name_length >= 
          integer__base__first and 8192 - (12 + dns_types__header_bits div 8) - 
          current_name_length <= integer__base__last
<S>  New H141:  response_counter + 1 <= num_found -> 8192 - (12 + 
          dns_types__header_bits div 8) >= system__min_int and 8192 - (12 + 
          dns_types__header_bits div 8) <= system__max_int
<S>  New H146:  num_found < response_counter + 1 or 8192 - (12 + 
          dns_types__header_bits div 8) - current_name_length <= current_byte + 
          12 + current_name_length
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H75:  current_byte + 12 + 12 >= dns_types__qname_ptr_range__first
<S>  New H76:  current_byte + 12 + 12 <= dns_types__qname_ptr_range__last
<S>  New H79:  current_byte + 12 >= - 2147483660
<S>  New H80:  current_byte + 12 <= 2147483635
<S>  New H81:  12 >= dns_types__packet_bytes_range__first
<S>  New H82:  12 <= dns_types__packet_bytes_range__last
<S>  New H83:  12 >= system__min_int
<S>  New H84:  12 <= system__max_int
<S>  New H142:  response_counter + 1 <= num_found -> 24 >= system__min_int and 
          24 <= system__max_int
<S>  New H143:  response_counter + 1 <= num_found -> 12 >= system__min_int and 
          12 <= system__max_int
<S>  New H9:  current_byte < 8168 - current_name_length
<S>  New H140:  response_counter + 1 <= num_found -> 8168 - current_name_length 
          >= integer__base__first and 8168 - current_name_length <= 
          integer__base__last
<S>  New H141:  response_counter + 1 <= num_found -> 8168 >= system__min_int 
          and 8168 <= system__max_int
<S>  New H146:  num_found < response_counter + 1 or 8168 - current_name_length 
          <= current_byte + 12 + current_name_length
<S>  New C1:  current_byte + 12 + current_name_length >= - 12
<S>  New C3:  current_byte + 12 + current_name_length >= - 12
<S>  New C2:  current_byte + 12 + current_name_length <= 8180
<S>  New C4:  current_byte + 12 + current_name_length <= 8180
<S>  New C5:  current_byte + 12 + current_name_length >= - 2147483660
<S>  New C6:  current_byte + 12 + current_name_length <= 2147483635
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of rr_type__maxnumrecords 
          by:
          64.
<S>  New H5:  num_found <= 64
<S>  New H8:  answer_count <= dns_types__unsigned_short__last - 64
<S>  New H34:  answer_count~ <= dns_types__unsigned_short__last - 64
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H83:  true
<S>  New H142:  response_counter + 1 <= num_found -> 24 <= system__max_int
<S>  New H143:  response_counter + 1 <= num_found -> 12 <= system__max_int
<S>  New H141:  response_counter + 1 <= num_found -> 8168 <= system__max_int
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H84:  true
<S>  New H142:  true
<S>  New H143:  true
<S>  New H141:  true
-S-  Applied substitution rule create_respo_rules(8).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H145:  response_counter + 1 <= num_found -> current_byte + 12 + 
          current_name_length >= - 2147483648 and current_byte + 12 + 
          current_name_length <= integer__last
-S-  Applied substitution rule create_respo_rules(9).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H145:  response_counter + 1 <= num_found -> current_byte + 12 + 
          current_name_length >= - 2147483648 and current_byte + 12 + 
          current_name_length <= 2147483647
-S-  Applied substitution rule create_respo_rules(10).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H140:  response_counter + 1 <= num_found -> current_name_length <= 
          2147491816 and 8168 - current_name_length <= integer__base__last
-S-  Applied substitution rule create_respo_rules(11).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H140:  response_counter + 1 <= num_found -> current_name_length <= 
          2147491816 and - 2147475479 <= current_name_length
-S-  Applied substitution rule create_respo_rules(13).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 
          character__last)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(fld_nameserver(
          element(replies, [i___1])), [i___2]) and element(fld_nameserver(
          element(replies, [i___1])), [i___2]) <= character__last))
-S-  Applied substitution rule create_respo_rules(14).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(fld_nameserver(
          element(replies, [i___1])), [i___2]) and element(fld_nameserver(
          element(replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H95:  response_counter >= 0
<S>  New H115:  response_counter >= - 1
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H96:  response_counter <= 2147483647
<S>  New H116:  response_counter <= 2147483646
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H14:  qname_location >= 0
<S>  New H75:  current_byte >= - 24
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H15:  qname_location <= 16383
<S>  New H76:  current_byte <= 16359
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H11:  start_byte >= 1
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H35:  current_byte >= 1
<S>  New H39:  current_byte >= 0
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= dns_types__byte__last)
<S>  New H51:  current_byte >= - 2
<S>  New H57:  current_byte >= - 3
<S>  New H63:  current_byte >= - 4
<S>  New H69:  current_byte >= - 5
<S>  New H101:  current_byte >= - 6
<S>  New H110:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet__3), [i___1]) and element(fld_bytes(
          output_packet__3), [i___1]) <= dns_types__byte__last)
<S>  New H121:  current_byte + 12 + current_name_length >= 1
<S>  New H123:  current_name_length >= 1
<S>  New H81:  true
-S-  Applied substitution rule create_respo_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H12:  start_byte <= 8180
<S>  New H36:  current_byte <= 8180
<S>  New H40:  current_byte <= 8179
<S>  New H41:  current_byte <= 8178
<S>  New H52:  current_byte <= 8177
<S>  New H58:  current_byte <= 8176
<S>  New H64:  current_byte <= 8175
<S>  New H70:  current_byte <= 8174
<S>  New H102:  current_byte <= 8173
<S>  New H105:  current_byte + 7 <= 8174 - current_name_length
<S>  New H122:  current_byte + 12 + current_name_length <= 8180
<S>  New H124:  current_name_length <= 8180
<S>  New H82:  true
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__2), [i___1]
          ) and element(fld_bytes(output_packet__2), [i___1]) <= 
          dns_types__byte__last)
<S>  New H110:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__3), [i___1]
          ) and element(fld_bytes(output_packet__3), [i___1]) <= 
          dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H49:  true
<S>  New H55:  true
<S>  New H67:  true
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= dns_types__byte__last)
<S>  New H110:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__3), [i___1]) and element(fld_bytes(
          output_packet__3), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H50:  true
<S>  New H56:  true
<S>  New H68:  true
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= 255)
<S>  New H110:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__3), [i___1]) and element(fld_bytes(
          output_packet__3), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H16:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H22:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H24:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H26:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H28:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H31:  answer_count >= 0
-S-  Applied substitution rule create_respo_rules(53).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H17:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H23:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H25:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H27:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H29:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H32:  answer_count <= 65535
<S>  New H8:  answer_count <= 65471
<S>  New H34:  answer_count~ <= 65471
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H18:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(59).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H19:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H20:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(85).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H21:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
-S-  Applied substitution rule create_respo_rules(120).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__first by:
          0.
<S>  New H37:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          >= 0
<S>  New H42:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(121).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__last by:
          65535.
<S>  New H38:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          <= 65535
<S>  New H43:  qname_location <= 65535
-S-  Applied substitution rule create_respo_rules(124).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__modulus by:
          65536.
<S>  New H37:  (qname_location + 49152) mod 65536 >= 0
<S>  New H38:  (qname_location + 49152) mod 65536 <= 65535
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__first by:
          0.
<S>  New H92:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) <= 
          unsigned_types__unsigned32__last)
-S-  Applied substitution rule create_respo_rules(127).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__last by:
          4294967295.
<S>  New H92:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) <= 4294967295)
-S-  Applied substitution rule create_respo_rules(132).
     This was achieved by replacing all occurrences of 
          rr_type__classtype__first by:
          rr_type__internet.
<S>  New H93:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies, [i___1]))) and fld_class(
          fld_inherit(element(replies, [i___1]))) <= rr_type__classtype__last)
-S-  Applied substitution rule create_respo_rules(133).
     This was achieved by replacing all occurrences of rr_type__classtype__last 
          by:
          rr_type__hs.
<S>  New H93:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies, [i___1]))) and fld_class(
          fld_inherit(element(replies, [i___1]))) <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(159).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H97:  current_name_length >= 1
<S>  New H13:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(domainname, [i___1]
          ) and element(domainname, [i___1]) <= 255)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= rr_type__wirestringtypeindex__last -> 0 <= 
          element(fld_nameserver(element(replies, [i___1])), [i___2]) and 
          element(fld_nameserver(element(replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(160).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H4:  current_name_length <= 129
<S>  New H13:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 129 -> 0 <= 
          element(domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= 129 -> 0 <= element(fld_nameserver(element(
          replies, [i___1])), [i___2]) and element(fld_nameserver(element(
          replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(167).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__first by:
          1.
<S>  New H88:  response_counter >= 1
<S>  New H92:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) <= 4294967295)
<S>  New H93:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies, [i___1]))) and fld_class(
          fld_inherit(element(replies, [i___1]))) <= rr_type__hs)
<S>  New H94:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= 129 -> 0 <= element(fld_nameserver(element(
          replies, [i___1])), [i___2]) and element(fld_nameserver(element(
          replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(168).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New H89:  response_counter <= 64
<S>  New H92:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ttlinseconds(fld_inherit(element(replies, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(replies, [i___1]))) <= 
          4294967295)
<S>  New H93:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__internet <= fld_class(fld_inherit(element(replies, [i___1])))
           and fld_class(fld_inherit(element(replies, [i___1]))) <= rr_type__hs)
<S>  New H94:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 129 -> 0 <= element(
          fld_nameserver(element(replies, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(172).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__first by:
          0.
<S>  New H127:  num_found >= 0
-S-  Applied substitution rule create_respo_rules(173).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__last by:
          64.
<S>  New H128:  num_found <= 64
%%%  Simplified H79 further, to give:
     %%%  H79:  current_byte >= - 2147483672
%%%  Simplified H80 further, to give:
     %%%  H80:  current_byte <= 2147483623
***  Proved C1:  current_byte + 12 + current_name_length >= - 12
     using hypothesis H121.
***  Proved C3:  current_byte + 12 + current_name_length >= - 12
     using hypothesis H121.
***  Proved C2:  current_byte + 12 + current_name_length <= 8180
     using hypothesis H122.
***  Proved C4:  current_byte + 12 + current_name_length <= 8180
     using hypothesis H122.
***  Proved C5:  current_byte + 12 + current_name_length >= - 2147483660
     using hypothesis H121.
***  Proved C6:  current_byte + 12 + current_name_length <= 2147483635
     using hypothesis H122.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_ns_28.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(domainname, [i___1]) and element(
          domainname, [i___1]) <= character__last)
%%%  Simplified H10 on reading formula in, to give:
     %%%  H10:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H12 on reading formula in, to give:
     %%%  H12:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H22 on reading formula in, to give:
     %%%  H22:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H27 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H28 has been replaced by "true".  (It is already present, as H4)
          .
%%%  Simplified H29 on reading formula in, to give:
     %%%  H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ttlinseconds(fld_inherit(
          element(replies__1, [i___1]))) and fld_ttlinseconds(fld_inherit(
          element(replies__1, [i___1]))) <= unsigned_types__unsigned32__last)
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__classtype__first 
          <= fld_class(fld_inherit(element(replies__1, [i___1]))) and fld_class(
          fld_inherit(element(replies__1, [i___1]))) <= 
          rr_type__classtype__last)
%%%  Simplified H31 on reading formula in, to give:
     %%%  H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> character__first <= element(
          fld_nameserver(element(replies__1, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies__1, [i___1])), [i___2]) <= 
          character__last))
---  Hypothesis H34 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H35 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H36 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H37 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H41 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H42 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H43 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H40).
%%%  Simplified H50 on reading formula in, to give:
     %%%  H50:  rr_type__wirenamelength(fld_nameserver(element(replies__1, [1]))
          ) = rr_type__maxdomainnamelength + 1 or element(fld_nameserver(
          element(replies__1, [1])), [rr_type__wirenamelength(fld_nameserver(
          element(replies__1, [1])))]) = 0 and for_all(q_ : integer, 1 <= q_ 
          and q_ <= rr_type__wirenamelength(fld_nameserver(element(replies__1, [
          1]))) - 1 -> element(fld_nameserver(element(replies__1, [1])), [q_]) 
          <> 0)
---  Hypothesis H51 has been replaced by "true".  (It is already present, as 
          H48).
---  Hypothesis H52 has been replaced by "true".  (It is already present, as 
          H49).
---  Hypothesis H53 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H54 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H40).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H58 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H59 has been replaced by "true".  (It is already present, as 
          H48).
---  Hypothesis H60 has been replaced by "true".  (It is already present, as 
          H49).
%%%  Simplified H65 on reading formula in, to give:
     %%%  H65:  true
---  Hypothesis H68 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H69 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H72 has been replaced by "true".  (It is already present, as 
          H70).
---  Hypothesis H73 has been replaced by "true".  (It is already present, as 
          H71).
%%%  Simplified H80 on reading formula in, to give:
     %%%  H80:  true
---  Hypothesis H81 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H82 has been replaced by "true".  (It is already present, as 
          H33).
***  Proved C1:  answer_count + num_found__1 >= dns_types__unsigned_short__first
     using hypotheses H23 & H38.
-S-  Applied substitution rule create_respo_rules(53).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H2:  answer_count <= 65535 - rr_type__maxnumrecords
<S>  New H9:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H15:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H17:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H19:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H21:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H24:  answer_count <= 65535
<S>  New C2:  answer_count + num_found__1 <= 65535
<S>  New C4:  num_found__1 <= 65535
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H8:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H14:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H16:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H18:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H20:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H23:  answer_count >= 0
<S>  New C3:  num_found__1 >= 0
***  Proved C3:  num_found__1 >= 0
     using hypothesis H38.
>>>  Restructured hypothesis H67 into:
     >>>  H67:  num_found__1 < 1 or dns_types__packet_size - (12 + 
          dns_types__header_bits div 8) - rr_type__wirenamelength(
          fld_nameserver(element(replies__1, [1]))) <= start_byte
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H1:  start_byte <= 8192
<S>  New H61:  1 <= num_found__1 -> 8192 - (12 + dns_types__header_bits div 8) 
          - rr_type__wirenamelength(fld_nameserver(element(replies__1, [1]))) 
          >= integer__base__first and 8192 - (12 + dns_types__header_bits div 8)
           - rr_type__wirenamelength(fld_nameserver(element(replies__1, [1]))) 
          <= integer__base__last
<S>  New H62:  1 <= num_found__1 -> 8192 - (12 + dns_types__header_bits div 8) 
          >= system__min_int and 8192 - (12 + dns_types__header_bits div 8) <= 
          system__max_int
<S>  New H67:  num_found__1 < 1 or 8192 - (12 + dns_types__header_bits div 8) - 
          rr_type__wirenamelength(fld_nameserver(element(replies__1, [1]))) <= 
          start_byte
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H63:  1 <= num_found__1 -> 24 >= system__min_int and 24 <= 
          system__max_int
<S>  New H64:  1 <= num_found__1 -> 12 >= system__min_int and 12 <= 
          system__max_int
<S>  New H70:  start_byte + 12 >= dns_types__packet_length_range__first
<S>  New H71:  start_byte + 12 <= dns_types__packet_length_range__last
<S>  New H74:  start_byte + 12 >= dns_types__packet_bytes_range__base__first
<S>  New H75:  start_byte + 12 <= dns_types__packet_bytes_range__base__last
<S>  New H76:  12 >= dns_types__packet_bytes_range__first
<S>  New H77:  12 <= dns_types__packet_bytes_range__last
<S>  New H78:  12 >= system__min_int
<S>  New H79:  12 <= system__max_int
<S>  New H61:  1 <= num_found__1 -> 8168 - rr_type__wirenamelength(
          fld_nameserver(element(replies__1, [1]))) >= integer__base__first and 
          8168 - rr_type__wirenamelength(fld_nameserver(element(replies__1, [1])
          )) <= integer__base__last
<S>  New H62:  1 <= num_found__1 -> 8168 >= system__min_int and 8168 <= 
          system__max_int
<S>  New H67:  num_found__1 < 1 or 8168 - rr_type__wirenamelength(
          fld_nameserver(element(replies__1, [1]))) <= start_byte
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of 
          rr_type__maxdomainnamelength by:
          128.
<S>  New H50:  rr_type__wirenamelength(fld_nameserver(element(replies__1, [1])))
           = 129 or element(fld_nameserver(element(replies__1, [1])), [
          rr_type__wirenamelength(fld_nameserver(element(replies__1, [1])))]) = 
          0 and for_all(q_ : integer, 1 <= q_ and q_ <= rr_type__wirenamelength(
          fld_nameserver(element(replies__1, [1]))) - 1 -> element(
          fld_nameserver(element(replies__1, [1])), [q_]) <> 0)
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of rr_type__maxnumrecords 
          by:
          64.
<S>  New H2:  answer_count <= 65471
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H63:  1 <= num_found__1 -> 24 <= system__max_int
<S>  New H64:  1 <= num_found__1 -> 12 <= system__max_int
<S>  New H78:  true
<S>  New H62:  1 <= num_found__1 -> 8168 <= system__max_int
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H79:  true
<S>  New H63:  true
<S>  New H64:  true
<S>  New H62:  true
-S-  Applied substitution rule create_respo_rules(8).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H66:  1 <= num_found__1 -> start_byte >= - 2147483648 and start_byte 
          <= integer__last
-S-  Applied substitution rule create_respo_rules(9).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H66:  1 <= num_found__1 -> start_byte >= - 2147483648 and start_byte 
          <= 2147483647
-S-  Applied substitution rule create_respo_rules(10).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H61:  1 <= num_found__1 -> rr_type__wirenamelength(fld_nameserver(
          element(replies__1, [1]))) <= 2147491816 and 8168 - 
          rr_type__wirenamelength(fld_nameserver(element(replies__1, [1]))) <= 
          integer__base__last
-S-  Applied substitution rule create_respo_rules(11).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H61:  1 <= num_found__1 -> rr_type__wirenamelength(fld_nameserver(
          element(replies__1, [1]))) <= 2147491816 and - 2147475479 <= 
          rr_type__wirenamelength(fld_nameserver(element(replies__1, [1])))
-S-  Applied substitution rule create_respo_rules(13).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H5:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 
          character__last)
<S>  New H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(fld_nameserver(
          element(replies__1, [i___1])), [i___2]) and element(fld_nameserver(
          element(replies__1, [i___1])), [i___2]) <= character__last))
-S-  Applied substitution rule create_respo_rules(14).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H5:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(fld_nameserver(
          element(replies__1, [i___1])), [i___2]) and element(fld_nameserver(
          element(replies__1, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H39:  true
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H40:  true
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H6:  qname_location >= 0
<S>  New H25:  true
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H7:  qname_location <= 16383
<S>  New H26:  true
-S-  Applied substitution rule create_respo_rules(34).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H70:  start_byte >= - 12
-S-  Applied substitution rule create_respo_rules(35).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H71:  start_byte <= 8180
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H3:  start_byte >= 1
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H76:  true
-S-  Applied substitution rule create_respo_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H4:  start_byte <= 8180
<S>  New H77:  true
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H74:  start_byte >= - 2147483660
-S-  Applied substitution rule create_respo_rules(42).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H75:  start_byte <= 2147483635
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H10:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(59).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H11:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H12:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(85).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H13:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__first by:
          0.
<S>  New H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies__1, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies__1, [i___1]))) <= 
          unsigned_types__unsigned32__last)
-S-  Applied substitution rule create_respo_rules(127).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__last by:
          4294967295.
<S>  New H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies__1, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies__1, [i___1]))) <= 4294967295)
-S-  Applied substitution rule create_respo_rules(132).
     This was achieved by replacing all occurrences of 
          rr_type__classtype__first by:
          rr_type__internet.
<S>  New H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies__1, [i___1]))) and fld_class(
          fld_inherit(element(replies__1, [i___1]))) <= 
          rr_type__classtype__last)
-S-  Applied substitution rule create_respo_rules(133).
     This was achieved by replacing all occurrences of rr_type__classtype__last 
          by:
          rr_type__hs.
<S>  New H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies__1, [i___1]))) and fld_class(
          fld_inherit(element(replies__1, [i___1]))) <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(159).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H48:  rr_type__wirenamelength(fld_nameserver(element(replies__1, [1])))
           >= 1
<S>  New H5:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(domainname, [i___1]
          ) and element(domainname, [i___1]) <= 255)
<S>  New H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= rr_type__wirestringtypeindex__last -> 0 <= 
          element(fld_nameserver(element(replies__1, [i___1])), [i___2]) and 
          element(fld_nameserver(element(replies__1, [i___1])), [i___2]) <= 255)
          )
-S-  Applied substitution rule create_respo_rules(160).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H49:  rr_type__wirenamelength(fld_nameserver(element(replies__1, [1])))
           <= 129
<S>  New H5:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 129 -> 0 <= 
          element(domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= 129 -> 0 <= element(fld_nameserver(element(
          replies__1, [i___1])), [i___2]) and element(fld_nameserver(element(
          replies__1, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(167).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__first by:
          1.
<S>  New H46:  true
<S>  New H29:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies__1, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies__1, [i___1]))) <= 4294967295)
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies__1, [i___1]))) and fld_class(
          fld_inherit(element(replies__1, [i___1]))) <= rr_type__hs)
<S>  New H31:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= 129 -> 0 <= element(fld_nameserver(element(
          replies__1, [i___1])), [i___2]) and element(fld_nameserver(element(
          replies__1, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(168).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New H47:  true
<S>  New H29:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ttlinseconds(fld_inherit(element(replies__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(replies__1, [i___1]))) <= 
          4294967295)
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__internet <= fld_class(fld_inherit(element(replies__1, [i___1]
          ))) and fld_class(fld_inherit(element(replies__1, [i___1]))) <= 
          rr_type__hs)
<S>  New H31:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 129 -> 0 <= element(
          fld_nameserver(element(replies__1, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies__1, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(172).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__first by:
          0.
<S>  New H32:  num_found__1 >= 0
-S-  Applied substitution rule create_respo_rules(173).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__last by:
          64.
<S>  New H33:  num_found__1 <= 64
***  Proved C2:  answer_count + num_found__1 <= 65535
     using hypotheses H2 & H33.
***  Proved C4:  num_found__1 <= 65535
     using hypothesis H33.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_ns_29.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(domainname, [i___1]) and element(
          domainname, [i___1]) <= character__last)
%%%  Simplified H10 on reading formula in, to give:
     %%%  H10:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H12 on reading formula in, to give:
     %%%  H12:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H22 on reading formula in, to give:
     %%%  H22:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H27 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H28 has been replaced by "true".  (It is already present, as H4)
          .
%%%  Simplified H29 on reading formula in, to give:
     %%%  H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ttlinseconds(fld_inherit(
          element(replies__1, [i___1]))) and fld_ttlinseconds(fld_inherit(
          element(replies__1, [i___1]))) <= unsigned_types__unsigned32__last)
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__classtype__first 
          <= fld_class(fld_inherit(element(replies__1, [i___1]))) and fld_class(
          fld_inherit(element(replies__1, [i___1]))) <= 
          rr_type__classtype__last)
%%%  Simplified H31 on reading formula in, to give:
     %%%  H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> character__first <= element(
          fld_nameserver(element(replies__1, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies__1, [i___1])), [i___2]) <= 
          character__last))
---  Hypothesis H34 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H35 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H36 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H37 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H39 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H40 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H43 has been replaced by "true".  (It is already present, as 
          H41).
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H42).
%%%  Simplified H51 on reading formula in, to give:
     %%%  H51:  true
---  Hypothesis H52 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H53 has been replaced by "true".  (It is already present, as 
          H33).
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H8:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H14:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H16:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H18:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H20:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H23:  answer_count >= 0
<S>  New C1:  answer_count + num_found__1 >= 0
<S>  New C3:  num_found__1 >= 0
-S-  Applied substitution rule create_respo_rules(53).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H2:  answer_count <= 65535 - rr_type__maxnumrecords
<S>  New H9:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H15:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H17:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H19:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H21:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H24:  answer_count <= 65535
<S>  New C2:  answer_count + num_found__1 <= 65535
<S>  New C4:  num_found__1 <= 65535
***  Proved C2:  answer_count + num_found__1 <= 65535
     using hypotheses H24 & H38.
***  Proved C4:  num_found__1 <= 65535
     using hypothesis H38.
>>>  Restructured hypothesis H38 into:
     >>>  H38:  num_found__1 < 1
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H1:  start_byte <= 8192
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H41:  start_byte + 12 >= dns_types__packet_length_range__first
<S>  New H42:  start_byte + 12 <= dns_types__packet_length_range__last
<S>  New H45:  start_byte + 12 >= dns_types__packet_bytes_range__base__first
<S>  New H46:  start_byte + 12 <= dns_types__packet_bytes_range__base__last
<S>  New H47:  12 >= dns_types__packet_bytes_range__first
<S>  New H48:  12 <= dns_types__packet_bytes_range__last
<S>  New H49:  12 >= system__min_int
<S>  New H50:  12 <= system__max_int
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of rr_type__maxnumrecords 
          by:
          64.
<S>  New H2:  answer_count <= 65471
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H49:  true
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H50:  true
-S-  Applied substitution rule create_respo_rules(13).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H5:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 
          character__last)
<S>  New H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(fld_nameserver(
          element(replies__1, [i___1])), [i___2]) and element(fld_nameserver(
          element(replies__1, [i___1])), [i___2]) <= character__last))
-S-  Applied substitution rule create_respo_rules(14).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H5:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(fld_nameserver(
          element(replies__1, [i___1])), [i___2]) and element(fld_nameserver(
          element(replies__1, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H6:  qname_location >= 0
<S>  New H25:  true
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H7:  qname_location <= 16383
<S>  New H26:  true
-S-  Applied substitution rule create_respo_rules(34).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H41:  start_byte >= - 12
-S-  Applied substitution rule create_respo_rules(35).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H42:  start_byte <= 8180
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H3:  start_byte >= 1
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H47:  true
-S-  Applied substitution rule create_respo_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H4:  start_byte <= 8180
<S>  New H48:  true
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H45:  start_byte >= - 2147483660
-S-  Applied substitution rule create_respo_rules(42).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H46:  start_byte <= 2147483635
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H10:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(59).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H11:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H12:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(85).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H13:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__first by:
          0.
<S>  New H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies__1, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies__1, [i___1]))) <= 
          unsigned_types__unsigned32__last)
-S-  Applied substitution rule create_respo_rules(127).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__last by:
          4294967295.
<S>  New H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies__1, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies__1, [i___1]))) <= 4294967295)
-S-  Applied substitution rule create_respo_rules(132).
     This was achieved by replacing all occurrences of 
          rr_type__classtype__first by:
          rr_type__internet.
<S>  New H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies__1, [i___1]))) and fld_class(
          fld_inherit(element(replies__1, [i___1]))) <= 
          rr_type__classtype__last)
-S-  Applied substitution rule create_respo_rules(133).
     This was achieved by replacing all occurrences of rr_type__classtype__last 
          by:
          rr_type__hs.
<S>  New H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies__1, [i___1]))) and fld_class(
          fld_inherit(element(replies__1, [i___1]))) <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(159).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H5:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(domainname, [i___1]
          ) and element(domainname, [i___1]) <= 255)
<S>  New H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= rr_type__wirestringtypeindex__last -> 0 <= 
          element(fld_nameserver(element(replies__1, [i___1])), [i___2]) and 
          element(fld_nameserver(element(replies__1, [i___1])), [i___2]) <= 255)
          )
-S-  Applied substitution rule create_respo_rules(160).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H5:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 129 -> 0 <= 
          element(domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= 129 -> 0 <= element(fld_nameserver(element(
          replies__1, [i___1])), [i___2]) and element(fld_nameserver(element(
          replies__1, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(167).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__first by:
          1.
<S>  New H29:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies__1, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies__1, [i___1]))) <= 4294967295)
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies__1, [i___1]))) and fld_class(
          fld_inherit(element(replies__1, [i___1]))) <= rr_type__hs)
<S>  New H31:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= 129 -> 0 <= element(fld_nameserver(element(
          replies__1, [i___1])), [i___2]) and element(fld_nameserver(element(
          replies__1, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(168).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New H29:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ttlinseconds(fld_inherit(element(replies__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(replies__1, [i___1]))) <= 
          4294967295)
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__internet <= fld_class(fld_inherit(element(replies__1, [i___1]
          ))) and fld_class(fld_inherit(element(replies__1, [i___1]))) <= 
          rr_type__hs)
<S>  New H31:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 129 -> 0 <= element(
          fld_nameserver(element(replies__1, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies__1, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(172).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__first by:
          0.
<S>  New H32:  num_found__1 >= 0
-S-  Applied substitution rule create_respo_rules(173).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__last by:
          64.
<S>  New H33:  num_found__1 <= 64
***  Proved C1:  answer_count + num_found__1 >= 0
     using hypotheses H23 & H32.
***  Proved C3:  num_found__1 >= 0
     using hypothesis H32.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_ns_30.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  answer_count = answer_count~
%%%  Simplified H13 on reading formula in, to give:
     %%%  H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(domainname, [i___1]) and element(
          domainname, [i___1]) <= character__last)
%%%  Simplified H18 on reading formula in, to give:
     %%%  H18:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H20 on reading formula in, to give:
     %%%  H20:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H33 has been replaced by "true".  (It is already present, as H6)
          .
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
%%%  Simplified H46 on reading formula in, to give:
     %%%  H46:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__2), [i___1]
          ) and element(fld_bytes(output_packet__2), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H61 has been replaced by "true".  (It is already present, as 
          H49).
---  Hypothesis H62 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H73 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H74 has been replaced by "true".  (It is already present, as 
          H36).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H75).
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H76).
%%%  Simplified H85 on reading formula in, to give:
     %%%  H85:  true
---  Hypothesis H90 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H91 has been replaced by "true".  (It is already present, as 
          H36).
%%%  Simplified H92 on reading formula in, to give:
     %%%  H92:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ttlinseconds(fld_inherit(
          element(replies, [i___1]))) and fld_ttlinseconds(fld_inherit(element(
          replies, [i___1]))) <= unsigned_types__unsigned32__last)
%%%  Simplified H93 on reading formula in, to give:
     %%%  H93:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__classtype__first 
          <= fld_class(fld_inherit(element(replies, [i___1]))) and fld_class(
          fld_inherit(element(replies, [i___1]))) <= rr_type__classtype__last)
%%%  Simplified H94 on reading formula in, to give:
     %%%  H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> character__first <= element(
          fld_nameserver(element(replies, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies, [i___1])), [i___2]) <= 
          character__last))
---  Hypothesis H98 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H99 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H100 has been replaced by "true".  (It is already present, as 
          H4).
---  Hypothesis H104 has been replaced by "true".  (It is already present, as 
          H4).
---  Hypothesis H106 has been replaced by "true".  (It is already present, as 
          H88).
---  Hypothesis H107 has been replaced by "true".  (It is already present, as 
          H89).
%%%  Simplified H110 on reading formula in, to give:
     %%%  H110:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__3), [i___1]
          ) and element(fld_bytes(output_packet__3), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H111 on reading formula in, to give:
     %%%  H111:  fld_header(output_packet__3) = fld_header(output_packet__2)
%%%  Simplified H112 on reading formula in, to give:
     %%%  H112:  output_packet__3 = upf_bytes(output_packet__2, fld_bytes(
          output_packet__3))
---  Hypothesis H113 has been replaced by "true".  (It is already present, as 
          H95).
---  Hypothesis H114 has been replaced by "true".  (It is already present, as 
          H96).
---  Hypothesis H117 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H118 has been replaced by "true".  (It is already present, as 
          H36).
---  Hypothesis H119 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H120 has been replaced by "true".  (It is already present, as 
          H4).
---  Hypothesis H125 has been replaced by "true".  (It is already present, as 
          H86).
---  Hypothesis H126 has been replaced by "true".  (It is already present, as 
          H87).
---  Hypothesis H129 has been replaced by "true".  (It is already present, as 
          H115).
---  Hypothesis H130 has been replaced by "true".  (It is already present, as 
          H116).
---  Hypothesis H132 has been replaced by "true".  (It is already present, as 
          H92).
---  Hypothesis H133 has been replaced by "true".  (It is already present, as 
          H93).
---  Hypothesis H134 has been replaced by "true".  (It is already present, as 
          H94).
---  Hypothesis H135 has been replaced by "true".  (It is already present, as 
          H115).
---  Hypothesis H136 has been replaced by "true".  (It is already present, as 
          H116).
%%%  Simplified H141 on reading formula in, to give:
     %%%  H141:  rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) = rr_type__maxdomainnamelength + 1 or 
          element(fld_nameserver(element(replies, [response_counter + 1])), [
          rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1])))]) = 0 and for_all(q_ : integer, 1 <= q_ and 
          q_ <= rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) - 1 -> element(fld_nameserver(element(
          replies, [response_counter + 1])), [q_]) <> 0)
---  Hypothesis H142 has been replaced by "true".  (It is already present, as 
          H139).
---  Hypothesis H143 has been replaced by "true".  (It is already present, as 
          H140).
---  Hypothesis H144 has been replaced by "true".  (It is already present, as 
          H127).
---  Hypothesis H145 has been replaced by "true".  (It is already present, as 
          H128).
---  Hypothesis H146 has been replaced by "true".  (It is already present, as 
          H115).
---  Hypothesis H147 has been replaced by "true".  (It is already present, as 
          H116).
---  Hypothesis H148 has been replaced by "true".  (It is already present, as 
          H121).
---  Hypothesis H149 has been replaced by "true".  (It is already present, as 
          H122).
---  Hypothesis H150 has been replaced by "true".  (It is already present, as 
          H139).
---  Hypothesis H151 has been replaced by "true".  (It is already present, as 
          H140).
%%%  Simplified H156 on reading formula in, to give:
     %%%  H156:  true
---  Hypothesis H159 has been replaced by "true".  (It is already present, as 
          H121).
---  Hypothesis H160 has been replaced by "true".  (It is already present, as 
          H122).
---  Hypothesis H163 has been replaced by "true".  (It is already present, as 
          H161).
---  Hypothesis H164 has been replaced by "true".  (It is already present, as 
          H162).
---  Hypothesis H167 has been replaced by "true".  (It is already present, as 
          H81).
---  Hypothesis H168 has been replaced by "true".  (It is already present, as 
          H82).
---  Hypothesis H169 has been replaced by "true".  (It is already present, as 
          H83).
---  Hypothesis H170 has been replaced by "true".  (It is already present, as 
          H84).
---  Hypothesis H171 has been replaced by "true".  (It is already present, as 
          H85).
---  Hypothesis H172 has been replaced by "true".  (It is already present, as 
          H127).
---  Hypothesis H173 has been replaced by "true".  (It is already present, as 
          H128).
***  Proved C1:  answer_count + num_found >= dns_types__unsigned_short__first
     using hypotheses H1, H2 & H31.
***  Proved C2:  answer_count + num_found <= dns_types__unsigned_short__last
     using hypotheses H5 & H8.
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H16:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H22:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H24:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H26:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H28:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H31:  answer_count >= 0
<S>  New C3:  num_found >= 0
-S-  Applied substitution rule create_respo_rules(53).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H8:  answer_count <= 65535 - rr_type__maxnumrecords
<S>  New H17:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H23:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H25:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H27:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H29:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H32:  answer_count <= 65535
<S>  New H34:  answer_count~ <= 65535 - rr_type__maxnumrecords
<S>  New C4:  num_found <= 65535
***  Proved C3:  num_found >= 0
     using hypotheses H1 & H2.
>>>  Restructured hypothesis H158 into:
     >>>  H158:  num_found < response_counter + 1 or dns_types__packet_size - (
          12 + dns_types__header_bits div 8) - rr_type__wirenamelength(
          fld_nameserver(element(replies, [response_counter + 1]))) <= 
          current_byte + 12 + current_name_length
+++  Using "A->B, A |- B" on hypotheses H152 & H131 yields a new hypothesis:
     +++  H174:  dns_types__packet_size - (12 + dns_types__header_bits div 8) - 
          rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) >= integer__base__first and 
          dns_types__packet_size - (12 + dns_types__header_bits div 8) - 
          rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) <= integer__base__last
+++  Using "A->B, A |- B" on hypotheses H153 & H131 yields a new hypothesis:
     +++  H175:  dns_types__packet_size - (12 + dns_types__header_bits div 8) 
          >= system__min_int and dns_types__packet_size - (12 + 
          dns_types__header_bits div 8) <= system__max_int
+++  Using "A->B, A |- B" on hypotheses H154 & H131 yields a new hypothesis:
     +++  H176:  12 + dns_types__header_bits div 8 >= system__min_int and 12 + 
          dns_types__header_bits div 8 <= system__max_int
+++  Using "A->B, A |- B" on hypotheses H155 & H131 yields a new hypothesis:
     +++  H177:  dns_types__header_bits div 8 >= system__min_int and 
          dns_types__header_bits div 8 <= system__max_int
+++  Using "A->B, A |- B" on hypotheses H157 & H131 yields a new hypothesis:
     +++  H178:  current_byte + 12 + current_name_length >= integer__first and 
          current_byte + 12 + current_name_length <= integer__last
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H6:  start_byte <= 8192
<S>  New H9:  current_byte < 8192 - (12 + dns_types__header_bits div 8) - 
          current_name_length
<S>  New H152:  response_counter + 1 <= num_found -> 8192 - (12 + 
          dns_types__header_bits div 8) - rr_type__wirenamelength(
          fld_nameserver(element(replies, [response_counter + 1]))) >= 
          integer__base__first and 8192 - (12 + dns_types__header_bits div 8) - 
          rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) <= integer__base__last
<S>  New H153:  response_counter + 1 <= num_found -> 8192 - (12 + 
          dns_types__header_bits div 8) >= system__min_int and 8192 - (12 + 
          dns_types__header_bits div 8) <= system__max_int
<S>  New H158:  num_found < response_counter + 1 or 8192 - (12 + 
          dns_types__header_bits div 8) - rr_type__wirenamelength(
          fld_nameserver(element(replies, [response_counter + 1]))) <= 
          current_byte + 12 + current_name_length
<S>  New H174:  8192 - (12 + dns_types__header_bits div 8) - 
          rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) >= integer__base__first and 8192 - (12 + 
          dns_types__header_bits div 8) - rr_type__wirenamelength(
          fld_nameserver(element(replies, [response_counter + 1]))) <= 
          integer__base__last
<S>  New H175:  8192 - (12 + dns_types__header_bits div 8) >= system__min_int 
          and 8192 - (12 + dns_types__header_bits div 8) <= system__max_int
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H75:  current_byte + 12 + 12 >= dns_types__qname_ptr_range__first
<S>  New H76:  current_byte + 12 + 12 <= dns_types__qname_ptr_range__last
<S>  New H79:  current_byte + 12 + 12 >= 
          dns_types__packet_bytes_range__base__first
<S>  New H80:  current_byte + 12 + 12 <= 
          dns_types__packet_bytes_range__base__last
<S>  New H81:  12 >= dns_types__packet_bytes_range__first
<S>  New H82:  12 <= dns_types__packet_bytes_range__last
<S>  New H83:  12 >= system__min_int
<S>  New H84:  12 <= system__max_int
<S>  New H154:  response_counter + 1 <= num_found -> 24 >= system__min_int and 
          24 <= system__max_int
<S>  New H155:  response_counter + 1 <= num_found -> 12 >= system__min_int and 
          12 <= system__max_int
<S>  New H161:  current_byte + 12 + current_name_length + 12 >= 
          dns_types__packet_length_range__first
<S>  New H162:  current_byte + 12 + current_name_length + 12 <= 
          dns_types__packet_length_range__last
<S>  New H165:  current_byte + 12 + current_name_length + 12 >= 
          dns_types__packet_bytes_range__base__first
<S>  New H166:  current_byte + 12 + current_name_length + 12 <= 
          dns_types__packet_bytes_range__base__last
<S>  New H176:  24 >= system__min_int and 24 <= system__max_int
<S>  New H177:  12 >= system__min_int and 12 <= system__max_int
<S>  New H9:  current_byte < 8168 - current_name_length
<S>  New H152:  response_counter + 1 <= num_found -> 8168 - 
          rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) >= integer__base__first and 8168 - 
          rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) <= integer__base__last
<S>  New H153:  response_counter + 1 <= num_found -> 8168 >= system__min_int 
          and 8168 <= system__max_int
<S>  New H158:  num_found < response_counter + 1 or 8168 - 
          rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) <= current_byte + 12 + current_name_length
<S>  New H174:  8168 - rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) >= integer__base__first and 8168 - 
          rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) <= integer__base__last
<S>  New H175:  8168 >= system__min_int and 8168 <= system__max_int
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of 
          rr_type__maxdomainnamelength by:
          128.
<S>  New H141:  rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) = 129 or element(fld_nameserver(element(
          replies, [response_counter + 1])), [rr_type__wirenamelength(
          fld_nameserver(element(replies, [response_counter + 1])))]) = 0 and 
          for_all(q_ : integer, 1 <= q_ and q_ <= rr_type__wirenamelength(
          fld_nameserver(element(replies, [response_counter + 1]))) - 1 -> 
          element(fld_nameserver(element(replies, [response_counter + 1])), [q_]
          ) <> 0)
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of rr_type__maxnumrecords 
          by:
          64.
<S>  New H5:  num_found <= 64
<S>  New H8:  answer_count <= 65471
<S>  New H34:  answer_count~ <= 65471
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H83:  true
<S>  New H154:  response_counter + 1 <= num_found -> 24 <= system__max_int
<S>  New H155:  response_counter + 1 <= num_found -> 12 <= system__max_int
<S>  New H176:  24 <= system__max_int
<S>  New H177:  12 <= system__max_int
<S>  New H153:  response_counter + 1 <= num_found -> 8168 <= system__max_int
<S>  New H175:  8168 <= system__max_int
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H84:  true
<S>  New H154:  true
<S>  New H155:  true
<S>  New H176:  true
<S>  New H177:  true
<S>  New H153:  true
<S>  New H175:  true
-S-  Applied substitution rule create_respo_rules(8).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H157:  response_counter + 1 <= num_found -> current_byte + 12 + 
          current_name_length >= - 2147483648 and current_byte + 12 + 
          current_name_length <= integer__last
<S>  New H178:  current_byte + 12 + current_name_length >= - 2147483648 and 
          current_byte + 12 + current_name_length <= integer__last
-S-  Applied substitution rule create_respo_rules(9).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H157:  response_counter + 1 <= num_found -> current_byte + 12 + 
          current_name_length >= - 2147483648 and current_byte + 12 + 
          current_name_length <= 2147483647
<S>  New H178:  current_byte + 12 + current_name_length >= - 2147483648 and 
          current_byte + 12 + current_name_length <= 2147483647
-S-  Applied substitution rule create_respo_rules(10).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H152:  response_counter + 1 <= num_found -> rr_type__wirenamelength(
          fld_nameserver(element(replies, [response_counter + 1]))) <= 
          2147491816 and 8168 - rr_type__wirenamelength(fld_nameserver(element(
          replies, [response_counter + 1]))) <= integer__base__last
<S>  New H174:  rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) <= 2147491816 and 8168 - 
          rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) <= integer__base__last
-S-  Applied substitution rule create_respo_rules(11).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H152:  response_counter + 1 <= num_found -> rr_type__wirenamelength(
          fld_nameserver(element(replies, [response_counter + 1]))) <= 
          2147491816 and - 2147475479 <= rr_type__wirenamelength(fld_nameserver(
          element(replies, [response_counter + 1])))
<S>  New H174:  rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) <= 2147491816 and - 2147475479 <= 
          rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1])))
-S-  Applied substitution rule create_respo_rules(13).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 
          character__last)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(fld_nameserver(
          element(replies, [i___1])), [i___2]) and element(fld_nameserver(
          element(replies, [i___1])), [i___2]) <= character__last))
-S-  Applied substitution rule create_respo_rules(14).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(fld_nameserver(
          element(replies, [i___1])), [i___2]) and element(fld_nameserver(
          element(replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H95:  response_counter >= 0
<S>  New H115:  response_counter >= - 1
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H96:  response_counter <= 2147483647
<S>  New H116:  response_counter <= 2147483646
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H14:  qname_location >= 0
<S>  New H75:  current_byte >= - 24
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H15:  qname_location <= 16383
<S>  New H76:  current_byte <= 16359
-S-  Applied substitution rule create_respo_rules(34).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H161:  current_byte + 12 + current_name_length >= - 12
-S-  Applied substitution rule create_respo_rules(35).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H162:  current_byte + 12 + current_name_length <= 8180
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H11:  start_byte >= 1
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H35:  current_byte >= 1
<S>  New H39:  current_byte >= 0
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= dns_types__byte__last)
<S>  New H51:  current_byte >= - 2
<S>  New H57:  current_byte >= - 3
<S>  New H63:  current_byte >= - 4
<S>  New H69:  current_byte >= - 5
<S>  New H101:  current_byte >= - 6
<S>  New H110:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet__3), [i___1]) and element(fld_bytes(
          output_packet__3), [i___1]) <= dns_types__byte__last)
<S>  New H121:  current_byte + 12 + current_name_length >= 1
<S>  New H123:  current_name_length >= 1
<S>  New H81:  true
-S-  Applied substitution rule create_respo_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H12:  start_byte <= 8180
<S>  New H36:  current_byte <= 8180
<S>  New H40:  current_byte <= 8179
<S>  New H41:  current_byte <= 8178
<S>  New H52:  current_byte <= 8177
<S>  New H58:  current_byte <= 8176
<S>  New H64:  current_byte <= 8175
<S>  New H70:  current_byte <= 8174
<S>  New H102:  current_byte <= 8173
<S>  New H105:  current_byte + 7 <= 8174 - current_name_length
<S>  New H122:  current_byte + 12 + current_name_length <= 8180
<S>  New H124:  current_name_length <= 8180
<S>  New H82:  true
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__2), [i___1]
          ) and element(fld_bytes(output_packet__2), [i___1]) <= 
          dns_types__byte__last)
<S>  New H110:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__3), [i___1]
          ) and element(fld_bytes(output_packet__3), [i___1]) <= 
          dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H44:  current_byte >= - 2147483649
<S>  New H53:  current_byte >= - 2147483651
<S>  New H59:  current_byte >= - 2147483652
<S>  New H65:  current_byte >= - 2147483653
<S>  New H71:  current_byte >= - 2147483654
<S>  New H86:  current_byte >= - 2147483660
<S>  New H108:  current_byte >= - 2147483655
<S>  New H79:  current_byte >= - 2147483672
<S>  New H165:  current_byte + 12 + current_name_length >= - 2147483660
-S-  Applied substitution rule create_respo_rules(42).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H45:  current_byte <= 2147483646
<S>  New H54:  current_byte <= 2147483644
<S>  New H60:  current_byte <= 2147483643
<S>  New H66:  current_byte <= 2147483642
<S>  New H72:  current_byte <= 2147483641
<S>  New H87:  current_byte <= 2147483635
<S>  New H109:  current_byte <= 2147483640
<S>  New H80:  current_byte <= 2147483623
<S>  New H166:  current_byte + 12 + current_name_length <= 2147483635
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H49:  true
<S>  New H55:  true
<S>  New H67:  true
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= dns_types__byte__last)
<S>  New H110:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__3), [i___1]) and element(fld_bytes(
          output_packet__3), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H50:  true
<S>  New H56:  true
<S>  New H68:  true
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= 255)
<S>  New H110:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__3), [i___1]) and element(fld_bytes(
          output_packet__3), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H18:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(59).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H19:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H20:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(85).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H21:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
-S-  Applied substitution rule create_respo_rules(120).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__first by:
          0.
<S>  New H37:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          >= 0
<S>  New H42:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(121).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__last by:
          65535.
<S>  New H38:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          <= 65535
<S>  New H43:  qname_location <= 65535
-S-  Applied substitution rule create_respo_rules(124).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__modulus by:
          65536.
<S>  New H37:  (qname_location + 49152) mod 65536 >= 0
<S>  New H38:  (qname_location + 49152) mod 65536 <= 65535
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__first by:
          0.
<S>  New H92:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) <= 
          unsigned_types__unsigned32__last)
-S-  Applied substitution rule create_respo_rules(127).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__last by:
          4294967295.
<S>  New H92:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) <= 4294967295)
-S-  Applied substitution rule create_respo_rules(132).
     This was achieved by replacing all occurrences of 
          rr_type__classtype__first by:
          rr_type__internet.
<S>  New H93:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies, [i___1]))) and fld_class(
          fld_inherit(element(replies, [i___1]))) <= rr_type__classtype__last)
-S-  Applied substitution rule create_respo_rules(133).
     This was achieved by replacing all occurrences of rr_type__classtype__last 
          by:
          rr_type__hs.
<S>  New H93:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies, [i___1]))) and fld_class(
          fld_inherit(element(replies, [i___1]))) <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(159).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H97:  current_name_length >= 1
<S>  New H139:  rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) >= 1
<S>  New H13:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(domainname, [i___1]
          ) and element(domainname, [i___1]) <= 255)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= rr_type__wirestringtypeindex__last -> 0 <= 
          element(fld_nameserver(element(replies, [i___1])), [i___2]) and 
          element(fld_nameserver(element(replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(160).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H4:  current_name_length <= 129
<S>  New H140:  rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) <= 129
<S>  New H13:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 129 -> 0 <= 
          element(domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= 129 -> 0 <= element(fld_nameserver(element(
          replies, [i___1])), [i___2]) and element(fld_nameserver(element(
          replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(167).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__first by:
          1.
<S>  New H88:  response_counter >= 1
<S>  New H137:  response_counter >= 0
<S>  New H92:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) <= 4294967295)
<S>  New H93:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies, [i___1]))) and fld_class(
          fld_inherit(element(replies, [i___1]))) <= rr_type__hs)
<S>  New H94:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= 129 -> 0 <= element(fld_nameserver(element(
          replies, [i___1])), [i___2]) and element(fld_nameserver(element(
          replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(168).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New H89:  response_counter <= 64
<S>  New H138:  response_counter <= 63
<S>  New H92:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ttlinseconds(fld_inherit(element(replies, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(replies, [i___1]))) <= 
          4294967295)
<S>  New H93:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__internet <= fld_class(fld_inherit(element(replies, [i___1])))
           and fld_class(fld_inherit(element(replies, [i___1]))) <= rr_type__hs)
<S>  New H94:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 129 -> 0 <= element(
          fld_nameserver(element(replies, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(172).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__first by:
          0.
<S>  New H127:  num_found >= 0
-S-  Applied substitution rule create_respo_rules(173).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__last by:
          64.
<S>  New H128:  num_found <= 64
***  Proved C4:  num_found <= 65535
     using hypothesis H5.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_ns_31.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  answer_count = answer_count~
%%%  Simplified H13 on reading formula in, to give:
     %%%  H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(domainname, [i___1]) and element(
          domainname, [i___1]) <= character__last)
%%%  Simplified H18 on reading formula in, to give:
     %%%  H18:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H20 on reading formula in, to give:
     %%%  H20:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H33 has been replaced by "true".  (It is already present, as H6)
          .
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
%%%  Simplified H46 on reading formula in, to give:
     %%%  H46:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__2), [i___1]
          ) and element(fld_bytes(output_packet__2), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H61 has been replaced by "true".  (It is already present, as 
          H49).
---  Hypothesis H62 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H73 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H74 has been replaced by "true".  (It is already present, as 
          H36).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H75).
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H76).
%%%  Simplified H85 on reading formula in, to give:
     %%%  H85:  true
---  Hypothesis H90 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H91 has been replaced by "true".  (It is already present, as 
          H36).
%%%  Simplified H92 on reading formula in, to give:
     %%%  H92:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ttlinseconds(fld_inherit(
          element(replies, [i___1]))) and fld_ttlinseconds(fld_inherit(element(
          replies, [i___1]))) <= unsigned_types__unsigned32__last)
%%%  Simplified H93 on reading formula in, to give:
     %%%  H93:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__classtype__first 
          <= fld_class(fld_inherit(element(replies, [i___1]))) and fld_class(
          fld_inherit(element(replies, [i___1]))) <= rr_type__classtype__last)
%%%  Simplified H94 on reading formula in, to give:
     %%%  H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> character__first <= element(
          fld_nameserver(element(replies, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies, [i___1])), [i___2]) <= 
          character__last))
---  Hypothesis H98 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H99 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H100 has been replaced by "true".  (It is already present, as 
          H4).
---  Hypothesis H104 has been replaced by "true".  (It is already present, as 
          H4).
---  Hypothesis H106 has been replaced by "true".  (It is already present, as 
          H88).
---  Hypothesis H107 has been replaced by "true".  (It is already present, as 
          H89).
%%%  Simplified H110 on reading formula in, to give:
     %%%  H110:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__3), [i___1]
          ) and element(fld_bytes(output_packet__3), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H111 on reading formula in, to give:
     %%%  H111:  fld_header(output_packet__3) = fld_header(output_packet__2)
%%%  Simplified H112 on reading formula in, to give:
     %%%  H112:  output_packet__3 = upf_bytes(output_packet__2, fld_bytes(
          output_packet__3))
---  Hypothesis H113 has been replaced by "true".  (It is already present, as 
          H95).
---  Hypothesis H114 has been replaced by "true".  (It is already present, as 
          H96).
---  Hypothesis H117 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H118 has been replaced by "true".  (It is already present, as 
          H36).
---  Hypothesis H119 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H120 has been replaced by "true".  (It is already present, as 
          H4).
---  Hypothesis H125 has been replaced by "true".  (It is already present, as 
          H86).
---  Hypothesis H126 has been replaced by "true".  (It is already present, as 
          H87).
---  Hypothesis H129 has been replaced by "true".  (It is already present, as 
          H115).
---  Hypothesis H130 has been replaced by "true".  (It is already present, as 
          H116).
---  Hypothesis H132 has been replaced by "true".  (It is already present, as 
          H127).
---  Hypothesis H133 has been replaced by "true".  (It is already present, as 
          H128).
---  Hypothesis H134 has been replaced by "true".  (It is already present, as 
          H115).
---  Hypothesis H135 has been replaced by "true".  (It is already present, as 
          H116).
---  Hypothesis H136 has been replaced by "true".  (It is already present, as 
          H121).
---  Hypothesis H137 has been replaced by "true".  (It is already present, as 
          H122).
---  Hypothesis H138 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H139 has been replaced by "true".  (It is already present, as 
          H4).
%%%  Simplified H144 on reading formula in, to give:
     %%%  H144:  true
---  Hypothesis H147 has been replaced by "true".  (It is already present, as 
          H121).
---  Hypothesis H148 has been replaced by "true".  (It is already present, as 
          H122).
---  Hypothesis H151 has been replaced by "true".  (It is already present, as 
          H149).
---  Hypothesis H152 has been replaced by "true".  (It is already present, as 
          H150).
---  Hypothesis H155 has been replaced by "true".  (It is already present, as 
          H81).
---  Hypothesis H156 has been replaced by "true".  (It is already present, as 
          H82).
---  Hypothesis H157 has been replaced by "true".  (It is already present, as 
          H83).
---  Hypothesis H158 has been replaced by "true".  (It is already present, as 
          H84).
---  Hypothesis H159 has been replaced by "true".  (It is already present, as 
          H85).
---  Hypothesis H160 has been replaced by "true".  (It is already present, as 
          H127).
---  Hypothesis H161 has been replaced by "true".  (It is already present, as 
          H128).
***  Proved C1:  answer_count + num_found >= dns_types__unsigned_short__first
     using hypotheses H1, H2 & H31.
***  Proved C2:  answer_count + num_found <= dns_types__unsigned_short__last
     using hypotheses H5 & H8.
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H16:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H22:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H24:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H26:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H28:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H31:  answer_count >= 0
<S>  New C3:  num_found >= 0
-S-  Applied substitution rule create_respo_rules(53).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H8:  answer_count <= 65535 - rr_type__maxnumrecords
<S>  New H17:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H23:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H25:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H27:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H29:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H32:  answer_count <= 65535
<S>  New H34:  answer_count~ <= 65535 - rr_type__maxnumrecords
<S>  New C4:  num_found <= 65535
***  Proved C3:  num_found >= 0
     using hypotheses H1 & H2.
>>>  Restructured hypothesis H131 into:
     >>>  H131:  num_found < response_counter + 1
>>>  Restructured hypothesis H146 into:
     >>>  H146:  num_found < response_counter + 1 or dns_types__packet_size - (
          12 + dns_types__header_bits div 8) - current_name_length <= 
          current_byte + 12 + current_name_length
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H6:  start_byte <= 8192
<S>  New H9:  current_byte < 8192 - (12 + dns_types__header_bits div 8) - 
          current_name_length
<S>  New H140:  response_counter + 1 <= num_found -> 8192 - (12 + 
          dns_types__header_bits div 8) - current_name_length >= 
          integer__base__first and 8192 - (12 + dns_types__header_bits div 8) - 
          current_name_length <= integer__base__last
<S>  New H141:  response_counter + 1 <= num_found -> 8192 - (12 + 
          dns_types__header_bits div 8) >= system__min_int and 8192 - (12 + 
          dns_types__header_bits div 8) <= system__max_int
<S>  New H146:  num_found < response_counter + 1 or 8192 - (12 + 
          dns_types__header_bits div 8) - current_name_length <= current_byte + 
          12 + current_name_length
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H75:  current_byte + 12 + 12 >= dns_types__qname_ptr_range__first
<S>  New H76:  current_byte + 12 + 12 <= dns_types__qname_ptr_range__last
<S>  New H79:  current_byte + 12 + 12 >= 
          dns_types__packet_bytes_range__base__first
<S>  New H80:  current_byte + 12 + 12 <= 
          dns_types__packet_bytes_range__base__last
<S>  New H81:  12 >= dns_types__packet_bytes_range__first
<S>  New H82:  12 <= dns_types__packet_bytes_range__last
<S>  New H83:  12 >= system__min_int
<S>  New H84:  12 <= system__max_int
<S>  New H142:  response_counter + 1 <= num_found -> 24 >= system__min_int and 
          24 <= system__max_int
<S>  New H143:  response_counter + 1 <= num_found -> 12 >= system__min_int and 
          12 <= system__max_int
<S>  New H149:  current_byte + 12 + current_name_length + 12 >= 
          dns_types__packet_length_range__first
<S>  New H150:  current_byte + 12 + current_name_length + 12 <= 
          dns_types__packet_length_range__last
<S>  New H153:  current_byte + 12 + current_name_length + 12 >= 
          dns_types__packet_bytes_range__base__first
<S>  New H154:  current_byte + 12 + current_name_length + 12 <= 
          dns_types__packet_bytes_range__base__last
<S>  New H9:  current_byte < 8168 - current_name_length
<S>  New H140:  response_counter + 1 <= num_found -> 8168 - current_name_length 
          >= integer__base__first and 8168 - current_name_length <= 
          integer__base__last
<S>  New H141:  response_counter + 1 <= num_found -> 8168 >= system__min_int 
          and 8168 <= system__max_int
<S>  New H146:  num_found < response_counter + 1 or 8168 - current_name_length 
          <= current_byte + 12 + current_name_length
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of rr_type__maxnumrecords 
          by:
          64.
<S>  New H5:  num_found <= 64
<S>  New H8:  answer_count <= 65471
<S>  New H34:  answer_count~ <= 65471
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H83:  true
<S>  New H142:  response_counter + 1 <= num_found -> 24 <= system__max_int
<S>  New H143:  response_counter + 1 <= num_found -> 12 <= system__max_int
<S>  New H141:  response_counter + 1 <= num_found -> 8168 <= system__max_int
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H84:  true
<S>  New H142:  true
<S>  New H143:  true
<S>  New H141:  true
-S-  Applied substitution rule create_respo_rules(8).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H145:  response_counter + 1 <= num_found -> current_byte + 12 + 
          current_name_length >= - 2147483648 and current_byte + 12 + 
          current_name_length <= integer__last
-S-  Applied substitution rule create_respo_rules(9).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H145:  response_counter + 1 <= num_found -> current_byte + 12 + 
          current_name_length >= - 2147483648 and current_byte + 12 + 
          current_name_length <= 2147483647
-S-  Applied substitution rule create_respo_rules(10).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H140:  response_counter + 1 <= num_found -> current_name_length <= 
          2147491816 and 8168 - current_name_length <= integer__base__last
-S-  Applied substitution rule create_respo_rules(11).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H140:  response_counter + 1 <= num_found -> current_name_length <= 
          2147491816 and - 2147475479 <= current_name_length
-S-  Applied substitution rule create_respo_rules(13).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 
          character__last)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(fld_nameserver(
          element(replies, [i___1])), [i___2]) and element(fld_nameserver(
          element(replies, [i___1])), [i___2]) <= character__last))
-S-  Applied substitution rule create_respo_rules(14).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(fld_nameserver(
          element(replies, [i___1])), [i___2]) and element(fld_nameserver(
          element(replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H95:  response_counter >= 0
<S>  New H115:  response_counter >= - 1
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H96:  response_counter <= 2147483647
<S>  New H116:  response_counter <= 2147483646
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H14:  qname_location >= 0
<S>  New H75:  current_byte >= - 24
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H15:  qname_location <= 16383
<S>  New H76:  current_byte <= 16359
-S-  Applied substitution rule create_respo_rules(34).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H149:  current_byte + 12 + current_name_length >= - 12
-S-  Applied substitution rule create_respo_rules(35).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H150:  current_byte + 12 + current_name_length <= 8180
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H11:  start_byte >= 1
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H35:  current_byte >= 1
<S>  New H39:  current_byte >= 0
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= dns_types__byte__last)
<S>  New H51:  current_byte >= - 2
<S>  New H57:  current_byte >= - 3
<S>  New H63:  current_byte >= - 4
<S>  New H69:  current_byte >= - 5
<S>  New H101:  current_byte >= - 6
<S>  New H110:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet__3), [i___1]) and element(fld_bytes(
          output_packet__3), [i___1]) <= dns_types__byte__last)
<S>  New H121:  current_byte + 12 + current_name_length >= 1
<S>  New H123:  current_name_length >= 1
<S>  New H81:  true
-S-  Applied substitution rule create_respo_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H12:  start_byte <= 8180
<S>  New H36:  current_byte <= 8180
<S>  New H40:  current_byte <= 8179
<S>  New H41:  current_byte <= 8178
<S>  New H52:  current_byte <= 8177
<S>  New H58:  current_byte <= 8176
<S>  New H64:  current_byte <= 8175
<S>  New H70:  current_byte <= 8174
<S>  New H102:  current_byte <= 8173
<S>  New H105:  current_byte + 7 <= 8174 - current_name_length
<S>  New H122:  current_byte + 12 + current_name_length <= 8180
<S>  New H124:  current_name_length <= 8180
<S>  New H82:  true
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__2), [i___1]
          ) and element(fld_bytes(output_packet__2), [i___1]) <= 
          dns_types__byte__last)
<S>  New H110:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__3), [i___1]
          ) and element(fld_bytes(output_packet__3), [i___1]) <= 
          dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H44:  current_byte >= - 2147483649
<S>  New H53:  current_byte >= - 2147483651
<S>  New H59:  current_byte >= - 2147483652
<S>  New H65:  current_byte >= - 2147483653
<S>  New H71:  current_byte >= - 2147483654
<S>  New H86:  current_byte >= - 2147483660
<S>  New H108:  current_byte >= - 2147483655
<S>  New H79:  current_byte >= - 2147483672
<S>  New H153:  current_byte + 12 + current_name_length >= - 2147483660
-S-  Applied substitution rule create_respo_rules(42).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H45:  current_byte <= 2147483646
<S>  New H54:  current_byte <= 2147483644
<S>  New H60:  current_byte <= 2147483643
<S>  New H66:  current_byte <= 2147483642
<S>  New H72:  current_byte <= 2147483641
<S>  New H87:  current_byte <= 2147483635
<S>  New H109:  current_byte <= 2147483640
<S>  New H80:  current_byte <= 2147483623
<S>  New H154:  current_byte + 12 + current_name_length <= 2147483635
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H49:  true
<S>  New H55:  true
<S>  New H67:  true
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= dns_types__byte__last)
<S>  New H110:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__3), [i___1]) and element(fld_bytes(
          output_packet__3), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H50:  true
<S>  New H56:  true
<S>  New H68:  true
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= 255)
<S>  New H110:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__3), [i___1]) and element(fld_bytes(
          output_packet__3), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H18:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(59).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H19:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H20:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(85).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H21:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
-S-  Applied substitution rule create_respo_rules(120).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__first by:
          0.
<S>  New H37:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          >= 0
<S>  New H42:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(121).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__last by:
          65535.
<S>  New H38:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          <= 65535
<S>  New H43:  qname_location <= 65535
-S-  Applied substitution rule create_respo_rules(124).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__modulus by:
          65536.
<S>  New H37:  (qname_location + 49152) mod 65536 >= 0
<S>  New H38:  (qname_location + 49152) mod 65536 <= 65535
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__first by:
          0.
<S>  New H92:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) <= 
          unsigned_types__unsigned32__last)
-S-  Applied substitution rule create_respo_rules(127).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__last by:
          4294967295.
<S>  New H92:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) <= 4294967295)
-S-  Applied substitution rule create_respo_rules(132).
     This was achieved by replacing all occurrences of 
          rr_type__classtype__first by:
          rr_type__internet.
<S>  New H93:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies, [i___1]))) and fld_class(
          fld_inherit(element(replies, [i___1]))) <= rr_type__classtype__last)
-S-  Applied substitution rule create_respo_rules(133).
     This was achieved by replacing all occurrences of rr_type__classtype__last 
          by:
          rr_type__hs.
<S>  New H93:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies, [i___1]))) and fld_class(
          fld_inherit(element(replies, [i___1]))) <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(159).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H97:  current_name_length >= 1
<S>  New H13:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(domainname, [i___1]
          ) and element(domainname, [i___1]) <= 255)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= rr_type__wirestringtypeindex__last -> 0 <= 
          element(fld_nameserver(element(replies, [i___1])), [i___2]) and 
          element(fld_nameserver(element(replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(160).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H4:  current_name_length <= 129
<S>  New H13:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 129 -> 0 <= 
          element(domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= 129 -> 0 <= element(fld_nameserver(element(
          replies, [i___1])), [i___2]) and element(fld_nameserver(element(
          replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(167).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__first by:
          1.
<S>  New H88:  response_counter >= 1
<S>  New H92:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) <= 4294967295)
<S>  New H93:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies, [i___1]))) and fld_class(
          fld_inherit(element(replies, [i___1]))) <= rr_type__hs)
<S>  New H94:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= 129 -> 0 <= element(fld_nameserver(element(
          replies, [i___1])), [i___2]) and element(fld_nameserver(element(
          replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(168).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New H89:  response_counter <= 64
<S>  New H92:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ttlinseconds(fld_inherit(element(replies, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(replies, [i___1]))) <= 
          4294967295)
<S>  New H93:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__internet <= fld_class(fld_inherit(element(replies, [i___1])))
           and fld_class(fld_inherit(element(replies, [i___1]))) <= rr_type__hs)
<S>  New H94:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 129 -> 0 <= element(
          fld_nameserver(element(replies, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(172).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__first by:
          0.
<S>  New H127:  num_found >= 0
-S-  Applied substitution rule create_respo_rules(173).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__last by:
          64.
<S>  New H128:  num_found <= 64
***  Proved C4:  num_found <= 65535
     using hypothesis H5.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_ns_32.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(domainname, [i___1]) and element(
          domainname, [i___1]) <= character__last)
%%%  Simplified H10 on reading formula in, to give:
     %%%  H10:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H12 on reading formula in, to give:
     %%%  H12:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H22 on reading formula in, to give:
     %%%  H22:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H27 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H28 has been replaced by "true".  (It is already present, as H4)
          .
%%%  Simplified H29 on reading formula in, to give:
     %%%  H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ttlinseconds(fld_inherit(
          element(replies__1, [i___1]))) and fld_ttlinseconds(fld_inherit(
          element(replies__1, [i___1]))) <= unsigned_types__unsigned32__last)
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__classtype__first 
          <= fld_class(fld_inherit(element(replies__1, [i___1]))) and fld_class(
          fld_inherit(element(replies__1, [i___1]))) <= 
          rr_type__classtype__last)
%%%  Simplified H31 on reading formula in, to give:
     %%%  H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> character__first <= element(
          fld_nameserver(element(replies__1, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies__1, [i___1])), [i___2]) <= 
          character__last))
---  Hypothesis H34 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H35 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H36 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H37 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H41 has been replaced by "true".  (It is already present, as 
          H29).
---  Hypothesis H42 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H43 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H45 has been replaced by "true".  (It is already present, as 
          H40).
%%%  Simplified H50 on reading formula in, to give:
     %%%  H50:  rr_type__wirenamelength(fld_nameserver(element(replies__1, [1]))
          ) = rr_type__maxdomainnamelength + 1 or element(fld_nameserver(
          element(replies__1, [1])), [rr_type__wirenamelength(fld_nameserver(
          element(replies__1, [1])))]) = 0 and for_all(q_ : integer, 1 <= q_ 
          and q_ <= rr_type__wirenamelength(fld_nameserver(element(replies__1, [
          1]))) - 1 -> element(fld_nameserver(element(replies__1, [1])), [q_]) 
          <> 0)
---  Hypothesis H51 has been replaced by "true".  (It is already present, as 
          H48).
---  Hypothesis H52 has been replaced by "true".  (It is already present, as 
          H49).
---  Hypothesis H53 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H54 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H55 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H56 has been replaced by "true".  (It is already present, as 
          H40).
---  Hypothesis H57 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H58 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H59 has been replaced by "true".  (It is already present, as 
          H48).
---  Hypothesis H60 has been replaced by "true".  (It is already present, as 
          H49).
%%%  Simplified H65 on reading formula in, to give:
     %%%  H65:  true
---  Hypothesis H68 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H69 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H72 has been replaced by "true".  (It is already present, as 
          H70).
---  Hypothesis H73 has been replaced by "true".  (It is already present, as 
          H71).
%%%  Simplified H80 on reading formula in, to give:
     %%%  H80:  true
---  Hypothesis H81 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H82 has been replaced by "true".  (It is already present, as 
          H33).
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H1:  start_byte <= 8192
<S>  New H61:  1 <= num_found__1 -> 8192 - (12 + dns_types__header_bits div 8) 
          - rr_type__wirenamelength(fld_nameserver(element(replies__1, [1]))) 
          >= integer__base__first and 8192 - (12 + dns_types__header_bits div 8)
           - rr_type__wirenamelength(fld_nameserver(element(replies__1, [1]))) 
          <= integer__base__last
<S>  New H62:  1 <= num_found__1 -> 8192 - (12 + dns_types__header_bits div 8) 
          >= system__min_int and 8192 - (12 + dns_types__header_bits div 8) <= 
          system__max_int
<S>  New H67:  not (1 <= num_found__1 and start_byte < 8192 - (12 + 
          dns_types__header_bits div 8) - rr_type__wirenamelength(
          fld_nameserver(element(replies__1, [1]))))
<S>  New C2:  start_byte + dns_types__header_bits div 8 <= 8192
>>>  Restructured hypothesis H67 into:
     >>>  H67:  num_found__1 < 1 or 8192 - (12 + dns_types__header_bits div 8) 
          - rr_type__wirenamelength(fld_nameserver(element(replies__1, [1]))) 
          <= start_byte
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H61:  1 <= num_found__1 -> 8168 - rr_type__wirenamelength(
          fld_nameserver(element(replies__1, [1]))) >= integer__base__first and 
          8168 - rr_type__wirenamelength(fld_nameserver(element(replies__1, [1])
          )) <= integer__base__last
<S>  New H62:  1 <= num_found__1 -> 8168 >= system__min_int and 8168 <= 
          system__max_int
<S>  New H63:  1 <= num_found__1 -> 24 >= system__min_int and 24 <= 
          system__max_int
<S>  New H64:  1 <= num_found__1 -> 12 >= system__min_int and 12 <= 
          system__max_int
<S>  New H67:  num_found__1 < 1 or 8168 - rr_type__wirenamelength(
          fld_nameserver(element(replies__1, [1]))) <= start_byte
<S>  New H70:  start_byte + 12 >= dns_types__packet_length_range__first
<S>  New H71:  start_byte + 12 <= dns_types__packet_length_range__last
<S>  New H74:  start_byte + 12 >= dns_types__packet_bytes_range__base__first
<S>  New H75:  start_byte + 12 <= dns_types__packet_bytes_range__base__last
<S>  New H76:  12 >= dns_types__packet_bytes_range__first
<S>  New H77:  12 <= dns_types__packet_bytes_range__last
<S>  New H78:  12 >= system__min_int
<S>  New H79:  12 <= system__max_int
<S>  New C1:  start_byte >= 1
<S>  New C2:  start_byte <= 8180
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of 
          rr_type__maxdomainnamelength by:
          128.
<S>  New H50:  rr_type__wirenamelength(fld_nameserver(element(replies__1, [1])))
           = 129 or element(fld_nameserver(element(replies__1, [1])), [
          rr_type__wirenamelength(fld_nameserver(element(replies__1, [1])))]) = 
          0 and for_all(q_ : integer, 1 <= q_ and q_ <= rr_type__wirenamelength(
          fld_nameserver(element(replies__1, [1]))) - 1 -> element(
          fld_nameserver(element(replies__1, [1])), [q_]) <> 0)
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of rr_type__maxnumrecords 
          by:
          64.
<S>  New H2:  answer_count <= dns_types__unsigned_short__last - 64
<S>  New C3:  answer_count + num_found__1 <= answer_count + 64
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H62:  1 <= num_found__1 -> 8168 <= system__max_int
<S>  New H63:  1 <= num_found__1 -> 24 <= system__max_int
<S>  New H64:  1 <= num_found__1 -> 12 <= system__max_int
<S>  New H78:  true
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H79:  true
<S>  New H62:  true
<S>  New H63:  true
<S>  New H64:  true
-S-  Applied substitution rule create_respo_rules(8).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H66:  1 <= num_found__1 -> start_byte >= - 2147483648 and start_byte 
          <= integer__last
-S-  Applied substitution rule create_respo_rules(9).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H66:  1 <= num_found__1 -> start_byte >= - 2147483648 and start_byte 
          <= 2147483647
-S-  Applied substitution rule create_respo_rules(10).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H61:  1 <= num_found__1 -> rr_type__wirenamelength(fld_nameserver(
          element(replies__1, [1]))) <= 2147491816 and 8168 - 
          rr_type__wirenamelength(fld_nameserver(element(replies__1, [1]))) <= 
          integer__base__last
-S-  Applied substitution rule create_respo_rules(11).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H61:  1 <= num_found__1 -> rr_type__wirenamelength(fld_nameserver(
          element(replies__1, [1]))) <= 2147491816 and - 2147475479 <= 
          rr_type__wirenamelength(fld_nameserver(element(replies__1, [1])))
-S-  Applied substitution rule create_respo_rules(13).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H5:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 
          character__last)
<S>  New H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(fld_nameserver(
          element(replies__1, [i___1])), [i___2]) and element(fld_nameserver(
          element(replies__1, [i___1])), [i___2]) <= character__last))
-S-  Applied substitution rule create_respo_rules(14).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H5:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(fld_nameserver(
          element(replies__1, [i___1])), [i___2]) and element(fld_nameserver(
          element(replies__1, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H39:  true
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H40:  true
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H6:  qname_location >= 0
<S>  New H25:  true
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H7:  qname_location <= 16383
<S>  New H26:  true
-S-  Applied substitution rule create_respo_rules(34).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H70:  start_byte >= - 12
-S-  Applied substitution rule create_respo_rules(35).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H71:  start_byte <= 8180
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H3:  start_byte >= 1
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H76:  true
-S-  Applied substitution rule create_respo_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H4:  start_byte <= 8180
<S>  New H77:  true
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H74:  start_byte >= - 2147483660
-S-  Applied substitution rule create_respo_rules(42).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H75:  start_byte <= 2147483635
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H8:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H14:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H16:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H18:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H20:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H23:  answer_count >= 0
<S>  New H83:  answer_count + num_found__1 >= 0
<S>  New H85:  num_found__1 >= 0
-S-  Applied substitution rule create_respo_rules(53).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H9:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H15:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H17:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H19:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H21:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H24:  answer_count <= 65535
<S>  New H84:  answer_count + num_found__1 <= 65535
<S>  New H86:  num_found__1 <= 65535
<S>  New H2:  answer_count <= 65471
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H10:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(59).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H11:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H12:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(85).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H13:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__first by:
          0.
<S>  New H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies__1, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies__1, [i___1]))) <= 
          unsigned_types__unsigned32__last)
-S-  Applied substitution rule create_respo_rules(127).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__last by:
          4294967295.
<S>  New H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies__1, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies__1, [i___1]))) <= 4294967295)
-S-  Applied substitution rule create_respo_rules(132).
     This was achieved by replacing all occurrences of 
          rr_type__classtype__first by:
          rr_type__internet.
<S>  New H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies__1, [i___1]))) and fld_class(
          fld_inherit(element(replies__1, [i___1]))) <= 
          rr_type__classtype__last)
-S-  Applied substitution rule create_respo_rules(133).
     This was achieved by replacing all occurrences of rr_type__classtype__last 
          by:
          rr_type__hs.
<S>  New H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies__1, [i___1]))) and fld_class(
          fld_inherit(element(replies__1, [i___1]))) <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(159).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H48:  rr_type__wirenamelength(fld_nameserver(element(replies__1, [1])))
           >= 1
<S>  New H5:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(domainname, [i___1]
          ) and element(domainname, [i___1]) <= 255)
<S>  New H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= rr_type__wirestringtypeindex__last -> 0 <= 
          element(fld_nameserver(element(replies__1, [i___1])), [i___2]) and 
          element(fld_nameserver(element(replies__1, [i___1])), [i___2]) <= 255)
          )
-S-  Applied substitution rule create_respo_rules(160).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H49:  rr_type__wirenamelength(fld_nameserver(element(replies__1, [1])))
           <= 129
<S>  New H5:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 129 -> 0 <= 
          element(domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= 129 -> 0 <= element(fld_nameserver(element(
          replies__1, [i___1])), [i___2]) and element(fld_nameserver(element(
          replies__1, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(167).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__first by:
          1.
<S>  New H46:  true
<S>  New H29:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies__1, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies__1, [i___1]))) <= 4294967295)
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies__1, [i___1]))) and fld_class(
          fld_inherit(element(replies__1, [i___1]))) <= rr_type__hs)
<S>  New H31:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= 129 -> 0 <= element(fld_nameserver(element(
          replies__1, [i___1])), [i___2]) and element(fld_nameserver(element(
          replies__1, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(168).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New H47:  true
<S>  New H29:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ttlinseconds(fld_inherit(element(replies__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(replies__1, [i___1]))) <= 
          4294967295)
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__internet <= fld_class(fld_inherit(element(replies__1, [i___1]
          ))) and fld_class(fld_inherit(element(replies__1, [i___1]))) <= 
          rr_type__hs)
<S>  New H31:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 129 -> 0 <= element(
          fld_nameserver(element(replies__1, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies__1, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(172).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__first by:
          0.
<S>  New H32:  num_found__1 >= 0
-S-  Applied substitution rule create_respo_rules(173).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__last by:
          64.
<S>  New H33:  num_found__1 <= 64
***  Proved C1:  start_byte >= 1
     using hypothesis H3.
***  Proved C2:  start_byte <= 8180
     using hypothesis H71.
***  Proved C3:  answer_count + num_found__1 <= answer_count + 64
     using hypothesis H33.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_ns_33.  @@@@@@@@@@
%%%  Simplified H5 on reading formula in, to give:
     %%%  H5:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(domainname, [i___1]) and element(
          domainname, [i___1]) <= character__last)
%%%  Simplified H10 on reading formula in, to give:
     %%%  H10:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H12 on reading formula in, to give:
     %%%  H12:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H22 on reading formula in, to give:
     %%%  H22:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H27 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H28 has been replaced by "true".  (It is already present, as H4)
          .
%%%  Simplified H29 on reading formula in, to give:
     %%%  H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ttlinseconds(fld_inherit(
          element(replies__1, [i___1]))) and fld_ttlinseconds(fld_inherit(
          element(replies__1, [i___1]))) <= unsigned_types__unsigned32__last)
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__classtype__first 
          <= fld_class(fld_inherit(element(replies__1, [i___1]))) and fld_class(
          fld_inherit(element(replies__1, [i___1]))) <= 
          rr_type__classtype__last)
%%%  Simplified H31 on reading formula in, to give:
     %%%  H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> character__first <= element(
          fld_nameserver(element(replies__1, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies__1, [i___1])), [i___2]) <= 
          character__last))
---  Hypothesis H34 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H35 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H36 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H37 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H39 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H40 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H43 has been replaced by "true".  (It is already present, as 
          H41).
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H42).
%%%  Simplified H51 on reading formula in, to give:
     %%%  H51:  true
---  Hypothesis H52 has been replaced by "true".  (It is already present, as 
          H32).
---  Hypothesis H53 has been replaced by "true".  (It is already present, as 
          H33).
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H1:  start_byte <= 8192
<S>  New C2:  start_byte + dns_types__header_bits div 8 <= 8192
>>>  Restructured hypothesis H38 into:
     >>>  H38:  num_found__1 < 1
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H41:  start_byte + 12 >= dns_types__packet_length_range__first
<S>  New H42:  start_byte + 12 <= dns_types__packet_length_range__last
<S>  New H45:  start_byte + 12 >= dns_types__packet_bytes_range__base__first
<S>  New H46:  start_byte + 12 <= dns_types__packet_bytes_range__base__last
<S>  New H47:  12 >= dns_types__packet_bytes_range__first
<S>  New H48:  12 <= dns_types__packet_bytes_range__last
<S>  New H49:  12 >= system__min_int
<S>  New H50:  12 <= system__max_int
<S>  New C1:  start_byte >= 1
<S>  New C2:  start_byte <= 8180
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of rr_type__maxnumrecords 
          by:
          64.
<S>  New H2:  answer_count <= dns_types__unsigned_short__last - 64
<S>  New C3:  answer_count + num_found__1 <= answer_count + 64
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H49:  true
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H50:  true
-S-  Applied substitution rule create_respo_rules(13).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H5:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 
          character__last)
<S>  New H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(fld_nameserver(
          element(replies__1, [i___1])), [i___2]) and element(fld_nameserver(
          element(replies__1, [i___1])), [i___2]) <= character__last))
-S-  Applied substitution rule create_respo_rules(14).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H5:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(fld_nameserver(
          element(replies__1, [i___1])), [i___2]) and element(fld_nameserver(
          element(replies__1, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H6:  qname_location >= 0
<S>  New H25:  true
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H7:  qname_location <= 16383
<S>  New H26:  true
-S-  Applied substitution rule create_respo_rules(34).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H41:  start_byte >= - 12
-S-  Applied substitution rule create_respo_rules(35).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H42:  start_byte <= 8180
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H3:  start_byte >= 1
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H47:  true
-S-  Applied substitution rule create_respo_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H4:  start_byte <= 8180
<S>  New H48:  true
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H45:  start_byte >= - 2147483660
-S-  Applied substitution rule create_respo_rules(42).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H46:  start_byte <= 2147483635
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H22:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H8:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H14:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H16:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H18:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H20:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H23:  answer_count >= 0
<S>  New H54:  answer_count + num_found__1 >= 0
<S>  New H56:  num_found__1 >= 0
-S-  Applied substitution rule create_respo_rules(53).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H9:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H15:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H17:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H19:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H21:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H24:  answer_count <= 65535
<S>  New H55:  answer_count + num_found__1 <= 65535
<S>  New H57:  num_found__1 <= 65535
<S>  New H2:  answer_count <= 65471
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H10:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(59).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H11:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H12:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(85).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H13:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__first by:
          0.
<S>  New H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies__1, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies__1, [i___1]))) <= 
          unsigned_types__unsigned32__last)
-S-  Applied substitution rule create_respo_rules(127).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__last by:
          4294967295.
<S>  New H29:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies__1, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies__1, [i___1]))) <= 4294967295)
-S-  Applied substitution rule create_respo_rules(132).
     This was achieved by replacing all occurrences of 
          rr_type__classtype__first by:
          rr_type__internet.
<S>  New H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies__1, [i___1]))) and fld_class(
          fld_inherit(element(replies__1, [i___1]))) <= 
          rr_type__classtype__last)
-S-  Applied substitution rule create_respo_rules(133).
     This was achieved by replacing all occurrences of rr_type__classtype__last 
          by:
          rr_type__hs.
<S>  New H30:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies__1, [i___1]))) and fld_class(
          fld_inherit(element(replies__1, [i___1]))) <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(159).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H5:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(domainname, [i___1]
          ) and element(domainname, [i___1]) <= 255)
<S>  New H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= rr_type__wirestringtypeindex__last -> 0 <= 
          element(fld_nameserver(element(replies__1, [i___1])), [i___2]) and 
          element(fld_nameserver(element(replies__1, [i___1])), [i___2]) <= 255)
          )
-S-  Applied substitution rule create_respo_rules(160).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H5:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 129 -> 0 <= 
          element(domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H31:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= 129 -> 0 <= element(fld_nameserver(element(
          replies__1, [i___1])), [i___2]) and element(fld_nameserver(element(
          replies__1, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(167).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__first by:
          1.
<S>  New H29:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies__1, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies__1, [i___1]))) <= 4294967295)
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies__1, [i___1]))) and fld_class(
          fld_inherit(element(replies__1, [i___1]))) <= rr_type__hs)
<S>  New H31:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= 129 -> 0 <= element(fld_nameserver(element(
          replies__1, [i___1])), [i___2]) and element(fld_nameserver(element(
          replies__1, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(168).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New H29:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ttlinseconds(fld_inherit(element(replies__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(replies__1, [i___1]))) <= 
          4294967295)
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__internet <= fld_class(fld_inherit(element(replies__1, [i___1]
          ))) and fld_class(fld_inherit(element(replies__1, [i___1]))) <= 
          rr_type__hs)
<S>  New H31:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 129 -> 0 <= element(
          fld_nameserver(element(replies__1, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies__1, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(172).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__first by:
          0.
<S>  New H32:  num_found__1 >= 0
-S-  Applied substitution rule create_respo_rules(173).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__last by:
          64.
<S>  New H33:  num_found__1 <= 64
***  Proved C1:  start_byte >= 1
     using hypothesis H3.
***  Proved C2:  start_byte <= 8180
     using hypothesis H42.
***  Proved C3:  answer_count + num_found__1 <= answer_count + 64
     using hypothesis H33.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_ns_34.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  answer_count = answer_count~
%%%  Simplified H13 on reading formula in, to give:
     %%%  H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(domainname, [i___1]) and element(
          domainname, [i___1]) <= character__last)
%%%  Simplified H18 on reading formula in, to give:
     %%%  H18:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H20 on reading formula in, to give:
     %%%  H20:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H33 has been replaced by "true".  (It is already present, as H6)
          .
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
%%%  Simplified H46 on reading formula in, to give:
     %%%  H46:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__2), [i___1]
          ) and element(fld_bytes(output_packet__2), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H61 has been replaced by "true".  (It is already present, as 
          H49).
---  Hypothesis H62 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H73 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H74 has been replaced by "true".  (It is already present, as 
          H36).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H75).
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H76).
%%%  Simplified H85 on reading formula in, to give:
     %%%  H85:  true
---  Hypothesis H90 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H91 has been replaced by "true".  (It is already present, as 
          H36).
%%%  Simplified H92 on reading formula in, to give:
     %%%  H92:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ttlinseconds(fld_inherit(
          element(replies, [i___1]))) and fld_ttlinseconds(fld_inherit(element(
          replies, [i___1]))) <= unsigned_types__unsigned32__last)
%%%  Simplified H93 on reading formula in, to give:
     %%%  H93:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__classtype__first 
          <= fld_class(fld_inherit(element(replies, [i___1]))) and fld_class(
          fld_inherit(element(replies, [i___1]))) <= rr_type__classtype__last)
%%%  Simplified H94 on reading formula in, to give:
     %%%  H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> character__first <= element(
          fld_nameserver(element(replies, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies, [i___1])), [i___2]) <= 
          character__last))
---  Hypothesis H98 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H99 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H100 has been replaced by "true".  (It is already present, as 
          H4).
---  Hypothesis H104 has been replaced by "true".  (It is already present, as 
          H4).
---  Hypothesis H106 has been replaced by "true".  (It is already present, as 
          H88).
---  Hypothesis H107 has been replaced by "true".  (It is already present, as 
          H89).
%%%  Simplified H110 on reading formula in, to give:
     %%%  H110:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__3), [i___1]
          ) and element(fld_bytes(output_packet__3), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H111 on reading formula in, to give:
     %%%  H111:  fld_header(output_packet__3) = fld_header(output_packet__2)
%%%  Simplified H112 on reading formula in, to give:
     %%%  H112:  output_packet__3 = upf_bytes(output_packet__2, fld_bytes(
          output_packet__3))
---  Hypothesis H113 has been replaced by "true".  (It is already present, as 
          H95).
---  Hypothesis H114 has been replaced by "true".  (It is already present, as 
          H96).
---  Hypothesis H117 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H118 has been replaced by "true".  (It is already present, as 
          H36).
---  Hypothesis H119 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H120 has been replaced by "true".  (It is already present, as 
          H4).
---  Hypothesis H125 has been replaced by "true".  (It is already present, as 
          H86).
---  Hypothesis H126 has been replaced by "true".  (It is already present, as 
          H87).
---  Hypothesis H129 has been replaced by "true".  (It is already present, as 
          H115).
---  Hypothesis H130 has been replaced by "true".  (It is already present, as 
          H116).
---  Hypothesis H132 has been replaced by "true".  (It is already present, as 
          H92).
---  Hypothesis H133 has been replaced by "true".  (It is already present, as 
          H93).
---  Hypothesis H134 has been replaced by "true".  (It is already present, as 
          H94).
---  Hypothesis H135 has been replaced by "true".  (It is already present, as 
          H115).
---  Hypothesis H136 has been replaced by "true".  (It is already present, as 
          H116).
%%%  Simplified H141 on reading formula in, to give:
     %%%  H141:  rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) = rr_type__maxdomainnamelength + 1 or 
          element(fld_nameserver(element(replies, [response_counter + 1])), [
          rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1])))]) = 0 and for_all(q_ : integer, 1 <= q_ and 
          q_ <= rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) - 1 -> element(fld_nameserver(element(
          replies, [response_counter + 1])), [q_]) <> 0)
---  Hypothesis H142 has been replaced by "true".  (It is already present, as 
          H139).
---  Hypothesis H143 has been replaced by "true".  (It is already present, as 
          H140).
---  Hypothesis H144 has been replaced by "true".  (It is already present, as 
          H127).
---  Hypothesis H145 has been replaced by "true".  (It is already present, as 
          H128).
---  Hypothesis H146 has been replaced by "true".  (It is already present, as 
          H115).
---  Hypothesis H147 has been replaced by "true".  (It is already present, as 
          H116).
---  Hypothesis H148 has been replaced by "true".  (It is already present, as 
          H121).
---  Hypothesis H149 has been replaced by "true".  (It is already present, as 
          H122).
---  Hypothesis H150 has been replaced by "true".  (It is already present, as 
          H139).
---  Hypothesis H151 has been replaced by "true".  (It is already present, as 
          H140).
%%%  Simplified H156 on reading formula in, to give:
     %%%  H156:  true
---  Hypothesis H159 has been replaced by "true".  (It is already present, as 
          H121).
---  Hypothesis H160 has been replaced by "true".  (It is already present, as 
          H122).
---  Hypothesis H163 has been replaced by "true".  (It is already present, as 
          H161).
---  Hypothesis H164 has been replaced by "true".  (It is already present, as 
          H162).
---  Hypothesis H167 has been replaced by "true".  (It is already present, as 
          H81).
---  Hypothesis H168 has been replaced by "true".  (It is already present, as 
          H82).
---  Hypothesis H169 has been replaced by "true".  (It is already present, as 
          H83).
---  Hypothesis H170 has been replaced by "true".  (It is already present, as 
          H84).
---  Hypothesis H171 has been replaced by "true".  (It is already present, as 
          H85).
---  Hypothesis H172 has been replaced by "true".  (It is already present, as 
          H127).
---  Hypothesis H173 has been replaced by "true".  (It is already present, as 
          H128).
%%%  Simplified C3 on reading formula in, to give:
     %%%  C3:  answer_count + num_found <= answer_count~ + 
          rr_type__maxnumrecords
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H6:  start_byte <= 8192
<S>  New H9:  current_byte < 8192 - (12 + dns_types__header_bits div 8) - 
          current_name_length
<S>  New H152:  response_counter + 1 <= num_found -> 8192 - (12 + 
          dns_types__header_bits div 8) - rr_type__wirenamelength(
          fld_nameserver(element(replies, [response_counter + 1]))) >= 
          integer__base__first and 8192 - (12 + dns_types__header_bits div 8) - 
          rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) <= integer__base__last
<S>  New H153:  response_counter + 1 <= num_found -> 8192 - (12 + 
          dns_types__header_bits div 8) >= system__min_int and 8192 - (12 + 
          dns_types__header_bits div 8) <= system__max_int
<S>  New H158:  not (response_counter + 1 <= num_found and current_byte + 12 + 
          current_name_length < 8192 - (12 + dns_types__header_bits div 8) - 
          rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))))
<S>  New C2:  current_byte + 12 + current_name_length + dns_types__header_bits 
          div 8 <= 8192
>>>  Restructured hypothesis H158 into:
     >>>  H158:  num_found < response_counter + 1 or 8192 - (12 + 
          dns_types__header_bits div 8) - rr_type__wirenamelength(
          fld_nameserver(element(replies, [response_counter + 1]))) <= 
          current_byte + 12 + current_name_length
+++  Using "A->B, A |- B" on hypotheses H152 & H131 yields a new hypothesis:
     +++  H178:  8192 - (12 + dns_types__header_bits div 8) - 
          rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) >= integer__base__first and 8192 - (12 + 
          dns_types__header_bits div 8) - rr_type__wirenamelength(
          fld_nameserver(element(replies, [response_counter + 1]))) <= 
          integer__base__last
+++  Using "A->B, A |- B" on hypotheses H153 & H131 yields a new hypothesis:
     +++  H179:  8192 - (12 + dns_types__header_bits div 8) >= system__min_int 
          and 8192 - (12 + dns_types__header_bits div 8) <= system__max_int
+++  Using "A->B, A |- B" on hypotheses H154 & H131 yields a new hypothesis:
     +++  H180:  12 + dns_types__header_bits div 8 >= system__min_int and 12 + 
          dns_types__header_bits div 8 <= system__max_int
+++  Using "A->B, A |- B" on hypotheses H155 & H131 yields a new hypothesis:
     +++  H181:  dns_types__header_bits div 8 >= system__min_int and 
          dns_types__header_bits div 8 <= system__max_int
+++  Using "A->B, A |- B" on hypotheses H157 & H131 yields a new hypothesis:
     +++  H182:  current_byte + 12 + current_name_length >= integer__first and 
          current_byte + 12 + current_name_length <= integer__last
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H9:  current_byte < 8168 - current_name_length
<S>  New H75:  current_byte + 12 + 12 >= dns_types__qname_ptr_range__first
<S>  New H76:  current_byte + 12 + 12 <= dns_types__qname_ptr_range__last
<S>  New H79:  current_byte + 12 + 12 >= 
          dns_types__packet_bytes_range__base__first
<S>  New H80:  current_byte + 12 + 12 <= 
          dns_types__packet_bytes_range__base__last
<S>  New H81:  12 >= dns_types__packet_bytes_range__first
<S>  New H82:  12 <= dns_types__packet_bytes_range__last
<S>  New H83:  12 >= system__min_int
<S>  New H84:  12 <= system__max_int
<S>  New H152:  response_counter + 1 <= num_found -> 8168 - 
          rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) >= integer__base__first and 8168 - 
          rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) <= integer__base__last
<S>  New H153:  response_counter + 1 <= num_found -> 8168 >= system__min_int 
          and 8168 <= system__max_int
<S>  New H154:  response_counter + 1 <= num_found -> 24 >= system__min_int and 
          24 <= system__max_int
<S>  New H155:  response_counter + 1 <= num_found -> 12 >= system__min_int and 
          12 <= system__max_int
<S>  New H158:  num_found < response_counter + 1 or 8168 - 
          rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) <= current_byte + 12 + current_name_length
<S>  New H161:  current_byte + 12 + current_name_length + 12 >= 
          dns_types__packet_length_range__first
<S>  New H162:  current_byte + 12 + current_name_length + 12 <= 
          dns_types__packet_length_range__last
<S>  New H165:  current_byte + 12 + current_name_length + 12 >= 
          dns_types__packet_bytes_range__base__first
<S>  New H166:  current_byte + 12 + current_name_length + 12 <= 
          dns_types__packet_bytes_range__base__last
<S>  New H178:  8168 - rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) >= integer__base__first and 8168 - 
          rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) <= integer__base__last
<S>  New H179:  8168 >= system__min_int and 8168 <= system__max_int
<S>  New H180:  24 >= system__min_int and 24 <= system__max_int
<S>  New H181:  12 >= system__min_int and 12 <= system__max_int
<S>  New C1:  current_byte + 12 + current_name_length >= 1
<S>  New C2:  current_byte + 12 + current_name_length <= 8180
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of 
          rr_type__maxdomainnamelength by:
          128.
<S>  New H141:  rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) = 129 or element(fld_nameserver(element(
          replies, [response_counter + 1])), [rr_type__wirenamelength(
          fld_nameserver(element(replies, [response_counter + 1])))]) = 0 and 
          for_all(q_ : integer, 1 <= q_ and q_ <= rr_type__wirenamelength(
          fld_nameserver(element(replies, [response_counter + 1]))) - 1 -> 
          element(fld_nameserver(element(replies, [response_counter + 1])), [q_]
          ) <> 0)
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of rr_type__maxnumrecords 
          by:
          64.
<S>  New H5:  num_found <= 64
<S>  New H8:  answer_count <= dns_types__unsigned_short__last - 64
<S>  New H34:  answer_count~ <= dns_types__unsigned_short__last - 64
<S>  New C3:  answer_count + num_found <= answer_count~ + 64
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H83:  true
<S>  New H153:  response_counter + 1 <= num_found -> 8168 <= system__max_int
<S>  New H154:  response_counter + 1 <= num_found -> 24 <= system__max_int
<S>  New H155:  response_counter + 1 <= num_found -> 12 <= system__max_int
<S>  New H179:  8168 <= system__max_int
<S>  New H180:  24 <= system__max_int
<S>  New H181:  12 <= system__max_int
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H84:  true
<S>  New H153:  true
<S>  New H154:  true
<S>  New H155:  true
<S>  New H179:  true
<S>  New H180:  true
<S>  New H181:  true
-S-  Applied substitution rule create_respo_rules(8).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H157:  response_counter + 1 <= num_found -> current_byte + 12 + 
          current_name_length >= - 2147483648 and current_byte + 12 + 
          current_name_length <= integer__last
<S>  New H182:  current_byte + 12 + current_name_length >= - 2147483648 and 
          current_byte + 12 + current_name_length <= integer__last
-S-  Applied substitution rule create_respo_rules(9).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H157:  response_counter + 1 <= num_found -> current_byte + 12 + 
          current_name_length >= - 2147483648 and current_byte + 12 + 
          current_name_length <= 2147483647
<S>  New H182:  current_byte + 12 + current_name_length >= - 2147483648 and 
          current_byte + 12 + current_name_length <= 2147483647
-S-  Applied substitution rule create_respo_rules(10).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H152:  response_counter + 1 <= num_found -> rr_type__wirenamelength(
          fld_nameserver(element(replies, [response_counter + 1]))) <= 
          2147491816 and 8168 - rr_type__wirenamelength(fld_nameserver(element(
          replies, [response_counter + 1]))) <= integer__base__last
<S>  New H178:  rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) <= 2147491816 and 8168 - 
          rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) <= integer__base__last
-S-  Applied substitution rule create_respo_rules(11).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H152:  response_counter + 1 <= num_found -> rr_type__wirenamelength(
          fld_nameserver(element(replies, [response_counter + 1]))) <= 
          2147491816 and - 2147475479 <= rr_type__wirenamelength(fld_nameserver(
          element(replies, [response_counter + 1])))
<S>  New H178:  rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) <= 2147491816 and - 2147475479 <= 
          rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1])))
-S-  Applied substitution rule create_respo_rules(13).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 
          character__last)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(fld_nameserver(
          element(replies, [i___1])), [i___2]) and element(fld_nameserver(
          element(replies, [i___1])), [i___2]) <= character__last))
-S-  Applied substitution rule create_respo_rules(14).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(fld_nameserver(
          element(replies, [i___1])), [i___2]) and element(fld_nameserver(
          element(replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H95:  response_counter >= 0
<S>  New H115:  response_counter >= - 1
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H96:  response_counter <= 2147483647
<S>  New H116:  response_counter <= 2147483646
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H14:  qname_location >= 0
<S>  New H75:  current_byte >= - 24
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H15:  qname_location <= 16383
<S>  New H76:  current_byte <= 16359
-S-  Applied substitution rule create_respo_rules(34).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H161:  current_byte + 12 + current_name_length >= - 12
-S-  Applied substitution rule create_respo_rules(35).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H162:  current_byte + 12 + current_name_length <= 8180
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H11:  start_byte >= 1
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H35:  current_byte >= 1
<S>  New H39:  current_byte >= 0
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= dns_types__byte__last)
<S>  New H51:  current_byte >= - 2
<S>  New H57:  current_byte >= - 3
<S>  New H63:  current_byte >= - 4
<S>  New H69:  current_byte >= - 5
<S>  New H101:  current_byte >= - 6
<S>  New H110:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet__3), [i___1]) and element(fld_bytes(
          output_packet__3), [i___1]) <= dns_types__byte__last)
<S>  New H121:  current_byte + 12 + current_name_length >= 1
<S>  New H123:  current_name_length >= 1
<S>  New H81:  true
-S-  Applied substitution rule create_respo_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H12:  start_byte <= 8180
<S>  New H36:  current_byte <= 8180
<S>  New H40:  current_byte <= 8179
<S>  New H41:  current_byte <= 8178
<S>  New H52:  current_byte <= 8177
<S>  New H58:  current_byte <= 8176
<S>  New H64:  current_byte <= 8175
<S>  New H70:  current_byte <= 8174
<S>  New H102:  current_byte <= 8173
<S>  New H105:  current_byte + 7 <= 8174 - current_name_length
<S>  New H122:  current_byte + 12 + current_name_length <= 8180
<S>  New H124:  current_name_length <= 8180
<S>  New H82:  true
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__2), [i___1]
          ) and element(fld_bytes(output_packet__2), [i___1]) <= 
          dns_types__byte__last)
<S>  New H110:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__3), [i___1]
          ) and element(fld_bytes(output_packet__3), [i___1]) <= 
          dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H44:  current_byte >= - 2147483649
<S>  New H53:  current_byte >= - 2147483651
<S>  New H59:  current_byte >= - 2147483652
<S>  New H65:  current_byte >= - 2147483653
<S>  New H71:  current_byte >= - 2147483654
<S>  New H86:  current_byte >= - 2147483660
<S>  New H108:  current_byte >= - 2147483655
<S>  New H79:  current_byte >= - 2147483672
<S>  New H165:  current_byte + 12 + current_name_length >= - 2147483660
-S-  Applied substitution rule create_respo_rules(42).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H45:  current_byte <= 2147483646
<S>  New H54:  current_byte <= 2147483644
<S>  New H60:  current_byte <= 2147483643
<S>  New H66:  current_byte <= 2147483642
<S>  New H72:  current_byte <= 2147483641
<S>  New H87:  current_byte <= 2147483635
<S>  New H109:  current_byte <= 2147483640
<S>  New H80:  current_byte <= 2147483623
<S>  New H166:  current_byte + 12 + current_name_length <= 2147483635
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H49:  true
<S>  New H55:  true
<S>  New H67:  true
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= dns_types__byte__last)
<S>  New H110:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__3), [i___1]) and element(fld_bytes(
          output_packet__3), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H50:  true
<S>  New H56:  true
<S>  New H68:  true
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= 255)
<S>  New H110:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__3), [i___1]) and element(fld_bytes(
          output_packet__3), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H16:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H22:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H24:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H26:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H28:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H31:  answer_count >= 0
<S>  New H174:  answer_count + num_found >= 0
<S>  New H176:  num_found >= 0
-S-  Applied substitution rule create_respo_rules(53).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H17:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H23:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H25:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H27:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H29:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H32:  answer_count <= 65535
<S>  New H175:  answer_count + num_found <= 65535
<S>  New H177:  num_found <= 65535
<S>  New H8:  answer_count <= 65471
<S>  New H34:  answer_count~ <= 65471
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H18:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(59).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H19:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H20:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(85).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H21:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
-S-  Applied substitution rule create_respo_rules(120).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__first by:
          0.
<S>  New H37:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          >= 0
<S>  New H42:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(121).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__last by:
          65535.
<S>  New H38:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          <= 65535
<S>  New H43:  qname_location <= 65535
-S-  Applied substitution rule create_respo_rules(124).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__modulus by:
          65536.
<S>  New H37:  (qname_location + 49152) mod 65536 >= 0
<S>  New H38:  (qname_location + 49152) mod 65536 <= 65535
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__first by:
          0.
<S>  New H92:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) <= 
          unsigned_types__unsigned32__last)
-S-  Applied substitution rule create_respo_rules(127).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__last by:
          4294967295.
<S>  New H92:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) <= 4294967295)
-S-  Applied substitution rule create_respo_rules(132).
     This was achieved by replacing all occurrences of 
          rr_type__classtype__first by:
          rr_type__internet.
<S>  New H93:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies, [i___1]))) and fld_class(
          fld_inherit(element(replies, [i___1]))) <= rr_type__classtype__last)
-S-  Applied substitution rule create_respo_rules(133).
     This was achieved by replacing all occurrences of rr_type__classtype__last 
          by:
          rr_type__hs.
<S>  New H93:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies, [i___1]))) and fld_class(
          fld_inherit(element(replies, [i___1]))) <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(159).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H97:  current_name_length >= 1
<S>  New H139:  rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) >= 1
<S>  New H13:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(domainname, [i___1]
          ) and element(domainname, [i___1]) <= 255)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= rr_type__wirestringtypeindex__last -> 0 <= 
          element(fld_nameserver(element(replies, [i___1])), [i___2]) and 
          element(fld_nameserver(element(replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(160).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H4:  current_name_length <= 129
<S>  New H140:  rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) <= 129
<S>  New H13:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 129 -> 0 <= 
          element(domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= 129 -> 0 <= element(fld_nameserver(element(
          replies, [i___1])), [i___2]) and element(fld_nameserver(element(
          replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(167).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__first by:
          1.
<S>  New H88:  response_counter >= 1
<S>  New H137:  response_counter >= 0
<S>  New H92:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) <= 4294967295)
<S>  New H93:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies, [i___1]))) and fld_class(
          fld_inherit(element(replies, [i___1]))) <= rr_type__hs)
<S>  New H94:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= 129 -> 0 <= element(fld_nameserver(element(
          replies, [i___1])), [i___2]) and element(fld_nameserver(element(
          replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(168).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New H89:  response_counter <= 64
<S>  New H138:  response_counter <= 63
<S>  New H92:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ttlinseconds(fld_inherit(element(replies, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(replies, [i___1]))) <= 
          4294967295)
<S>  New H93:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__internet <= fld_class(fld_inherit(element(replies, [i___1])))
           and fld_class(fld_inherit(element(replies, [i___1]))) <= rr_type__hs)
<S>  New H94:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 129 -> 0 <= element(
          fld_nameserver(element(replies, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(172).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__first by:
          0.
<S>  New H127:  num_found >= 0
-S-  Applied substitution rule create_respo_rules(173).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__last by:
          64.
<S>  New H128:  num_found <= 64
***  Proved C1:  current_byte + 12 + current_name_length >= 1
     using hypothesis H121.
***  Proved C2:  current_byte + 12 + current_name_length <= 8180
     using hypothesis H162.
---  Eliminated hypothesis H33 (true-hypothesis).
---  Eliminated hypothesis H61 (true-hypothesis).
---  Eliminated hypothesis H62 (true-hypothesis).
---  Eliminated hypothesis H73 (true-hypothesis).
---  Eliminated hypothesis H74 (true-hypothesis).
---  Eliminated hypothesis H77 (true-hypothesis).
---  Eliminated hypothesis H78 (true-hypothesis).
---  Eliminated hypothesis H85 (true-hypothesis).
---  Eliminated hypothesis H90 (true-hypothesis).
---  Eliminated hypothesis H91 (true-hypothesis).
---  Eliminated hypothesis H98 (true-hypothesis).
---  Eliminated hypothesis H99 (true-hypothesis).
---  Eliminated hypothesis H100 (true-hypothesis).
---  Eliminated hypothesis H104 (true-hypothesis).
---  Eliminated hypothesis H106 (true-hypothesis).
---  Eliminated hypothesis H107 (true-hypothesis).
---  Eliminated hypothesis H113 (true-hypothesis).
---  Eliminated hypothesis H114 (true-hypothesis).
---  Eliminated hypothesis H117 (true-hypothesis).
---  Eliminated hypothesis H118 (true-hypothesis).
---  Eliminated hypothesis H119 (true-hypothesis).
---  Eliminated hypothesis H120 (true-hypothesis).
---  Eliminated hypothesis H125 (true-hypothesis).
---  Eliminated hypothesis H126 (true-hypothesis).
---  Eliminated hypothesis H129 (true-hypothesis).
---  Eliminated hypothesis H130 (true-hypothesis).
---  Eliminated hypothesis H132 (true-hypothesis).
---  Eliminated hypothesis H133 (true-hypothesis).
---  Eliminated hypothesis H134 (true-hypothesis).
---  Eliminated hypothesis H135 (true-hypothesis).
---  Eliminated hypothesis H136 (true-hypothesis).
---  Eliminated hypothesis H142 (true-hypothesis).
---  Eliminated hypothesis H143 (true-hypothesis).
---  Eliminated hypothesis H144 (true-hypothesis).
---  Eliminated hypothesis H145 (true-hypothesis).
---  Eliminated hypothesis H146 (true-hypothesis).
---  Eliminated hypothesis H147 (true-hypothesis).
---  Eliminated hypothesis H148 (true-hypothesis).
---  Eliminated hypothesis H149 (true-hypothesis).
---  Eliminated hypothesis H150 (true-hypothesis).
---  Eliminated hypothesis H151 (true-hypothesis).
---  Eliminated hypothesis H156 (true-hypothesis).
---  Eliminated hypothesis H159 (true-hypothesis).
---  Eliminated hypothesis H160 (true-hypothesis).
---  Eliminated hypothesis H163 (true-hypothesis).
---  Eliminated hypothesis H164 (true-hypothesis).
---  Eliminated hypothesis H167 (true-hypothesis).
---  Eliminated hypothesis H168 (true-hypothesis).
---  Eliminated hypothesis H169 (true-hypothesis).
---  Eliminated hypothesis H170 (true-hypothesis).
---  Eliminated hypothesis H171 (true-hypothesis).
---  Eliminated hypothesis H172 (true-hypothesis).
---  Eliminated hypothesis H173 (true-hypothesis).
---  Eliminated hypothesis H83 (true-hypothesis).
---  Eliminated hypothesis H84 (true-hypothesis).
---  Eliminated hypothesis H153 (true-hypothesis).
---  Eliminated hypothesis H154 (true-hypothesis).
---  Eliminated hypothesis H155 (true-hypothesis).
---  Eliminated hypothesis H179 (true-hypothesis).
---  Eliminated hypothesis H180 (true-hypothesis).
---  Eliminated hypothesis H181 (true-hypothesis).
---  Eliminated hypothesis H81 (true-hypothesis).
---  Eliminated hypothesis H82 (true-hypothesis).
---  Eliminated hypothesis H49 (true-hypothesis).
---  Eliminated hypothesis H55 (true-hypothesis).
---  Eliminated hypothesis H67 (true-hypothesis).
---  Eliminated hypothesis H50 (true-hypothesis).
---  Eliminated hypothesis H56 (true-hypothesis).
---  Eliminated hypothesis H68 (true-hypothesis).
%%%  Simplified H158 further (given H131), to give:
     %%%  H158:  8168 - rr_type__wirenamelength(fld_nameserver(element(replies, 
          [response_counter + 1]))) <= current_byte + 12 + current_name_length
---  Eliminated hypothesis H88 (duplicate of H1).
---  Eliminated hypothesis H123 (duplicate of H3).
---  Eliminated hypothesis H97 (duplicate of H3).
---  Eliminated hypothesis H39 (duplicate of H10).
---  Eliminated hypothesis H128 (duplicate of H5).
---  Eliminated hypothesis H137 (duplicate of H95).
---  Eliminated hypothesis H42 (duplicate of H14).
---  Eliminated hypothesis H162 (duplicate of H122).
---  Eliminated hypothesis H176 (duplicate of H127).
---  Eliminated hypothesis H105 (duplicate of H9).
>>>  Using "A->B, A |- B" on H157, given H131, we simplify the former to:
     >>>  H157:  current_byte + 12 + current_name_length >= - 2147483648 and 
          current_byte + 12 + current_name_length <= 2147483647
>>>  Using "A->B, A |- B" on H152, given H131, we simplify the former to:
     >>>  H152:  rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1]))) <= 2147491816 and - 2147475479 <= 
          rr_type__wirenamelength(fld_nameserver(element(replies, [
          response_counter + 1])))
---  Eliminated hypothesis H2 (redundant, given H131).
---  Eliminated hypothesis H6 (redundant, given H12).
---  Eliminated hypothesis H10 (redundant, given H35).
---  Eliminated hypothesis H32 (redundant, given H8).
---  Eliminated hypothesis H36 (redundant, given H40).
---  Eliminated hypothesis H40 (redundant, given H41).
---  Eliminated hypothesis H41 (redundant, given H52).
---  Eliminated hypothesis H43 (redundant, given H15).
---  Eliminated hypothesis H44 (redundant, given H35).
---  Eliminated hypothesis H45 (redundant, given H52).
---  Eliminated hypothesis H51 (redundant, given H35).
---  Eliminated hypothesis H52 (redundant, given H58).
---  Eliminated hypothesis H53 (redundant, given H35).
---  Eliminated hypothesis H54 (redundant, given H58).
---  Eliminated hypothesis H57 (redundant, given H35).
---  Eliminated hypothesis H58 (redundant, given H64).
---  Eliminated hypothesis H59 (redundant, given H35).
---  Eliminated hypothesis H60 (redundant, given H64).
---  Eliminated hypothesis H63 (redundant, given H35).
---  Eliminated hypothesis H64 (redundant, given H70).
---  Eliminated hypothesis H65 (redundant, given H35).
---  Eliminated hypothesis H66 (redundant, given H70).
---  Eliminated hypothesis H69 (redundant, given H35).
---  Eliminated hypothesis H70 (redundant, given H102).
---  Eliminated hypothesis H71 (redundant, given H35).
---  Eliminated hypothesis H72 (redundant, given H76).
---  Eliminated hypothesis H75 (redundant, given H35).
---  Eliminated hypothesis H76 (redundant, given H102).
---  Eliminated hypothesis H79 (redundant, given H35).
---  Eliminated hypothesis H80 (redundant, given H102).
---  Eliminated hypothesis H86 (redundant, given H35).
---  Eliminated hypothesis H87 (redundant, given H102).
---  Eliminated hypothesis H89 (redundant, given H138).
---  Eliminated hypothesis H95 (redundant, given H1).
---  Eliminated hypothesis H96 (redundant, given H116).
---  Eliminated hypothesis H101 (redundant, given H35).
---  Eliminated hypothesis H102 (redundant, given H3 & H9).
---  Eliminated hypothesis H103 (redundant, given H3).
---  Eliminated hypothesis H108 (redundant, given H35).
---  Eliminated hypothesis H109 (redundant, given H3 & H9).
---  Eliminated hypothesis H115 (redundant, given H1).
---  Eliminated hypothesis H116 (redundant, given H138).
---  Eliminated hypothesis H122 (redundant, given H9).
---  Eliminated hypothesis H124 (redundant, given H4).
---  Eliminated hypothesis H127 (redundant, given H1 & H131).
---  Eliminated hypothesis H161 (redundant, given H121).
---  Eliminated hypothesis H165 (redundant, given H121).
---  Eliminated hypothesis H166 (redundant, given H9).
---  Eliminated hypothesis H177 (redundant, given H5).
-S-  Eliminated hypothesis H7.
     This was achieved by replacing all occurrences of answer_count by:
          answer_count~.
<S>  New H31:  answer_count~ >= 0
<S>  New H174:  answer_count~ + num_found >= 0
<S>  New H175:  answer_count~ + num_found <= 65535
<S>  New H8:  answer_count~ <= 65471
<S>  New C3:  answer_count~ + num_found <= answer_count~ + 64
-S-  Substituted hypothesis H47.
     This was achieved by replacing all occurrences of fld_header(
          output_packet__2) by:
          fld_header(output_packet).
---  Substituted hypothesis H111, which specifies an equivalence for fld_header(
          output_packet__3).
***  Proved C3:  answer_count~ + num_found <= answer_count~ + 64
     using hypothesis H5.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_ns_35.  @@@@@@@@@@
%%%  Simplified H7 on reading formula in, to give:
     %%%  H7:  answer_count = answer_count~
%%%  Simplified H13 on reading formula in, to give:
     %%%  H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 
          character__first <= element(domainname, [i___1]) and element(
          domainname, [i___1]) <= character__last)
%%%  Simplified H18 on reading formula in, to give:
     %%%  H18:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H20 on reading formula in, to give:
     %%%  H20:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H30 on reading formula in, to give:
     %%%  H30:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H33 has been replaced by "true".  (It is already present, as H6)
          .
%%%  Simplified H34 on reading formula in, to give:
     %%%  H34:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
%%%  Simplified H46 on reading formula in, to give:
     %%%  H46:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__2), [i___1]
          ) and element(fld_bytes(output_packet__2), [i___1]) <= 
          dns_types__byte__last)
---  Hypothesis H61 has been replaced by "true".  (It is already present, as 
          H49).
---  Hypothesis H62 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H73 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H74 has been replaced by "true".  (It is already present, as 
          H36).
---  Hypothesis H77 has been replaced by "true".  (It is already present, as 
          H75).
---  Hypothesis H78 has been replaced by "true".  (It is already present, as 
          H76).
%%%  Simplified H85 on reading formula in, to give:
     %%%  H85:  true
---  Hypothesis H90 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H91 has been replaced by "true".  (It is already present, as 
          H36).
%%%  Simplified H92 on reading formula in, to give:
     %%%  H92:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ttlinseconds(fld_inherit(
          element(replies, [i___1]))) and fld_ttlinseconds(fld_inherit(element(
          replies, [i___1]))) <= unsigned_types__unsigned32__last)
%%%  Simplified H93 on reading formula in, to give:
     %%%  H93:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__classtype__first 
          <= fld_class(fld_inherit(element(replies, [i___1]))) and fld_class(
          fld_inherit(element(replies, [i___1]))) <= rr_type__classtype__last)
%%%  Simplified H94 on reading formula in, to give:
     %%%  H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> character__first <= element(
          fld_nameserver(element(replies, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies, [i___1])), [i___2]) <= 
          character__last))
---  Hypothesis H98 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H99 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H100 has been replaced by "true".  (It is already present, as 
          H4).
---  Hypothesis H104 has been replaced by "true".  (It is already present, as 
          H4).
---  Hypothesis H106 has been replaced by "true".  (It is already present, as 
          H88).
---  Hypothesis H107 has been replaced by "true".  (It is already present, as 
          H89).
%%%  Simplified H110 on reading formula in, to give:
     %%%  H110:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__3), [i___1]
          ) and element(fld_bytes(output_packet__3), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H111 on reading formula in, to give:
     %%%  H111:  fld_header(output_packet__3) = fld_header(output_packet__2)
%%%  Simplified H112 on reading formula in, to give:
     %%%  H112:  output_packet__3 = upf_bytes(output_packet__2, fld_bytes(
          output_packet__3))
---  Hypothesis H113 has been replaced by "true".  (It is already present, as 
          H95).
---  Hypothesis H114 has been replaced by "true".  (It is already present, as 
          H96).
---  Hypothesis H117 has been replaced by "true".  (It is already present, as 
          H35).
---  Hypothesis H118 has been replaced by "true".  (It is already present, as 
          H36).
---  Hypothesis H119 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H120 has been replaced by "true".  (It is already present, as 
          H4).
---  Hypothesis H125 has been replaced by "true".  (It is already present, as 
          H86).
---  Hypothesis H126 has been replaced by "true".  (It is already present, as 
          H87).
---  Hypothesis H129 has been replaced by "true".  (It is already present, as 
          H115).
---  Hypothesis H130 has been replaced by "true".  (It is already present, as 
          H116).
---  Hypothesis H132 has been replaced by "true".  (It is already present, as 
          H127).
---  Hypothesis H133 has been replaced by "true".  (It is already present, as 
          H128).
---  Hypothesis H134 has been replaced by "true".  (It is already present, as 
          H115).
---  Hypothesis H135 has been replaced by "true".  (It is already present, as 
          H116).
---  Hypothesis H136 has been replaced by "true".  (It is already present, as 
          H121).
---  Hypothesis H137 has been replaced by "true".  (It is already present, as 
          H122).
---  Hypothesis H138 has been replaced by "true".  (It is already present, as 
          H97).
---  Hypothesis H139 has been replaced by "true".  (It is already present, as 
          H4).
%%%  Simplified H144 on reading formula in, to give:
     %%%  H144:  true
---  Hypothesis H147 has been replaced by "true".  (It is already present, as 
          H121).
---  Hypothesis H148 has been replaced by "true".  (It is already present, as 
          H122).
---  Hypothesis H151 has been replaced by "true".  (It is already present, as 
          H149).
---  Hypothesis H152 has been replaced by "true".  (It is already present, as 
          H150).
---  Hypothesis H155 has been replaced by "true".  (It is already present, as 
          H81).
---  Hypothesis H156 has been replaced by "true".  (It is already present, as 
          H82).
---  Hypothesis H157 has been replaced by "true".  (It is already present, as 
          H83).
---  Hypothesis H158 has been replaced by "true".  (It is already present, as 
          H84).
---  Hypothesis H159 has been replaced by "true".  (It is already present, as 
          H85).
---  Hypothesis H160 has been replaced by "true".  (It is already present, as 
          H127).
---  Hypothesis H161 has been replaced by "true".  (It is already present, as 
          H128).
%%%  Simplified C3 on reading formula in, to give:
     %%%  C3:  answer_count + num_found <= answer_count~ + 
          rr_type__maxnumrecords
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H6:  start_byte <= 8192
<S>  New H9:  current_byte < 8192 - (12 + dns_types__header_bits div 8) - 
          current_name_length
<S>  New H140:  response_counter + 1 <= num_found -> 8192 - (12 + 
          dns_types__header_bits div 8) - current_name_length >= 
          integer__base__first and 8192 - (12 + dns_types__header_bits div 8) - 
          current_name_length <= integer__base__last
<S>  New H141:  response_counter + 1 <= num_found -> 8192 - (12 + 
          dns_types__header_bits div 8) >= system__min_int and 8192 - (12 + 
          dns_types__header_bits div 8) <= system__max_int
<S>  New H146:  not (response_counter + 1 <= num_found and current_byte + 12 + 
          current_name_length < 8192 - (12 + dns_types__header_bits div 8) - 
          current_name_length)
<S>  New C2:  current_byte + 12 + current_name_length + dns_types__header_bits 
          div 8 <= 8192
>>>  Restructured hypothesis H131 into:
     >>>  H131:  num_found < response_counter + 1
>>>  Restructured hypothesis H146 into:
     >>>  H146:  num_found < response_counter + 1 or 8192 - (12 + 
          dns_types__header_bits div 8) - current_name_length <= current_byte + 
          12 + current_name_length
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H9:  current_byte < 8168 - current_name_length
<S>  New H75:  current_byte + 12 + 12 >= dns_types__qname_ptr_range__first
<S>  New H76:  current_byte + 12 + 12 <= dns_types__qname_ptr_range__last
<S>  New H79:  current_byte + 12 + 12 >= 
          dns_types__packet_bytes_range__base__first
<S>  New H80:  current_byte + 12 + 12 <= 
          dns_types__packet_bytes_range__base__last
<S>  New H81:  12 >= dns_types__packet_bytes_range__first
<S>  New H82:  12 <= dns_types__packet_bytes_range__last
<S>  New H83:  12 >= system__min_int
<S>  New H84:  12 <= system__max_int
<S>  New H140:  response_counter + 1 <= num_found -> 8168 - current_name_length 
          >= integer__base__first and 8168 - current_name_length <= 
          integer__base__last
<S>  New H141:  response_counter + 1 <= num_found -> 8168 >= system__min_int 
          and 8168 <= system__max_int
<S>  New H142:  response_counter + 1 <= num_found -> 24 >= system__min_int and 
          24 <= system__max_int
<S>  New H143:  response_counter + 1 <= num_found -> 12 >= system__min_int and 
          12 <= system__max_int
<S>  New H146:  num_found < response_counter + 1 or 8168 - current_name_length 
          <= current_byte + 12 + current_name_length
<S>  New H149:  current_byte + 12 + current_name_length + 12 >= 
          dns_types__packet_length_range__first
<S>  New H150:  current_byte + 12 + current_name_length + 12 <= 
          dns_types__packet_length_range__last
<S>  New H153:  current_byte + 12 + current_name_length + 12 >= 
          dns_types__packet_bytes_range__base__first
<S>  New H154:  current_byte + 12 + current_name_length + 12 <= 
          dns_types__packet_bytes_range__base__last
<S>  New C1:  current_byte + 12 + current_name_length >= 1
<S>  New C2:  current_byte + 12 + current_name_length <= 8180
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of rr_type__maxnumrecords 
          by:
          64.
<S>  New H5:  num_found <= 64
<S>  New H8:  answer_count <= dns_types__unsigned_short__last - 64
<S>  New H34:  answer_count~ <= dns_types__unsigned_short__last - 64
<S>  New C3:  answer_count + num_found <= answer_count~ + 64
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H83:  true
<S>  New H141:  response_counter + 1 <= num_found -> 8168 <= system__max_int
<S>  New H142:  response_counter + 1 <= num_found -> 24 <= system__max_int
<S>  New H143:  response_counter + 1 <= num_found -> 12 <= system__max_int
-S-  Applied substitution rule create_respo_rules(6).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H84:  true
<S>  New H141:  true
<S>  New H142:  true
<S>  New H143:  true
-S-  Applied substitution rule create_respo_rules(8).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H145:  response_counter + 1 <= num_found -> current_byte + 12 + 
          current_name_length >= - 2147483648 and current_byte + 12 + 
          current_name_length <= integer__last
-S-  Applied substitution rule create_respo_rules(9).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H145:  response_counter + 1 <= num_found -> current_byte + 12 + 
          current_name_length >= - 2147483648 and current_byte + 12 + 
          current_name_length <= 2147483647
-S-  Applied substitution rule create_respo_rules(10).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H140:  response_counter + 1 <= num_found -> current_name_length <= 
          2147491816 and 8168 - current_name_length <= integer__base__last
-S-  Applied substitution rule create_respo_rules(11).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H140:  response_counter + 1 <= num_found -> current_name_length <= 
          2147491816 and - 2147475479 <= current_name_length
-S-  Applied substitution rule create_respo_rules(13).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 
          character__last)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(fld_nameserver(
          element(replies, [i___1])), [i___2]) and element(fld_nameserver(
          element(replies, [i___1])), [i___2]) <= character__last))
-S-  Applied substitution rule create_respo_rules(14).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H13:  for_all(i___1 : integer, rr_type__wirestringtypeindex__first <= 
          i___1 and i___1 <= rr_type__wirestringtypeindex__last -> 0 <= element(
          domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 
          rr_type__wirestringtypeindex__first <= i___2 and i___2 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(fld_nameserver(
          element(replies, [i___1])), [i___2]) and element(fld_nameserver(
          element(replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H95:  response_counter >= 0
<S>  New H115:  response_counter >= - 1
-S-  Applied substitution rule create_respo_rules(19).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H96:  response_counter <= 2147483647
<S>  New H116:  response_counter <= 2147483646
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H14:  qname_location >= 0
<S>  New H75:  current_byte >= - 24
-S-  Applied substitution rule create_respo_rules(29).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H15:  qname_location <= 16383
<S>  New H76:  current_byte <= 16359
-S-  Applied substitution rule create_respo_rules(34).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H149:  current_byte + 12 + current_name_length >= - 12
-S-  Applied substitution rule create_respo_rules(35).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H150:  current_byte + 12 + current_name_length <= 8180
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H11:  start_byte >= 1
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H35:  current_byte >= 1
<S>  New H39:  current_byte >= 0
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= dns_types__byte__last)
<S>  New H51:  current_byte >= - 2
<S>  New H57:  current_byte >= - 3
<S>  New H63:  current_byte >= - 4
<S>  New H69:  current_byte >= - 5
<S>  New H101:  current_byte >= - 6
<S>  New H110:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          dns_types__packet_bytes_range__last -> dns_types__byte__first <= 
          element(fld_bytes(output_packet__3), [i___1]) and element(fld_bytes(
          output_packet__3), [i___1]) <= dns_types__byte__last)
<S>  New H121:  current_byte + 12 + current_name_length >= 1
<S>  New H123:  current_name_length >= 1
<S>  New H81:  true
-S-  Applied substitution rule create_respo_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H12:  start_byte <= 8180
<S>  New H36:  current_byte <= 8180
<S>  New H40:  current_byte <= 8179
<S>  New H41:  current_byte <= 8178
<S>  New H52:  current_byte <= 8177
<S>  New H58:  current_byte <= 8176
<S>  New H64:  current_byte <= 8175
<S>  New H70:  current_byte <= 8174
<S>  New H102:  current_byte <= 8173
<S>  New H105:  current_byte + 7 <= 8174 - current_name_length
<S>  New H122:  current_byte + 12 + current_name_length <= 8180
<S>  New H124:  current_name_length <= 8180
<S>  New H82:  true
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__2), [i___1]
          ) and element(fld_bytes(output_packet__2), [i___1]) <= 
          dns_types__byte__last)
<S>  New H110:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 
          dns_types__byte__first <= element(fld_bytes(output_packet__3), [i___1]
          ) and element(fld_bytes(output_packet__3), [i___1]) <= 
          dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H44:  current_byte >= - 2147483649
<S>  New H53:  current_byte >= - 2147483651
<S>  New H59:  current_byte >= - 2147483652
<S>  New H65:  current_byte >= - 2147483653
<S>  New H71:  current_byte >= - 2147483654
<S>  New H86:  current_byte >= - 2147483660
<S>  New H108:  current_byte >= - 2147483655
<S>  New H79:  current_byte >= - 2147483672
<S>  New H153:  current_byte + 12 + current_name_length >= - 2147483660
-S-  Applied substitution rule create_respo_rules(42).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H45:  current_byte <= 2147483646
<S>  New H54:  current_byte <= 2147483644
<S>  New H60:  current_byte <= 2147483643
<S>  New H66:  current_byte <= 2147483642
<S>  New H72:  current_byte <= 2147483641
<S>  New H87:  current_byte <= 2147483635
<S>  New H109:  current_byte <= 2147483640
<S>  New H80:  current_byte <= 2147483623
<S>  New H154:  current_byte + 12 + current_name_length <= 2147483635
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H49:  true
<S>  New H55:  true
<S>  New H67:  true
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= dns_types__byte__last)
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= dns_types__byte__last)
<S>  New H110:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__3), [i___1]) and element(fld_bytes(
          output_packet__3), [i___1]) <= dns_types__byte__last)
-S-  Applied substitution rule create_respo_rules(46).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H50:  true
<S>  New H56:  true
<S>  New H68:  true
<S>  New H30:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet), [i___1]) and element(fld_bytes(
          output_packet), [i___1]) <= 255)
<S>  New H46:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__2), [i___1]) and element(fld_bytes(
          output_packet__2), [i___1]) <= 255)
<S>  New H110:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 8180 -> 0 <= 
          element(fld_bytes(output_packet__3), [i___1]) and element(fld_bytes(
          output_packet__3), [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H16:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H22:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H24:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H26:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H28:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H31:  answer_count >= 0
<S>  New H162:  answer_count + num_found >= 0
<S>  New H164:  num_found >= 0
-S-  Applied substitution rule create_respo_rules(53).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H17:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H23:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H25:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H27:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H29:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H32:  answer_count <= 65535
<S>  New H163:  answer_count + num_found <= 65535
<S>  New H165:  num_found <= 65535
<S>  New H8:  answer_count <= 65471
<S>  New H34:  answer_count~ <= 65471
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H18:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(59).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H19:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H20:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(85).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H21:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
-S-  Applied substitution rule create_respo_rules(120).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__first by:
          0.
<S>  New H37:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          >= 0
<S>  New H42:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(121).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__last by:
          65535.
<S>  New H38:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          <= 65535
<S>  New H43:  qname_location <= 65535
-S-  Applied substitution rule create_respo_rules(124).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__modulus by:
          65536.
<S>  New H37:  (qname_location + 49152) mod 65536 >= 0
<S>  New H38:  (qname_location + 49152) mod 65536 <= 65535
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__first by:
          0.
<S>  New H92:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) <= 
          unsigned_types__unsigned32__last)
-S-  Applied substitution rule create_respo_rules(127).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__last by:
          4294967295.
<S>  New H92:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) <= 4294967295)
-S-  Applied substitution rule create_respo_rules(132).
     This was achieved by replacing all occurrences of 
          rr_type__classtype__first by:
          rr_type__internet.
<S>  New H93:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies, [i___1]))) and fld_class(
          fld_inherit(element(replies, [i___1]))) <= rr_type__classtype__last)
-S-  Applied substitution rule create_respo_rules(133).
     This was achieved by replacing all occurrences of rr_type__classtype__last 
          by:
          rr_type__hs.
<S>  New H93:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies, [i___1]))) and fld_class(
          fld_inherit(element(replies, [i___1]))) <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(159).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H97:  current_name_length >= 1
<S>  New H13:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__wirestringtypeindex__last -> 0 <= element(domainname, [i___1]
          ) and element(domainname, [i___1]) <= 255)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= rr_type__wirestringtypeindex__last -> 0 <= 
          element(fld_nameserver(element(replies, [i___1])), [i___2]) and 
          element(fld_nameserver(element(replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(160).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H4:  current_name_length <= 129
<S>  New H13:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 129 -> 0 <= 
          element(domainname, [i___1]) and element(domainname, [i___1]) <= 255)
<S>  New H94:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= 129 -> 0 <= element(fld_nameserver(element(
          replies, [i___1])), [i___2]) and element(fld_nameserver(element(
          replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(167).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__first by:
          1.
<S>  New H88:  response_counter >= 1
<S>  New H92:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(replies, [i___1]))) <= 4294967295)
<S>  New H93:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(replies, [i___1]))) and fld_class(
          fld_inherit(element(replies, [i___1]))) <= rr_type__hs)
<S>  New H94:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> for_all(i___2 : integer, 1 
          <= i___2 and i___2 <= 129 -> 0 <= element(fld_nameserver(element(
          replies, [i___1])), [i___2]) and element(fld_nameserver(element(
          replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(168).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New H89:  response_counter <= 64
<S>  New H92:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ttlinseconds(fld_inherit(element(replies, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(replies, [i___1]))) <= 
          4294967295)
<S>  New H93:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__internet <= fld_class(fld_inherit(element(replies, [i___1])))
           and fld_class(fld_inherit(element(replies, [i___1]))) <= rr_type__hs)
<S>  New H94:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> for_all(
          i___2 : integer, 1 <= i___2 and i___2 <= 129 -> 0 <= element(
          fld_nameserver(element(replies, [i___1])), [i___2]) and element(
          fld_nameserver(element(replies, [i___1])), [i___2]) <= 255))
-S-  Applied substitution rule create_respo_rules(172).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__first by:
          0.
<S>  New H127:  num_found >= 0
-S-  Applied substitution rule create_respo_rules(173).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__last by:
          64.
<S>  New H128:  num_found <= 64
***  Proved C1:  current_byte + 12 + current_name_length >= 1
     using hypothesis H121.
***  Proved C2:  current_byte + 12 + current_name_length <= 8180
     using hypothesis H150.
---  Eliminated hypothesis H33 (true-hypothesis).
---  Eliminated hypothesis H61 (true-hypothesis).
---  Eliminated hypothesis H62 (true-hypothesis).
---  Eliminated hypothesis H73 (true-hypothesis).
---  Eliminated hypothesis H74 (true-hypothesis).
---  Eliminated hypothesis H77 (true-hypothesis).
---  Eliminated hypothesis H78 (true-hypothesis).
---  Eliminated hypothesis H85 (true-hypothesis).
---  Eliminated hypothesis H90 (true-hypothesis).
---  Eliminated hypothesis H91 (true-hypothesis).
---  Eliminated hypothesis H98 (true-hypothesis).
---  Eliminated hypothesis H99 (true-hypothesis).
---  Eliminated hypothesis H100 (true-hypothesis).
---  Eliminated hypothesis H104 (true-hypothesis).
---  Eliminated hypothesis H106 (true-hypothesis).
---  Eliminated hypothesis H107 (true-hypothesis).
---  Eliminated hypothesis H113 (true-hypothesis).
---  Eliminated hypothesis H114 (true-hypothesis).
---  Eliminated hypothesis H117 (true-hypothesis).
---  Eliminated hypothesis H118 (true-hypothesis).
---  Eliminated hypothesis H119 (true-hypothesis).
---  Eliminated hypothesis H120 (true-hypothesis).
---  Eliminated hypothesis H125 (true-hypothesis).
---  Eliminated hypothesis H126 (true-hypothesis).
---  Eliminated hypothesis H129 (true-hypothesis).
---  Eliminated hypothesis H130 (true-hypothesis).
---  Eliminated hypothesis H132 (true-hypothesis).
---  Eliminated hypothesis H133 (true-hypothesis).
---  Eliminated hypothesis H134 (true-hypothesis).
---  Eliminated hypothesis H135 (true-hypothesis).
---  Eliminated hypothesis H136 (true-hypothesis).
---  Eliminated hypothesis H137 (true-hypothesis).
---  Eliminated hypothesis H138 (true-hypothesis).
---  Eliminated hypothesis H139 (true-hypothesis).
---  Eliminated hypothesis H144 (true-hypothesis).
---  Eliminated hypothesis H147 (true-hypothesis).
---  Eliminated hypothesis H148 (true-hypothesis).
---  Eliminated hypothesis H151 (true-hypothesis).
---  Eliminated hypothesis H152 (true-hypothesis).
---  Eliminated hypothesis H155 (true-hypothesis).
---  Eliminated hypothesis H156 (true-hypothesis).
---  Eliminated hypothesis H157 (true-hypothesis).
---  Eliminated hypothesis H158 (true-hypothesis).
---  Eliminated hypothesis H159 (true-hypothesis).
---  Eliminated hypothesis H160 (true-hypothesis).
---  Eliminated hypothesis H161 (true-hypothesis).
---  Eliminated hypothesis H83 (true-hypothesis).
---  Eliminated hypothesis H84 (true-hypothesis).
---  Eliminated hypothesis H141 (true-hypothesis).
---  Eliminated hypothesis H142 (true-hypothesis).
---  Eliminated hypothesis H143 (true-hypothesis).
---  Eliminated hypothesis H81 (true-hypothesis).
---  Eliminated hypothesis H82 (true-hypothesis).
---  Eliminated hypothesis H49 (true-hypothesis).
---  Eliminated hypothesis H55 (true-hypothesis).
---  Eliminated hypothesis H67 (true-hypothesis).
---  Eliminated hypothesis H50 (true-hypothesis).
---  Eliminated hypothesis H56 (true-hypothesis).
---  Eliminated hypothesis H68 (true-hypothesis).
---  Eliminated hypothesis H146 (true-disjunction).
---  Eliminated hypothesis H88 (duplicate of H1).
---  Eliminated hypothesis H123 (duplicate of H3).
---  Eliminated hypothesis H97 (duplicate of H3).
---  Eliminated hypothesis H39 (duplicate of H10).
---  Eliminated hypothesis H128 (duplicate of H5).
---  Eliminated hypothesis H42 (duplicate of H14).
---  Eliminated hypothesis H150 (duplicate of H122).
---  Eliminated hypothesis H164 (duplicate of H127).
---  Eliminated hypothesis H105 (duplicate of H9).
---  Eliminated hypothesis H6 (redundant, given H12).
---  Eliminated hypothesis H10 (redundant, given H35).
---  Eliminated hypothesis H32 (redundant, given H8).
---  Eliminated hypothesis H36 (redundant, given H40).
---  Eliminated hypothesis H40 (redundant, given H41).
---  Eliminated hypothesis H41 (redundant, given H52).
---  Eliminated hypothesis H43 (redundant, given H15).
---  Eliminated hypothesis H44 (redundant, given H35).
---  Eliminated hypothesis H45 (redundant, given H52).
---  Eliminated hypothesis H51 (redundant, given H35).
---  Eliminated hypothesis H52 (redundant, given H58).
---  Eliminated hypothesis H53 (redundant, given H35).
---  Eliminated hypothesis H54 (redundant, given H58).
---  Eliminated hypothesis H57 (redundant, given H35).
---  Eliminated hypothesis H58 (redundant, given H64).
---  Eliminated hypothesis H59 (redundant, given H35).
---  Eliminated hypothesis H60 (redundant, given H64).
---  Eliminated hypothesis H63 (redundant, given H35).
---  Eliminated hypothesis H64 (redundant, given H70).
---  Eliminated hypothesis H65 (redundant, given H35).
---  Eliminated hypothesis H66 (redundant, given H70).
---  Eliminated hypothesis H69 (redundant, given H35).
---  Eliminated hypothesis H70 (redundant, given H102).
---  Eliminated hypothesis H71 (redundant, given H35).
---  Eliminated hypothesis H72 (redundant, given H76).
---  Eliminated hypothesis H75 (redundant, given H35).
---  Eliminated hypothesis H76 (redundant, given H102).
---  Eliminated hypothesis H79 (redundant, given H35).
---  Eliminated hypothesis H80 (redundant, given H102).
---  Eliminated hypothesis H86 (redundant, given H35).
---  Eliminated hypothesis H87 (redundant, given H102).
---  Eliminated hypothesis H95 (redundant, given H1).
---  Eliminated hypothesis H96 (redundant, given H89).
---  Eliminated hypothesis H101 (redundant, given H35).
---  Eliminated hypothesis H102 (redundant, given H3 & H9).
---  Eliminated hypothesis H103 (redundant, given H3).
---  Eliminated hypothesis H108 (redundant, given H35).
---  Eliminated hypothesis H109 (redundant, given H3 & H9).
---  Eliminated hypothesis H115 (redundant, given H1).
---  Eliminated hypothesis H116 (redundant, given H89).
---  Eliminated hypothesis H122 (redundant, given H9).
---  Eliminated hypothesis H124 (redundant, given H4).
---  Eliminated hypothesis H127 (redundant, given H1 & H2).
---  Eliminated hypothesis H149 (redundant, given H121).
---  Eliminated hypothesis H153 (redundant, given H121).
---  Eliminated hypothesis H154 (redundant, given H9).
---  Eliminated hypothesis H165 (redundant, given H5).
-S-  Eliminated hypothesis H7.
     This was achieved by replacing all occurrences of answer_count by:
          answer_count~.
<S>  New H31:  answer_count~ >= 0
<S>  New H162:  answer_count~ + num_found >= 0
<S>  New H163:  answer_count~ + num_found <= 65535
<S>  New H8:  answer_count~ <= 65471
<S>  New C3:  answer_count~ + num_found <= answer_count~ + 64
-S-  Substituted hypothesis H47.
     This was achieved by replacing all occurrences of fld_header(
          output_packet__2) by:
          fld_header(output_packet).
---  Substituted hypothesis H111, which specifies an equivalence for fld_header(
          output_packet__3).
***  Proved C3:  answer_count~ + num_found <= answer_count~ + 64
     using hypothesis H5.
***  PROVED VC.

