*****************************************************************************
                       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_A






@@@@@@@@@@  VC: procedure_create_response_a_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)
%%%  Simplified H25 on reading formula in, to give:
     %%%  H25:  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(returnedarecords__1, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(returnedarecords__1, [i___1]))) <= 
          unsigned_types__unsigned32__last)
%%%  Simplified H26 on reading formula in, to give:
     %%%  H26:  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(returnedarecords__1, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords__1, [i___1]))) <= 
          rr_type__classtype__last)
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ipv4(element(
          returnedarecords__1, [i___1])) and fld_ipv4(element(
          returnedarecords__1, [i___1])) <= unsigned_types__unsigned32__last)
-S-  Applied substitution rule create_respo_rules(17).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New C1:  numfound__1 >= 0
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New C2:  numfound__1 <= 2147483647
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H2:  start_byte <= 8192
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of rr_type__maxnumrecords 
          by:
          64.
<S>  New H1:  answer_count <= dns_types__unsigned_short__last - 64
-S-  Applied substitution rule create_respo_rules(12).
     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-  Applied substitution rule create_respo_rules(13).
     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-  Applied substitution rule create_respo_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H6:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H7:  qname_location <= 16383
-S-  Applied substitution rule create_respo_rules(38).
     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(39).
     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(44).
     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(45).
     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(51).
     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(52).
     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 H1:  answer_count <= 65471
-S-  Applied substitution rule create_respo_rules(57).
     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(58).
     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(83).
     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(84).
     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(125).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__first by:
          0.
<S>  New H25:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returnedarecords__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returnedarecords__1, [i___1]))) 
          <= unsigned_types__unsigned32__last)
<S>  New H27:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ipv4(element(
          returnedarecords__1, [i___1])) and fld_ipv4(element(
          returnedarecords__1, [i___1])) <= unsigned_types__unsigned32__last)
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__last by:
          4294967295.
<S>  New H25:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returnedarecords__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returnedarecords__1, [i___1]))) 
          <= 4294967295)
<S>  New H27:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ipv4(element(
          returnedarecords__1, [i___1])) and fld_ipv4(element(
          returnedarecords__1, [i___1])) <= 4294967295)
-S-  Applied substitution rule create_respo_rules(131).
     This was achieved by replacing all occurrences of 
          rr_type__classtype__first by:
          rr_type__internet.
<S>  New H26:  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(returnedarecords__1, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords__1, [i___1]))) <= 
          rr_type__classtype__last)
-S-  Applied substitution rule create_respo_rules(132).
     This was achieved by replacing all occurrences of rr_type__classtype__last 
          by:
          rr_type__hs.
<S>  New H26:  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(returnedarecords__1, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords__1, [i___1]))) <= 
          rr_type__hs)
-S-  Applied substitution rule create_respo_rules(158).
     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-  Applied substitution rule create_respo_rules(159).
     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-  Applied substitution rule create_respo_rules(165).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__first by:
          1.
<S>  New H25:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returnedarecords__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returnedarecords__1, [i___1]))) 
          <= 4294967295)
<S>  New H27:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ipv4(element(
          returnedarecords__1, [i___1])) and fld_ipv4(element(
          returnedarecords__1, [i___1])) <= 4294967295)
<S>  New H26:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(returnedarecords__1, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords__1, [i___1]))) <= 
          rr_type__hs)
-S-  Applied substitution rule create_respo_rules(166).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New H25:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ttlinseconds(fld_inherit(element(returnedarecords__1, [i___1]))) 
          and fld_ttlinseconds(fld_inherit(element(returnedarecords__1, [i___1])
          )) <= 4294967295)
<S>  New H27:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ipv4(element(returnedarecords__1, [i___1])) and fld_ipv4(element(
          returnedarecords__1, [i___1])) <= 4294967295)
<S>  New H26:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__internet <= fld_class(fld_inherit(element(
          returnedarecords__1, [i___1]))) and fld_class(fld_inherit(element(
          returnedarecords__1, [i___1]))) <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(170).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__first by:
          0.
<S>  New H28:  numfound__1 >= 0
-S-  Applied substitution rule create_respo_rules(171).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__last by:
          64.
<S>  New H29:  numfound__1 <= 64
***  Proved C1:  numfound__1 >= 0
     using hypothesis H28.
***  Proved C2:  numfound__1 <= 2147483647
     using hypothesis H29.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_a_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)
%%%  Simplified H25 on reading formula in, to give:
     %%%  H25:  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(returnedarecords__1, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(returnedarecords__1, [i___1]))) <= 
          unsigned_types__unsigned32__last)
%%%  Simplified H26 on reading formula in, to give:
     %%%  H26:  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(returnedarecords__1, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords__1, [i___1]))) <= 
          rr_type__classtype__last)
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ipv4(element(
          returnedarecords__1, [i___1])) and fld_ipv4(element(
          returnedarecords__1, [i___1])) <= unsigned_types__unsigned32__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_a_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)
%%%  Simplified H25 on reading formula in, to give:
     %%%  H25:  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(returnedarecords__1, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(returnedarecords__1, [i___1]))) <= 
          unsigned_types__unsigned32__last)
%%%  Simplified H26 on reading formula in, to give:
     %%%  H26:  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(returnedarecords__1, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords__1, [i___1]))) <= 
          rr_type__classtype__last)
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ipv4(element(
          returnedarecords__1, [i___1])) and fld_ipv4(element(
          returnedarecords__1, [i___1])) <= unsigned_types__unsigned32__last)
---  Hypothesis H32 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H33 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H34 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H35 has been replaced by "true".  (It is already present, as 
          H31).
***  Proved C2:  1 <= natural__last
     using hypotheses H31 & H36.
-S-  Applied substitution rule create_respo_rules(17).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H30:  numfound__1 >= 0
<S>  New C1:  true
***  Proved C1:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_a_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)
%%%  Simplified H25 on reading formula in, to give:
     %%%  H25:  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(returnedarecords__1, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(returnedarecords__1, [i___1]))) <= 
          unsigned_types__unsigned32__last)
%%%  Simplified H26 on reading formula in, to give:
     %%%  H26:  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(returnedarecords__1, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords__1, [i___1]))) <= 
          rr_type__classtype__last)
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ipv4(element(
          returnedarecords__1, [i___1])) and fld_ipv4(element(
          returnedarecords__1, [i___1])) <= unsigned_types__unsigned32__last)
---  Hypothesis H32 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H33 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H34 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H35 has been replaced by "true".  (It is already present, as 
          H31).
---  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 H41 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H42 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H43 has been replaced by "true".  (It is already present, as 
          H37).
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H38).
%%%  Simplified C7 on reading formula in, to give:
     %%%  C7:  true
***  Proved C7:  true
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New C1:  dns_types__packet_size - (16 + dns_types__header_bits div 8) >= - 
          9223372036854775808
<S>  New C3:  dns_types__header_bits div 8 >= - 9223372036854775824
<S>  New C5:  dns_types__header_bits div 8 >= - 9223372036854775808
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New C2:  dns_types__packet_size - (16 + dns_types__header_bits div 8) <= 
          9223372036854775807
<S>  New C4:  dns_types__header_bits div 8 <= 9223372036854775791
<S>  New C6:  dns_types__header_bits div 8 <= 9223372036854775807
-S-  Applied substitution rule create_respo_rules(7).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New C8:  start_byte >= - 2147483648
-S-  Applied substitution rule create_respo_rules(8).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New C9:  start_byte <= 2147483647
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H2:  start_byte <= 8192
<S>  New C1:  16 + dns_types__header_bits div 8 <= 9223372036854784000
<S>  New C2:  - 9223372036854767615 <= 16 + dns_types__header_bits div 8
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New C3:  true
<S>  New C5:  true
<S>  New C4:  true
<S>  New C6:  true
<S>  New C1:  true
<S>  New C2:  true
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of rr_type__maxnumrecords 
          by:
          64.
<S>  New H1:  answer_count <= dns_types__unsigned_short__last - 64
-S-  Applied substitution rule create_respo_rules(12).
     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-  Applied substitution rule create_respo_rules(13).
     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-  Applied substitution rule create_respo_rules(17).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H30:  numfound__1 >= 0
<S>  New H37:  true
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H31:  numfound__1 <= 2147483647
<S>  New H38:  true
-S-  Applied substitution rule create_respo_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H6:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H7:  qname_location <= 16383
-S-  Applied substitution rule create_respo_rules(38).
     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(39).
     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(44).
     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(45).
     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(51).
     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(52).
     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 H1:  answer_count <= 65471
-S-  Applied substitution rule create_respo_rules(57).
     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(58).
     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(83).
     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(84).
     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(125).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__first by:
          0.
<S>  New H25:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returnedarecords__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returnedarecords__1, [i___1]))) 
          <= unsigned_types__unsigned32__last)
<S>  New H27:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ipv4(element(
          returnedarecords__1, [i___1])) and fld_ipv4(element(
          returnedarecords__1, [i___1])) <= unsigned_types__unsigned32__last)
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__last by:
          4294967295.
<S>  New H25:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returnedarecords__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returnedarecords__1, [i___1]))) 
          <= 4294967295)
<S>  New H27:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ipv4(element(
          returnedarecords__1, [i___1])) and fld_ipv4(element(
          returnedarecords__1, [i___1])) <= 4294967295)
-S-  Applied substitution rule create_respo_rules(131).
     This was achieved by replacing all occurrences of 
          rr_type__classtype__first by:
          rr_type__internet.
<S>  New H26:  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(returnedarecords__1, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords__1, [i___1]))) <= 
          rr_type__classtype__last)
-S-  Applied substitution rule create_respo_rules(132).
     This was achieved by replacing all occurrences of rr_type__classtype__last 
          by:
          rr_type__hs.
<S>  New H26:  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(returnedarecords__1, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords__1, [i___1]))) <= 
          rr_type__hs)
-S-  Applied substitution rule create_respo_rules(158).
     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-  Applied substitution rule create_respo_rules(159).
     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-  Applied substitution rule create_respo_rules(165).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__first by:
          1.
<S>  New H25:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returnedarecords__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returnedarecords__1, [i___1]))) 
          <= 4294967295)
<S>  New H27:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ipv4(element(
          returnedarecords__1, [i___1])) and fld_ipv4(element(
          returnedarecords__1, [i___1])) <= 4294967295)
<S>  New H26:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(returnedarecords__1, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords__1, [i___1]))) <= 
          rr_type__hs)
-S-  Applied substitution rule create_respo_rules(166).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New H25:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ttlinseconds(fld_inherit(element(returnedarecords__1, [i___1]))) 
          and fld_ttlinseconds(fld_inherit(element(returnedarecords__1, [i___1])
          )) <= 4294967295)
<S>  New H27:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ipv4(element(returnedarecords__1, [i___1])) and fld_ipv4(element(
          returnedarecords__1, [i___1])) <= 4294967295)
<S>  New H26:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__internet <= fld_class(fld_inherit(element(
          returnedarecords__1, [i___1]))) and fld_class(fld_inherit(element(
          returnedarecords__1, [i___1]))) <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(170).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__first by:
          0.
<S>  New H28:  numfound__1 >= 0
-S-  Applied substitution rule create_respo_rules(171).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__last by:
          64.
<S>  New H29:  numfound__1 <= 64
***  Proved C8:  start_byte >= - 2147483648
     using hypothesis H3.
***  Proved C9:  start_byte <= 2147483647
     using hypothesis H2.
***  Proved C3:  true
***  Proved C5:  true
***  Proved C4:  true
***  Proved C6:  true
***  Proved C1:  true
***  Proved C2:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_a_5.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  answer_count = answer_count~
%%%  Simplified H11 on reading formula in, to give:
     %%%  H11:  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 H16 on reading formula in, to give:
     %%%  H16:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H18 on reading formula in, to give:
     %%%  H18:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H28 on reading formula in, to give:
     %%%  H28:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H31 on reading formula in, to give:
     %%%  H31:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
---  Hypothesis H32 has been replaced by "true".  (It is already present, as H3)
          .
%%%  Simplified H44 on reading formula in, to give:
     %%%  H44:  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 H59 has been replaced by "true".  (It is already present, as 
          H47).
---  Hypothesis H60 has been replaced by "true".  (It is already present, as 
          H48).
---  Hypothesis H65 has been replaced by "true".  (It is already present, as 
          H53).
---  Hypothesis H66 has been replaced by "true".  (It is already present, as 
          H54).
---  Hypothesis H71 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H72 has been replaced by "true".  (It is already present, as 
          H34).
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  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(returnedarecords, [i___1]))) and fld_ttlinseconds(fld_inherit(
          element(returnedarecords, [i___1]))) <= 
          unsigned_types__unsigned32__last)
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  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(returnedarecords, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords, [i___1]))) <= 
          rr_type__classtype__last)
%%%  Simplified H75 on reading formula in, to give:
     %%%  H75:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ipv4(element(
          returnedarecords, [i___1])) and fld_ipv4(element(returnedarecords, [
          i___1])) <= unsigned_types__unsigned32__last)
%%%  Simplified H89 on reading formula in, to give:
     %%%  H89:  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 H90 on reading formula in, to give:
     %%%  H90:  fld_header(output_packet__3) = fld_header(output_packet__2)
%%%  Simplified H91 on reading formula in, to give:
     %%%  H91:  output_packet__3 = upf_bytes(output_packet__2, fld_bytes(
          output_packet__3))
---  Hypothesis H92 has been replaced by "true".  (It is already present, as 
          H76).
---  Hypothesis H93 has been replaced by "true".  (It is already present, as 
          H77).
---  Hypothesis H96 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H97 has been replaced by "true".  (It is already present, as 
          H34).
---  Hypothesis H100 has been replaced by "true".  (It is already present, as 
          H98).
---  Hypothesis H101 has been replaced by "true".  (It is already present, as 
          H99).
---  Hypothesis H104 has been replaced by "true".  (It is already present, as 
          H94).
---  Hypothesis H105 has been replaced by "true".  (It is already present, as 
          H95).
%%%  Simplified C7 on reading formula in, to give:
     %%%  C7:  true
***  Proved C7:  true
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New C1:  dns_types__packet_size - (16 + dns_types__header_bits div 8) >= - 
          9223372036854775808
<S>  New C3:  dns_types__header_bits div 8 >= - 9223372036854775824
<S>  New C5:  dns_types__header_bits div 8 >= - 9223372036854775808
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New C2:  dns_types__packet_size - (16 + dns_types__header_bits div 8) <= 
          9223372036854775807
<S>  New C4:  dns_types__header_bits div 8 <= 9223372036854775791
<S>  New C6:  dns_types__header_bits div 8 <= 9223372036854775807
-S-  Applied substitution rule create_respo_rules(7).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New C8:  current_byte >= - 2147483664
-S-  Applied substitution rule create_respo_rules(8).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New C9:  current_byte <= 2147483631
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H3:  start_byte <= 8192
<S>  New H7:  current_byte < 8192 - (16 + dns_types__header_bits div 8)
<S>  New C1:  16 + dns_types__header_bits div 8 <= 9223372036854784000
<S>  New C2:  - 9223372036854767615 <= 16 + dns_types__header_bits div 8
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H7:  current_byte < 8164
<S>  New C3:  true
<S>  New C5:  true
<S>  New C4:  true
<S>  New C6:  true
<S>  New C1:  true
<S>  New C2:  true
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of rr_type__maxnumrecords 
          by:
          64.
<S>  New H5:  answer_count <= dns_types__unsigned_short__last - 64
<S>  New H8:  numfound <= 64
<S>  New H31:  answer_count~ <= dns_types__unsigned_short__last - 64
-S-  Applied substitution rule create_respo_rules(9).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H83:  rr_type__returnedrecordsindextype__first + (response_counter - 1)
           >= - 2147483648
<S>  New H85:  response_counter >= - 2147483647
-S-  Applied substitution rule create_respo_rules(10).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H84:  rr_type__returnedrecordsindextype__first + (response_counter - 1)
           <= 2147483647
<S>  New H86:  response_counter <= 2147483648
-S-  Applied substitution rule create_respo_rules(12).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H11:  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(13).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H11:  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(17).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H76:  response_counter >= 0
<S>  New H94:  response_counter >= - 1
<S>  New H102:  numfound >= 0
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H77:  response_counter <= 2147483647
<S>  New H95:  response_counter <= 2147483646
<S>  New H103:  numfound <= 2147483647
-S-  Applied substitution rule create_respo_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H12:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H13:  qname_location <= 16383
-S-  Applied substitution rule create_respo_rules(38).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H9:  start_byte >= 1
<S>  New H28:  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 H33:  current_byte >= 1
<S>  New H37:  current_byte >= 0
<S>  New H44:  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 H49:  current_byte >= - 2
<S>  New H55:  current_byte >= - 3
<S>  New H61:  current_byte >= - 4
<S>  New H67:  current_byte >= - 5
<S>  New H78:  current_byte >= - 6
<S>  New H89:  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 H98:  current_byte >= - 15
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H10:  start_byte <= 8180
<S>  New H34:  current_byte <= 8180
<S>  New H38:  current_byte <= 8179
<S>  New H39:  current_byte <= 8178
<S>  New H50:  current_byte <= 8177
<S>  New H56:  current_byte <= 8176
<S>  New H62:  current_byte <= 8175
<S>  New H68:  current_byte <= 8174
<S>  New H79:  current_byte <= 8173
<S>  New H80:  current_byte <= 8163
<S>  New H99:  current_byte <= 8164
<S>  New H28:  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 H44:  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 H89:  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(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H42:  current_byte >= - 2147483649
<S>  New H51:  current_byte >= - 2147483651
<S>  New H57:  current_byte >= - 2147483652
<S>  New H63:  current_byte >= - 2147483653
<S>  New H69:  current_byte >= - 2147483654
<S>  New H87:  current_byte >= - 2147483655
-S-  Applied substitution rule create_respo_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H43:  current_byte <= 2147483646
<S>  New H52:  current_byte <= 2147483644
<S>  New H58:  current_byte <= 2147483643
<S>  New H64:  current_byte <= 2147483642
<S>  New H70:  current_byte <= 2147483641
<S>  New H88:  current_byte <= 2147483640
-S-  Applied substitution rule create_respo_rules(44).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H47:  true
<S>  New H53:  true
<S>  New H28:  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 H44:  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 H89:  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(45).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H48:  true
<S>  New H54:  true
<S>  New H28:  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 H44:  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 H89:  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(51).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H14:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H20:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H22:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H24:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H26:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H29:  answer_count >= 0
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H15:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H21:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H23:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H25:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H27:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H30:  answer_count <= 65535
<S>  New H5:  answer_count <= 65471
<S>  New H31:  answer_count~ <= 65471
-S-  Applied substitution rule create_respo_rules(57).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H16:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H17:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(83).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H18:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H19:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
-S-  Applied substitution rule create_respo_rules(119).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__first by:
          0.
<S>  New H35:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          >= 0
<S>  New H40:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(120).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__last by:
          65535.
<S>  New H36:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          <= 65535
<S>  New H41:  qname_location <= 65535
-S-  Applied substitution rule create_respo_rules(123).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__modulus by:
          65536.
<S>  New H35:  (qname_location + 49152) mod 65536 >= 0
<S>  New H36:  (qname_location + 49152) mod 65536 <= 65535
-S-  Applied substitution rule create_respo_rules(125).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__first by:
          0.
<S>  New H73:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returnedarecords, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(returnedarecords, [i___1]))) <= 
          unsigned_types__unsigned32__last)
<S>  New H75:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ipv4(element(
          returnedarecords, [i___1])) and fld_ipv4(element(returnedarecords, [
          i___1])) <= unsigned_types__unsigned32__last)
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__last by:
          4294967295.
<S>  New H73:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returnedarecords, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(returnedarecords, [i___1]))) <= 4294967295)
<S>  New H75:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ipv4(element(
          returnedarecords, [i___1])) and fld_ipv4(element(returnedarecords, [
          i___1])) <= 4294967295)
-S-  Applied substitution rule create_respo_rules(131).
     This was achieved by replacing all occurrences of 
          rr_type__classtype__first by:
          rr_type__internet.
<S>  New H74:  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(returnedarecords, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords, [i___1]))) <= 
          rr_type__classtype__last)
-S-  Applied substitution rule create_respo_rules(132).
     This was achieved by replacing all occurrences of rr_type__classtype__last 
          by:
          rr_type__hs.
<S>  New H74:  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(returnedarecords, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords, [i___1]))) <= 
          rr_type__hs)
-S-  Applied substitution rule create_respo_rules(158).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H11:  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(159).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H11:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 129 -> 0 <= 
          element(domainname, [i___1]) and element(domainname, [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(165).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__first by:
          1.
<S>  New H81:  response_counter - 1 >= 0
<S>  New H82:  1 + (response_counter - 1) <= 
          rr_type__returnedrecordsindextype__last
<S>  New H83:  response_counter - 1 >= - 2147483649
<S>  New H84:  response_counter - 1 <= 2147483646
<S>  New H73:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returnedarecords, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(returnedarecords, [i___1]))) <= 4294967295)
<S>  New H75:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ipv4(element(
          returnedarecords, [i___1])) and fld_ipv4(element(returnedarecords, [
          i___1])) <= 4294967295)
<S>  New H74:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(returnedarecords, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords, [i___1]))) <= 
          rr_type__hs)
-S-  Applied substitution rule create_respo_rules(166).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New H82:  response_counter - 1 <= 63
<S>  New H73:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ttlinseconds(fld_inherit(element(returnedarecords, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returnedarecords, [i___1]))) <= 
          4294967295)
<S>  New H75:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ipv4(element(returnedarecords, [i___1])) and fld_ipv4(element(
          returnedarecords, [i___1])) <= 4294967295)
<S>  New H74:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__internet <= fld_class(fld_inherit(element(returnedarecords, [
          i___1]))) and fld_class(fld_inherit(element(returnedarecords, [i___1])
          )) <= rr_type__hs)
%%%  Simplified H81 further, to give:
     %%%  H81:  response_counter >= 1
%%%  Simplified H82 further, to give:
     %%%  H82:  response_counter <= 64
%%%  Simplified H83 further, to give:
     %%%  H83:  response_counter >= - 2147483648
%%%  Simplified H84 further, to give:
     %%%  H84:  response_counter <= 2147483647
***  Proved C8:  current_byte >= - 2147483664
     using hypothesis H33.
***  Proved C9:  current_byte <= 2147483631
     using hypothesis H7.
***  Proved C3:  true
***  Proved C5:  true
***  Proved C4:  true
***  Proved C6:  true
***  Proved C1:  true
***  Proved C2:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_a_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)
%%%  Simplified H25 on reading formula in, to give:
     %%%  H25:  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(returnedarecords__1, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(returnedarecords__1, [i___1]))) <= 
          unsigned_types__unsigned32__last)
%%%  Simplified H26 on reading formula in, to give:
     %%%  H26:  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(returnedarecords__1, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords__1, [i___1]))) <= 
          rr_type__classtype__last)
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ipv4(element(
          returnedarecords__1, [i___1])) and fld_ipv4(element(
          returnedarecords__1, [i___1])) <= unsigned_types__unsigned32__last)
---  Hypothesis H32 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H33 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H34 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H35 has been replaced by "true".  (It is already present, as 
          H31).
---  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 H41 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H42 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H43 has been replaced by "true".  (It is already present, as 
          H37).
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H38).
%%%  Simplified H51 on reading formula in, to give:
     %%%  H51:  true
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  true
%%%  Simplified C4 on reading formula in, to give:
     %%%  C4:  true
%%%  Simplified C6 on reading formula in, to give:
     %%%  C6:  true
%%%  Simplified C11 on reading formula in, to give:
     %%%  C11:  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 C16 on reading formula in, to give:
     %%%  C16:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified C18 on reading formula in, to give:
     %%%  C18:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified C28 on reading formula in, to give:
     %%%  C28:  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 <= numfound__1
     using hypothesis H54.
***  Proved C3:  start_byte <= dns_types__packet_size
     using hypothesis H2.
***  Proved C4:  true
***  Proved C5:  answer_count <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
     using hypothesis H1.
***  Proved C6:  true
***  Proved C7:  start_byte < dns_types__packet_size - (16 + 
          dns_types__header_bits div 8)
     using hypothesis H55.
***  Proved C9:  start_byte >= dns_types__packet_bytes_range__first
     using hypothesis H3.
***  Proved C10:  start_byte <= dns_types__packet_bytes_range__last
     using hypothesis H4.
***  Proved C11:  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 C12:  qname_location >= dns_types__qname_ptr_range__first
     using hypothesis H6.
***  Proved C13:  qname_location <= dns_types__qname_ptr_range__last
     using hypothesis H7.
***  Proved C14:  fld_messageid(fld_header(output_packet)) >= 
          dns_types__unsigned_short__first
     using hypothesis H8.
***  Proved C15:  fld_messageid(fld_header(output_packet)) <= 
          dns_types__unsigned_short__last
     using hypothesis H9.
***  Proved C16:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
     using hypothesis H10.
***  Proved C17:  fld_opcode(fld_header(output_packet)) <= 
          dns_types__opcode_type__last
     using hypothesis H11.
***  Proved C18:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
     using hypothesis H12.
***  Proved C19:  fld_rcode(fld_header(output_packet)) <= 
          dns_types__response_code__last
     using hypothesis H13.
***  Proved C20:  fld_qdcount(fld_header(output_packet)) >= 
          dns_types__unsigned_short__first
     using hypothesis H14.
***  Proved C21:  fld_qdcount(fld_header(output_packet)) <= 
          dns_types__unsigned_short__last
     using hypothesis H15.
***  Proved C22:  fld_ancount(fld_header(output_packet)) >= 
          dns_types__unsigned_short__first
     using hypothesis H16.
***  Proved C23:  fld_ancount(fld_header(output_packet)) <= 
          dns_types__unsigned_short__last
     using hypothesis H17.
***  Proved C24:  fld_nscount(fld_header(output_packet)) >= 
          dns_types__unsigned_short__first
     using hypothesis H18.
***  Proved C25:  fld_nscount(fld_header(output_packet)) <= 
          dns_types__unsigned_short__last
     using hypothesis H19.
***  Proved C26:  fld_arcount(fld_header(output_packet)) >= 
          dns_types__unsigned_short__first
     using hypothesis H20.
***  Proved C27:  fld_arcount(fld_header(output_packet)) <= 
          dns_types__unsigned_short__last
     using hypothesis H21.
***  Proved C28:  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 C29:  answer_count >= dns_types__unsigned_short__first
     using hypothesis H23.
***  Proved C30:  answer_count <= dns_types__unsigned_short__last
     using hypothesis H24.
***  Proved C31:  answer_count <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
     using hypothesis H1.
***  Proved C32:  start_byte <= dns_types__packet_size
     using hypothesis H2.
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of rr_type__maxnumrecords 
          by:
          64.
<S>  New H1:  answer_count <= dns_types__unsigned_short__last - 64
<S>  New C8:  numfound__1 <= 64
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H2:  start_byte <= 8192
<S>  New H45:  8192 - (16 + dns_types__header_bits div 8) >= system__min_int
<S>  New H46:  8192 - (16 + dns_types__header_bits div 8) <= system__max_int
<S>  New H55:  start_byte < 8192 - (16 + dns_types__header_bits div 8)
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H47:  28 >= system__min_int
<S>  New H48:  28 <= system__max_int
<S>  New H49:  12 >= system__min_int
<S>  New H50:  12 <= system__max_int
<S>  New H45:  8164 >= system__min_int
<S>  New H46:  8164 <= system__max_int
<S>  New H55:  start_byte < 8164
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H47:  true
<S>  New H49:  true
<S>  New H45:  true
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H48:  true
<S>  New H50:  true
<S>  New H46:  true
-S-  Applied substitution rule create_respo_rules(7).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H52:  start_byte >= - 2147483648
-S-  Applied substitution rule create_respo_rules(8).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H53:  start_byte <= 2147483647
-S-  Applied substitution rule create_respo_rules(12).
     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-  Applied substitution rule create_respo_rules(13).
     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-  Applied substitution rule create_respo_rules(17).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H30:  numfound__1 >= 0
<S>  New H37:  true
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H31:  numfound__1 <= 2147483647
<S>  New H38:  true
-S-  Applied substitution rule create_respo_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H6:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H7:  qname_location <= 16383
-S-  Applied substitution rule create_respo_rules(38).
     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(39).
     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(44).
     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(45).
     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(51).
     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(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H1:  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(57).
     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(58).
     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(83).
     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(84).
     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(125).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__first by:
          0.
<S>  New H25:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returnedarecords__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returnedarecords__1, [i___1]))) 
          <= unsigned_types__unsigned32__last)
<S>  New H27:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ipv4(element(
          returnedarecords__1, [i___1])) and fld_ipv4(element(
          returnedarecords__1, [i___1])) <= unsigned_types__unsigned32__last)
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__last by:
          4294967295.
<S>  New H25:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returnedarecords__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returnedarecords__1, [i___1]))) 
          <= 4294967295)
<S>  New H27:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ipv4(element(
          returnedarecords__1, [i___1])) and fld_ipv4(element(
          returnedarecords__1, [i___1])) <= 4294967295)
-S-  Applied substitution rule create_respo_rules(131).
     This was achieved by replacing all occurrences of 
          rr_type__classtype__first by:
          rr_type__internet.
<S>  New H26:  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(returnedarecords__1, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords__1, [i___1]))) <= 
          rr_type__classtype__last)
-S-  Applied substitution rule create_respo_rules(132).
     This was achieved by replacing all occurrences of rr_type__classtype__last 
          by:
          rr_type__hs.
<S>  New H26:  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(returnedarecords__1, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords__1, [i___1]))) <= 
          rr_type__hs)
-S-  Applied substitution rule create_respo_rules(158).
     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-  Applied substitution rule create_respo_rules(159).
     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-  Applied substitution rule create_respo_rules(165).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__first by:
          1.
<S>  New H25:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returnedarecords__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returnedarecords__1, [i___1]))) 
          <= 4294967295)
<S>  New H27:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ipv4(element(
          returnedarecords__1, [i___1])) and fld_ipv4(element(
          returnedarecords__1, [i___1])) <= 4294967295)
<S>  New H26:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(returnedarecords__1, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords__1, [i___1]))) <= 
          rr_type__hs)
-S-  Applied substitution rule create_respo_rules(166).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New H25:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ttlinseconds(fld_inherit(element(returnedarecords__1, [i___1]))) 
          and fld_ttlinseconds(fld_inherit(element(returnedarecords__1, [i___1])
          )) <= 4294967295)
<S>  New H27:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ipv4(element(returnedarecords__1, [i___1])) and fld_ipv4(element(
          returnedarecords__1, [i___1])) <= 4294967295)
<S>  New H26:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__internet <= fld_class(fld_inherit(element(
          returnedarecords__1, [i___1]))) and fld_class(fld_inherit(element(
          returnedarecords__1, [i___1]))) <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(170).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__first by:
          0.
<S>  New H28:  numfound__1 >= 0
-S-  Applied substitution rule create_respo_rules(171).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__last by:
          64.
<S>  New H29:  numfound__1 <= 64
***  Proved C8:  numfound__1 <= 64
     using hypothesis H29.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_a_7.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  answer_count = answer_count~
%%%  Simplified H11 on reading formula in, to give:
     %%%  H11:  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 H16 on reading formula in, to give:
     %%%  H16:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H18 on reading formula in, to give:
     %%%  H18:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H28 on reading formula in, to give:
     %%%  H28:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H31 on reading formula in, to give:
     %%%  H31:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
---  Hypothesis H32 has been replaced by "true".  (It is already present, as H3)
          .
%%%  Simplified H44 on reading formula in, to give:
     %%%  H44:  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 H59 has been replaced by "true".  (It is already present, as 
          H47).
---  Hypothesis H60 has been replaced by "true".  (It is already present, as 
          H48).
---  Hypothesis H65 has been replaced by "true".  (It is already present, as 
          H53).
---  Hypothesis H66 has been replaced by "true".  (It is already present, as 
          H54).
---  Hypothesis H71 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H72 has been replaced by "true".  (It is already present, as 
          H34).
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  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(returnedarecords, [i___1]))) and fld_ttlinseconds(fld_inherit(
          element(returnedarecords, [i___1]))) <= 
          unsigned_types__unsigned32__last)
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  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(returnedarecords, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords, [i___1]))) <= 
          rr_type__classtype__last)
%%%  Simplified H75 on reading formula in, to give:
     %%%  H75:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ipv4(element(
          returnedarecords, [i___1])) and fld_ipv4(element(returnedarecords, [
          i___1])) <= unsigned_types__unsigned32__last)
%%%  Simplified H89 on reading formula in, to give:
     %%%  H89:  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 H90 on reading formula in, to give:
     %%%  H90:  fld_header(output_packet__3) = fld_header(output_packet__2)
%%%  Simplified H91 on reading formula in, to give:
     %%%  H91:  output_packet__3 = upf_bytes(output_packet__2, fld_bytes(
          output_packet__3))
---  Hypothesis H92 has been replaced by "true".  (It is already present, as 
          H76).
---  Hypothesis H93 has been replaced by "true".  (It is already present, as 
          H77).
---  Hypothesis H96 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H97 has been replaced by "true".  (It is already present, as 
          H34).
---  Hypothesis H100 has been replaced by "true".  (It is already present, as 
          H98).
---  Hypothesis H101 has been replaced by "true".  (It is already present, as 
          H99).
---  Hypothesis H104 has been replaced by "true".  (It is already present, as 
          H94).
---  Hypothesis H105 has been replaced by "true".  (It is already present, as 
          H95).
%%%  Simplified H112 on reading formula in, to give:
     %%%  H112:  true
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  response_counter >= 0
%%%  Simplified C4 on reading formula in, to give:
     %%%  C4:  answer_count = answer_count~
%%%  Simplified C6 on reading formula in, to give:
     %%%  C6:  current_byte + 16 = start_byte + 16 * response_counter
%%%  Simplified C11 on reading formula in, to give:
     %%%  C11:  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 C16 on reading formula in, to give:
     %%%  C16:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet__3))
%%%  Simplified C18 on reading formula in, to give:
     %%%  C18:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet__3))
%%%  Simplified C28 on reading formula in, to give:
     %%%  C28:  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 C31 on reading formula in, to give:
     %%%  C31:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
***  Proved C1:  response_counter >= 0
     using hypothesis H1.
***  Proved C2:  response_counter + 1 <= numfound
     using hypothesis H115.
***  Proved C3:  start_byte <= dns_types__packet_size
     using hypothesis H3.
***  Proved C4:  answer_count = answer_count~
     using hypothesis H4.
***  Proved C5:  answer_count <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
     using hypothesis H5.
***  Proved C7:  current_byte + 16 < dns_types__packet_size - (16 + 
          dns_types__header_bits div 8)
     using hypothesis H116.
***  Proved C8:  numfound <= rr_type__maxnumrecords
     using hypothesis H8.
***  Proved C9:  start_byte >= dns_types__packet_bytes_range__first
     using hypothesis H9.
***  Proved C10:  start_byte <= dns_types__packet_bytes_range__last
     using hypothesis H10.
***  Proved C11:  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 H11.
***  Proved C12:  qname_location >= dns_types__qname_ptr_range__first
     using hypothesis H12.
***  Proved C13:  qname_location <= dns_types__qname_ptr_range__last
     using hypothesis H13.
***  Proved C28:  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 H89.
***  Proved C29:  answer_count >= dns_types__unsigned_short__first
     using hypothesis H29.
***  Proved C30:  answer_count <= dns_types__unsigned_short__last
     using hypothesis H30.
***  Proved C31:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
     using hypothesis H31.
***  Proved C32:  start_byte <= dns_types__packet_size
     using hypothesis H3.
-S-  Applied substitution rule create_respo_rules(51).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H14:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H20:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H22:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H24:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H26:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H29:  answer_count >= 0
<S>  New C14:  fld_messageid(fld_header(output_packet__3)) >= 0
<S>  New C20:  fld_qdcount(fld_header(output_packet__3)) >= 0
<S>  New C22:  fld_ancount(fld_header(output_packet__3)) >= 0
<S>  New C24:  fld_nscount(fld_header(output_packet__3)) >= 0
<S>  New C26:  fld_arcount(fld_header(output_packet__3)) >= 0
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H5:  answer_count <= 65535 - rr_type__maxnumrecords
<S>  New H15:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H21:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H23:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H25:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H27:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H30:  answer_count <= 65535
<S>  New H31:  answer_count~ <= 65535 - rr_type__maxnumrecords
<S>  New C15:  fld_messageid(fld_header(output_packet__3)) <= 65535
<S>  New C21:  fld_qdcount(fld_header(output_packet__3)) <= 65535
<S>  New C23:  fld_ancount(fld_header(output_packet__3)) <= 65535
<S>  New C25:  fld_nscount(fld_header(output_packet__3)) <= 65535
<S>  New C27:  fld_arcount(fld_header(output_packet__3)) <= 65535
-S-  Applied substitution rule create_respo_rules(57).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H16:  dns_types__query <= fld_opcode(fld_header(output_packet))
<S>  New C16:  dns_types__query <= fld_opcode(fld_header(output_packet__3))
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H17:  fld_opcode(fld_header(output_packet)) <= dns_types__status
<S>  New C17:  fld_opcode(fld_header(output_packet__3)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(83).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H18:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
<S>  New C18:  dns_types__no_error <= fld_rcode(fld_header(output_packet__3))
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H19:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
<S>  New C19:  fld_rcode(fld_header(output_packet__3)) <= dns_types__refused
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H3:  start_byte <= 8192
<S>  New H7:  current_byte < 8192 - (16 + dns_types__header_bits div 8)
<S>  New H106:  8192 - (16 + dns_types__header_bits div 8) >= system__min_int
<S>  New H107:  8192 - (16 + dns_types__header_bits div 8) <= system__max_int
<S>  New H116:  current_byte + 16 < 8192 - (16 + dns_types__header_bits div 8)
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H108:  28 >= system__min_int
<S>  New H109:  28 <= system__max_int
<S>  New H110:  12 >= system__min_int
<S>  New H111:  12 <= system__max_int
<S>  New H7:  current_byte < 8164
<S>  New H106:  8164 >= system__min_int
<S>  New H107:  8164 <= system__max_int
<S>  New H116:  current_byte < 8148
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of rr_type__maxnumrecords 
          by:
          64.
<S>  New H5:  answer_count <= 65471
<S>  New H8:  numfound <= 64
<S>  New H31:  answer_count~ <= 65471
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H108:  true
<S>  New H110:  true
<S>  New H106:  true
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H109:  true
<S>  New H111:  true
<S>  New H107:  true
-S-  Applied substitution rule create_respo_rules(7).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H113:  current_byte >= - 2147483664
-S-  Applied substitution rule create_respo_rules(8).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H114:  current_byte <= 2147483631
-S-  Applied substitution rule create_respo_rules(9).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H83:  rr_type__returnedrecordsindextype__first + (response_counter - 1)
           >= - 2147483648
<S>  New H85:  response_counter >= - 2147483647
-S-  Applied substitution rule create_respo_rules(10).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H84:  rr_type__returnedrecordsindextype__first + (response_counter - 1)
           <= 2147483647
<S>  New H86:  response_counter <= 2147483648
-S-  Applied substitution rule create_respo_rules(12).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H11:  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(13).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H11:  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(17).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H76:  response_counter >= 0
<S>  New H94:  response_counter >= - 1
<S>  New H102:  numfound >= 0
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H77:  response_counter <= 2147483647
<S>  New H95:  response_counter <= 2147483646
<S>  New H103:  numfound <= 2147483647
-S-  Applied substitution rule create_respo_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H12:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H13:  qname_location <= 16383
-S-  Applied substitution rule create_respo_rules(38).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H9:  start_byte >= 1
<S>  New H28:  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 H33:  current_byte >= 1
<S>  New H37:  current_byte >= 0
<S>  New H44:  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 H49:  current_byte >= - 2
<S>  New H55:  current_byte >= - 3
<S>  New H61:  current_byte >= - 4
<S>  New H67:  current_byte >= - 5
<S>  New H78:  current_byte >= - 6
<S>  New H89:  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 H98:  current_byte >= - 15
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H10:  start_byte <= 8180
<S>  New H34:  current_byte <= 8180
<S>  New H38:  current_byte <= 8179
<S>  New H39:  current_byte <= 8178
<S>  New H50:  current_byte <= 8177
<S>  New H56:  current_byte <= 8176
<S>  New H62:  current_byte <= 8175
<S>  New H68:  current_byte <= 8174
<S>  New H79:  current_byte <= 8173
<S>  New H80:  current_byte <= 8163
<S>  New H99:  current_byte <= 8164
<S>  New H28:  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 H44:  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 H89:  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(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H42:  current_byte >= - 2147483649
<S>  New H51:  current_byte >= - 2147483651
<S>  New H57:  current_byte >= - 2147483652
<S>  New H63:  current_byte >= - 2147483653
<S>  New H69:  current_byte >= - 2147483654
<S>  New H87:  current_byte >= - 2147483655
-S-  Applied substitution rule create_respo_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H43:  current_byte <= 2147483646
<S>  New H52:  current_byte <= 2147483644
<S>  New H58:  current_byte <= 2147483643
<S>  New H64:  current_byte <= 2147483642
<S>  New H70:  current_byte <= 2147483641
<S>  New H88:  current_byte <= 2147483640
-S-  Applied substitution rule create_respo_rules(44).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H47:  true
<S>  New H53:  true
<S>  New H28:  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 H44:  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 H89:  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(45).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H48:  true
<S>  New H54:  true
<S>  New H28:  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 H44:  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 H89:  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(119).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__first by:
          0.
<S>  New H35:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          >= 0
<S>  New H40:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(120).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__last by:
          65535.
<S>  New H36:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          <= 65535
<S>  New H41:  qname_location <= 65535
-S-  Applied substitution rule create_respo_rules(123).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__modulus by:
          65536.
<S>  New H35:  (qname_location + 49152) mod 65536 >= 0
<S>  New H36:  (qname_location + 49152) mod 65536 <= 65535
-S-  Applied substitution rule create_respo_rules(125).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__first by:
          0.
<S>  New H73:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returnedarecords, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(returnedarecords, [i___1]))) <= 
          unsigned_types__unsigned32__last)
<S>  New H75:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ipv4(element(
          returnedarecords, [i___1])) and fld_ipv4(element(returnedarecords, [
          i___1])) <= unsigned_types__unsigned32__last)
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__last by:
          4294967295.
<S>  New H73:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returnedarecords, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(returnedarecords, [i___1]))) <= 4294967295)
<S>  New H75:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ipv4(element(
          returnedarecords, [i___1])) and fld_ipv4(element(returnedarecords, [
          i___1])) <= 4294967295)
-S-  Applied substitution rule create_respo_rules(131).
     This was achieved by replacing all occurrences of 
          rr_type__classtype__first by:
          rr_type__internet.
<S>  New H74:  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(returnedarecords, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords, [i___1]))) <= 
          rr_type__classtype__last)
-S-  Applied substitution rule create_respo_rules(132).
     This was achieved by replacing all occurrences of rr_type__classtype__last 
          by:
          rr_type__hs.
<S>  New H74:  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(returnedarecords, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords, [i___1]))) <= 
          rr_type__hs)
-S-  Applied substitution rule create_respo_rules(158).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H11:  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(159).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H11:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 129 -> 0 <= 
          element(domainname, [i___1]) and element(domainname, [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(165).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__first by:
          1.
<S>  New H81:  response_counter - 1 >= 0
<S>  New H82:  1 + (response_counter - 1) <= 
          rr_type__returnedrecordsindextype__last
<S>  New H83:  response_counter - 1 >= - 2147483649
<S>  New H84:  response_counter - 1 <= 2147483646
<S>  New H73:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returnedarecords, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(returnedarecords, [i___1]))) <= 4294967295)
<S>  New H75:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ipv4(element(
          returnedarecords, [i___1])) and fld_ipv4(element(returnedarecords, [
          i___1])) <= 4294967295)
<S>  New H74:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(returnedarecords, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords, [i___1]))) <= 
          rr_type__hs)
-S-  Applied substitution rule create_respo_rules(166).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New H82:  response_counter - 1 <= 63
<S>  New H73:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ttlinseconds(fld_inherit(element(returnedarecords, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returnedarecords, [i___1]))) <= 
          4294967295)
<S>  New H75:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ipv4(element(returnedarecords, [i___1])) and fld_ipv4(element(
          returnedarecords, [i___1])) <= 4294967295)
<S>  New H74:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__internet <= fld_class(fld_inherit(element(returnedarecords, [
          i___1]))) and fld_class(fld_inherit(element(returnedarecords, [i___1])
          )) <= rr_type__hs)
%%%  Simplified H81 further, to give:
     %%%  H81:  response_counter >= 1
%%%  Simplified H82 further, to give:
     %%%  H82:  response_counter <= 64
%%%  Simplified H83 further, to give:
     %%%  H83:  response_counter >= - 2147483648
%%%  Simplified H84 further, to give:
     %%%  H84:  response_counter <= 2147483647
***  Proved C6:  current_byte + 16 = start_byte + 16 * response_counter
     via its standard form, which is:
     Std.Fm C6:  current_byte - 16 * response_counter - start_byte = - 16
     using hypothesis H6.
---  Eliminated hypothesis H32 (true-hypothesis).
---  Eliminated hypothesis H59 (true-hypothesis).
---  Eliminated hypothesis H60 (true-hypothesis).
---  Eliminated hypothesis H65 (true-hypothesis).
---  Eliminated hypothesis H66 (true-hypothesis).
---  Eliminated hypothesis H71 (true-hypothesis).
---  Eliminated hypothesis H72 (true-hypothesis).
---  Eliminated hypothesis H92 (true-hypothesis).
---  Eliminated hypothesis H93 (true-hypothesis).
---  Eliminated hypothesis H96 (true-hypothesis).
---  Eliminated hypothesis H97 (true-hypothesis).
---  Eliminated hypothesis H100 (true-hypothesis).
---  Eliminated hypothesis H101 (true-hypothesis).
---  Eliminated hypothesis H104 (true-hypothesis).
---  Eliminated hypothesis H105 (true-hypothesis).
---  Eliminated hypothesis H112 (true-hypothesis).
---  Eliminated hypothesis H108 (true-hypothesis).
---  Eliminated hypothesis H110 (true-hypothesis).
---  Eliminated hypothesis H106 (true-hypothesis).
---  Eliminated hypothesis H109 (true-hypothesis).
---  Eliminated hypothesis H111 (true-hypothesis).
---  Eliminated hypothesis H107 (true-hypothesis).
---  Eliminated hypothesis H47 (true-hypothesis).
---  Eliminated hypothesis H53 (true-hypothesis).
---  Eliminated hypothesis H48 (true-hypothesis).
---  Eliminated hypothesis H54 (true-hypothesis).
---  Eliminated hypothesis H81 (duplicate of H1).
---  Eliminated hypothesis H84 (duplicate of H77).
---  Eliminated hypothesis H40 (duplicate of H12).
---  Eliminated hypothesis H80 (duplicate of H7).
---  Eliminated hypothesis H2 (redundant, given H115).
---  Eliminated hypothesis H3 (redundant, given H10).
---  Eliminated hypothesis H7 (redundant, given H116).
---  Eliminated hypothesis H30 (redundant, given H5).
---  Eliminated hypothesis H34 (redundant, given H38).
---  Eliminated hypothesis H37 (redundant, given H33).
---  Eliminated hypothesis H38 (redundant, given H39).
---  Eliminated hypothesis H39 (redundant, given H50).
---  Eliminated hypothesis H41 (redundant, given H13).
---  Eliminated hypothesis H42 (redundant, given H33).
---  Eliminated hypothesis H43 (redundant, given H50).
---  Eliminated hypothesis H49 (redundant, given H33).
---  Eliminated hypothesis H50 (redundant, given H56).
---  Eliminated hypothesis H51 (redundant, given H33).
---  Eliminated hypothesis H52 (redundant, given H56).
---  Eliminated hypothesis H55 (redundant, given H33).
---  Eliminated hypothesis H56 (redundant, given H62).
---  Eliminated hypothesis H57 (redundant, given H33).
---  Eliminated hypothesis H58 (redundant, given H62).
---  Eliminated hypothesis H61 (redundant, given H33).
---  Eliminated hypothesis H62 (redundant, given H68).
---  Eliminated hypothesis H63 (redundant, given H33).
---  Eliminated hypothesis H64 (redundant, given H68).
---  Eliminated hypothesis H67 (redundant, given H33).
---  Eliminated hypothesis H68 (redundant, given H79).
---  Eliminated hypothesis H69 (redundant, given H33).
---  Eliminated hypothesis H70 (redundant, given H79).
---  Eliminated hypothesis H76 (redundant, given H1).
---  Eliminated hypothesis H77 (redundant, given H82).
---  Eliminated hypothesis H78 (redundant, given H33).
---  Eliminated hypothesis H79 (redundant, given H99).
---  Eliminated hypothesis H83 (redundant, given H1).
---  Eliminated hypothesis H85 (redundant, given H1).
---  Eliminated hypothesis H86 (redundant, given H82).
---  Eliminated hypothesis H87 (redundant, given H33).
---  Eliminated hypothesis H88 (redundant, given H99).
---  Eliminated hypothesis H94 (redundant, given H1).
---  Eliminated hypothesis H95 (redundant, given H82).
---  Eliminated hypothesis H98 (redundant, given H33).
---  Eliminated hypothesis H99 (redundant, given H116).
---  Eliminated hypothesis H102 (redundant, given H1 & H115).
---  Eliminated hypothesis H103 (redundant, given H8).
---  Eliminated hypothesis H113 (redundant, given H33).
---  Eliminated hypothesis H114 (redundant, given H116).
-S-  Eliminated hypothesis H4.
     This was achieved by replacing all occurrences of answer_count by:
          answer_count~.
<S>  New H29:  answer_count~ >= 0
<S>  New H5:  answer_count~ <= 65471
-S-  Eliminated hypothesis H6.
     This was achieved by replacing all occurrences of current_byte by:
          start_byte + 16 * (response_counter - 1).
<S>  New H116:  start_byte + 16 * (response_counter - 1) < 8148
<S>  New H33:  start_byte + 16 * (response_counter - 1) >= 1
-S-  Substituted hypothesis H45.
     This was achieved by replacing all occurrences of fld_header(
          output_packet__2) by:
          fld_header(output_packet).
-S-  Substituted hypothesis H90.
     This was achieved by replacing all occurrences of fld_header(
          output_packet__3) by:
          fld_header(output_packet).
***  Proved C14:  fld_messageid(fld_header(output_packet)) >= 0
     using hypothesis H14.
***  Proved C20:  fld_qdcount(fld_header(output_packet)) >= 0
     using hypothesis H20.
***  Proved C22:  fld_ancount(fld_header(output_packet)) >= 0
     using hypothesis H22.
***  Proved C24:  fld_nscount(fld_header(output_packet)) >= 0
     using hypothesis H24.
***  Proved C26:  fld_arcount(fld_header(output_packet)) >= 0
     using hypothesis H26.
***  Proved C15:  fld_messageid(fld_header(output_packet)) <= 65535
     using hypothesis H15.
***  Proved C21:  fld_qdcount(fld_header(output_packet)) <= 65535
     using hypothesis H21.
***  Proved C23:  fld_ancount(fld_header(output_packet)) <= 65535
     using hypothesis H23.
***  Proved C25:  fld_nscount(fld_header(output_packet)) <= 65535
     using hypothesis H25.
***  Proved C27:  fld_arcount(fld_header(output_packet)) <= 65535
     using hypothesis H27.
***  Proved C16:  dns_types__query <= fld_opcode(fld_header(output_packet))
     using hypothesis H16.
***  Proved C17:  fld_opcode(fld_header(output_packet)) <= dns_types__status
     using hypothesis H17.
***  Proved C18:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
     using hypothesis H18.
***  Proved C19:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
     using hypothesis H19.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_a_8.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  answer_count = answer_count~
%%%  Simplified H11 on reading formula in, to give:
     %%%  H11:  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 H16 on reading formula in, to give:
     %%%  H16:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H18 on reading formula in, to give:
     %%%  H18:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H28 on reading formula in, to give:
     %%%  H28:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H31 on reading formula in, to give:
     %%%  H31:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
---  Hypothesis H32 has been replaced by "true".  (It is already present, as H3)
          .
***  Proved C3:  current_byte + 1 >= dns_types__packet_bytes_range__first
     using hypothesis H33.
-S-  Applied substitution rule create_respo_rules(119).
     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(120).
     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(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H10:  start_byte <= 8180
<S>  New H28:  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 H34:  current_byte <= 8180
<S>  New C4:  current_byte <= 8179
<S>  New C5:  current_byte <= 8178
-S-  Applied substitution rule create_respo_rules(40).
     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(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New C9:  current_byte <= 2147483646
***  Proved C9:  current_byte <= 2147483646
     using hypothesis H34.
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H3:  start_byte <= 8192
<S>  New H7:  current_byte < 8192 - (16 + dns_types__header_bits div 8)
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H7:  current_byte < 8164
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of rr_type__maxnumrecords 
          by:
          64.
<S>  New H5:  answer_count <= dns_types__unsigned_short__last - 64
<S>  New H8:  numfound <= 64
<S>  New H31:  answer_count~ <= dns_types__unsigned_short__last - 64
-S-  Applied substitution rule create_respo_rules(12).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H11:  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(13).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H11:  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(27).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H12:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H13:  qname_location <= 16383
-S-  Applied substitution rule create_respo_rules(38).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H9:  start_byte >= 1
<S>  New H28:  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 H33:  current_byte >= 1
-S-  Applied substitution rule create_respo_rules(44).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H28:  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(45).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H28:  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(51).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H14:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H20:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H22:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H24:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H26:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H29:  answer_count >= 0
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H15:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H21:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H23:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H25:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H27:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H30:  answer_count <= 65535
<S>  New H5:  answer_count <= 65471
<S>  New H31:  answer_count~ <= 65471
-S-  Applied substitution rule create_respo_rules(57).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H16:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H17:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(83).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H18:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H19:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
-S-  Applied substitution rule create_respo_rules(123).
     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(158).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H11:  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(159).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H11:  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 H12.
***  Proved C7:  qname_location <= 65535
     using hypothesis H13.
***  Proved C4:  current_byte <= 8179
     using hypothesis H7.
***  Proved C5:  current_byte <= 8178
     using hypothesis H7.
***  Proved C8:  current_byte >= - 2147483649
     using hypothesis H33.
***  Proved C1:  (qname_location + 49152) mod 65536 >= 0
***  Proved C2:  (qname_location + 49152) mod 65536 <= 65535
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_a_9.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  answer_count = answer_count~
%%%  Simplified H11 on reading formula in, to give:
     %%%  H11:  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 H16 on reading formula in, to give:
     %%%  H16:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H18 on reading formula in, to give:
     %%%  H18:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H28 on reading formula in, to give:
     %%%  H28:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H31 on reading formula in, to give:
     %%%  H31:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
---  Hypothesis H32 has been replaced by "true".  (It is already present, as H3)
          .
%%%  Simplified H44 on reading formula in, to give:
     %%%  H44:  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 H33.
***  Proved C5:  current_byte + 3 >= dns_types__packet_bytes_range__base__first
     using hypothesis H42.
-S-  Applied substitution rule create_respo_rules(44).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H28:  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 H44:  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(45).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H28:  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 H44:  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(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H10:  start_byte <= 8180
<S>  New H34:  current_byte <= 8180
<S>  New H38:  current_byte <= 8179
<S>  New H39:  current_byte <= 8178
<S>  New H28:  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 H44:  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(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H43:  current_byte <= 2147483646
<S>  New C6:  current_byte <= 2147483644
***  Proved C1:  true
***  Proved C2:  true
***  Proved C6:  current_byte <= 2147483644
     using hypothesis H34.
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H3:  start_byte <= 8192
<S>  New H7:  current_byte < 8192 - (16 + dns_types__header_bits div 8)
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H7:  current_byte < 8164
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of rr_type__maxnumrecords 
          by:
          64.
<S>  New H5:  answer_count <= dns_types__unsigned_short__last - 64
<S>  New H8:  numfound <= 64
<S>  New H31:  answer_count~ <= dns_types__unsigned_short__last - 64
-S-  Applied substitution rule create_respo_rules(12).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H11:  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(13).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H11:  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(27).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H12:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H13:  qname_location <= 16383
-S-  Applied substitution rule create_respo_rules(38).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H9:  start_byte >= 1
<S>  New H28:  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 H33:  current_byte >= 1
<S>  New H37:  current_byte >= 0
<S>  New H44:  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(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H42:  current_byte >= - 2147483649
-S-  Applied substitution rule create_respo_rules(51).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H14:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H20:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H22:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H24:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H26:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H29:  answer_count >= 0
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H15:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H21:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H23:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H25:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H27:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H30:  answer_count <= 65535
<S>  New H5:  answer_count <= 65471
<S>  New H31:  answer_count~ <= 65471
-S-  Applied substitution rule create_respo_rules(57).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H16:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H17:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(83).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H18:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H19:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
-S-  Applied substitution rule create_respo_rules(119).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__first by:
          0.
<S>  New H35:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          >= 0
<S>  New H40:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(120).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__last by:
          65535.
<S>  New H36:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          <= 65535
<S>  New H41:  qname_location <= 65535
-S-  Applied substitution rule create_respo_rules(123).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__modulus by:
          65536.
<S>  New H35:  (qname_location + 49152) mod 65536 >= 0
<S>  New H36:  (qname_location + 49152) mod 65536 <= 65535
-S-  Applied substitution rule create_respo_rules(158).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H11:  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(159).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H11:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 129 -> 0 <= 
          element(domainname, [i___1]) and element(domainname, [i___1]) <= 255)
***  Proved C4:  current_byte <= 8177
     using hypothesis H7.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_a_10.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  answer_count = answer_count~
%%%  Simplified H11 on reading formula in, to give:
     %%%  H11:  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 H16 on reading formula in, to give:
     %%%  H16:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H18 on reading formula in, to give:
     %%%  H18:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H28 on reading formula in, to give:
     %%%  H28:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H31 on reading formula in, to give:
     %%%  H31:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
---  Hypothesis H32 has been replaced by "true".  (It is already present, as H3)
          .
%%%  Simplified H44 on reading formula in, to give:
     %%%  H44:  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:  1 >= dns_types__byte__first
     using hypothesis H47.
***  Proved C3:  current_byte + 4 >= dns_types__packet_bytes_range__first
     using hypothesis H33.
***  Proved C5:  current_byte + 4 >= dns_types__packet_bytes_range__base__first
     using hypothesis H42.
-S-  Applied substitution rule create_respo_rules(45).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H28:  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 H44:  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 H48:  true
<S>  New C2:  true
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H10:  start_byte <= 8180
<S>  New H34:  current_byte <= 8180
<S>  New H38:  current_byte <= 8179
<S>  New H39:  current_byte <= 8178
<S>  New H50:  current_byte <= 8177
<S>  New H28:  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 H44:  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(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H43:  current_byte <= 2147483646
<S>  New H52:  current_byte <= 2147483644
<S>  New C6:  current_byte <= 2147483643
***  Proved C2:  true
***  Proved C6:  current_byte <= 2147483643
     using hypothesis H34.
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H3:  start_byte <= 8192
<S>  New H7:  current_byte < 8192 - (16 + dns_types__header_bits div 8)
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H7:  current_byte < 8164
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of rr_type__maxnumrecords 
          by:
          64.
<S>  New H5:  answer_count <= dns_types__unsigned_short__last - 64
<S>  New H8:  numfound <= 64
<S>  New H31:  answer_count~ <= dns_types__unsigned_short__last - 64
-S-  Applied substitution rule create_respo_rules(12).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H11:  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(13).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H11:  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(27).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H12:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H13:  qname_location <= 16383
-S-  Applied substitution rule create_respo_rules(38).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H9:  start_byte >= 1
<S>  New H28:  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 H33:  current_byte >= 1
<S>  New H37:  current_byte >= 0
<S>  New H44:  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 H49:  current_byte >= - 2
-S-  Applied substitution rule create_respo_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H42:  current_byte >= - 2147483649
<S>  New H51:  current_byte >= - 2147483651
-S-  Applied substitution rule create_respo_rules(44).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H47:  true
<S>  New H28:  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 H44:  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(51).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H14:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H20:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H22:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H24:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H26:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H29:  answer_count >= 0
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H15:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H21:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H23:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H25:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H27:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H30:  answer_count <= 65535
<S>  New H5:  answer_count <= 65471
<S>  New H31:  answer_count~ <= 65471
-S-  Applied substitution rule create_respo_rules(57).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H16:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H17:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(83).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H18:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H19:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
-S-  Applied substitution rule create_respo_rules(119).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__first by:
          0.
<S>  New H35:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          >= 0
<S>  New H40:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(120).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__last by:
          65535.
<S>  New H36:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          <= 65535
<S>  New H41:  qname_location <= 65535
-S-  Applied substitution rule create_respo_rules(123).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__modulus by:
          65536.
<S>  New H35:  (qname_location + 49152) mod 65536 >= 0
<S>  New H36:  (qname_location + 49152) mod 65536 <= 65535
-S-  Applied substitution rule create_respo_rules(158).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H11:  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(159).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H11:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 129 -> 0 <= 
          element(domainname, [i___1]) and element(domainname, [i___1]) <= 255)
***  Proved C4:  current_byte <= 8176
     using hypothesis H7.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_a_11.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  answer_count = answer_count~
%%%  Simplified H11 on reading formula in, to give:
     %%%  H11:  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 H16 on reading formula in, to give:
     %%%  H16:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H18 on reading formula in, to give:
     %%%  H18:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H28 on reading formula in, to give:
     %%%  H28:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H31 on reading formula in, to give:
     %%%  H31:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
---  Hypothesis H32 has been replaced by "true".  (It is already present, as H3)
          .
%%%  Simplified H44 on reading formula in, to give:
     %%%  H44:  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 H47.
***  Proved C2:  0 <= dns_types__byte__last
     using hypothesis H48.
***  Proved C3:  current_byte + 5 >= dns_types__packet_bytes_range__first
     using hypothesis H33.
***  Proved C5:  current_byte + 5 >= dns_types__packet_bytes_range__base__first
     using hypothesis H42.
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H10:  start_byte <= 8180
<S>  New H28:  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 H34:  current_byte <= 8180
<S>  New H38:  current_byte <= 8179
<S>  New H39:  current_byte <= 8178
<S>  New H44:  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 H50:  current_byte <= 8177
<S>  New H56:  current_byte <= 8176
<S>  New C4:  current_byte <= 8175
-S-  Applied substitution rule create_respo_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H43:  current_byte <= 2147483646
<S>  New H52:  current_byte <= 2147483644
<S>  New H58:  current_byte <= 2147483643
<S>  New C6:  current_byte <= 2147483642
***  Proved C6:  current_byte <= 2147483642
     using hypothesis H34.
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H3:  start_byte <= 8192
<S>  New H7:  current_byte < 8192 - (16 + dns_types__header_bits div 8)
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H7:  current_byte < 8164
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of rr_type__maxnumrecords 
          by:
          64.
<S>  New H5:  answer_count <= dns_types__unsigned_short__last - 64
<S>  New H8:  numfound <= 64
<S>  New H31:  answer_count~ <= dns_types__unsigned_short__last - 64
-S-  Applied substitution rule create_respo_rules(12).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H11:  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(13).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H11:  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(27).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H12:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H13:  qname_location <= 16383
-S-  Applied substitution rule create_respo_rules(38).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H9:  start_byte >= 1
<S>  New H28:  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 H33:  current_byte >= 1
<S>  New H37:  current_byte >= 0
<S>  New H44:  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 H49:  current_byte >= - 2
<S>  New H55:  current_byte >= - 3
-S-  Applied substitution rule create_respo_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H42:  current_byte >= - 2147483649
<S>  New H51:  current_byte >= - 2147483651
<S>  New H57:  current_byte >= - 2147483652
-S-  Applied substitution rule create_respo_rules(44).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H47:  true
<S>  New H53:  true
<S>  New H28:  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 H44:  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(45).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H48:  true
<S>  New H54:  true
<S>  New H28:  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 H44:  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(51).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H14:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H20:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H22:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H24:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H26:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H29:  answer_count >= 0
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H15:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H21:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H23:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H25:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H27:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H30:  answer_count <= 65535
<S>  New H5:  answer_count <= 65471
<S>  New H31:  answer_count~ <= 65471
-S-  Applied substitution rule create_respo_rules(57).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H16:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H17:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(83).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H18:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H19:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
-S-  Applied substitution rule create_respo_rules(119).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__first by:
          0.
<S>  New H35:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          >= 0
<S>  New H40:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(120).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__last by:
          65535.
<S>  New H36:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          <= 65535
<S>  New H41:  qname_location <= 65535
-S-  Applied substitution rule create_respo_rules(123).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__modulus by:
          65536.
<S>  New H35:  (qname_location + 49152) mod 65536 >= 0
<S>  New H36:  (qname_location + 49152) mod 65536 <= 65535
-S-  Applied substitution rule create_respo_rules(158).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H11:  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(159).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H11:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 129 -> 0 <= 
          element(domainname, [i___1]) and element(domainname, [i___1]) <= 255)
***  Proved C4:  current_byte <= 8175
     using hypothesis H7.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_a_12.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  answer_count = answer_count~
%%%  Simplified H11 on reading formula in, to give:
     %%%  H11:  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 H16 on reading formula in, to give:
     %%%  H16:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H18 on reading formula in, to give:
     %%%  H18:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H28 on reading formula in, to give:
     %%%  H28:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H31 on reading formula in, to give:
     %%%  H31:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
---  Hypothesis H32 has been replaced by "true".  (It is already present, as H3)
          .
%%%  Simplified H44 on reading formula in, to give:
     %%%  H44:  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 H59 has been replaced by "true".  (It is already present, as 
          H47).
---  Hypothesis H60 has been replaced by "true".  (It is already present, as 
          H48).
***  Proved C1:  1 >= dns_types__byte__first
     using hypothesis H53.
***  Proved C2:  1 <= dns_types__byte__last
     using hypothesis H54.
***  Proved C3:  current_byte + 6 >= dns_types__packet_bytes_range__first
     using hypothesis H33.
***  Proved C5:  current_byte + 6 >= dns_types__packet_bytes_range__base__first
     using hypothesis H42.
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H10:  start_byte <= 8180
<S>  New H28:  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 H34:  current_byte <= 8180
<S>  New H38:  current_byte <= 8179
<S>  New H39:  current_byte <= 8178
<S>  New H44:  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 H50:  current_byte <= 8177
<S>  New H56:  current_byte <= 8176
<S>  New H62:  current_byte <= 8175
<S>  New C4:  current_byte <= 8174
-S-  Applied substitution rule create_respo_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H43:  current_byte <= 2147483646
<S>  New H52:  current_byte <= 2147483644
<S>  New H58:  current_byte <= 2147483643
<S>  New H64:  current_byte <= 2147483642
<S>  New C6:  current_byte <= 2147483641
***  Proved C6:  current_byte <= 2147483641
     using hypothesis H34.
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H3:  start_byte <= 8192
<S>  New H7:  current_byte < 8192 - (16 + dns_types__header_bits div 8)
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H7:  current_byte < 8164
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of rr_type__maxnumrecords 
          by:
          64.
<S>  New H5:  answer_count <= dns_types__unsigned_short__last - 64
<S>  New H8:  numfound <= 64
<S>  New H31:  answer_count~ <= dns_types__unsigned_short__last - 64
-S-  Applied substitution rule create_respo_rules(12).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H11:  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(13).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H11:  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(27).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H12:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H13:  qname_location <= 16383
-S-  Applied substitution rule create_respo_rules(38).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H9:  start_byte >= 1
<S>  New H28:  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 H33:  current_byte >= 1
<S>  New H37:  current_byte >= 0
<S>  New H44:  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 H49:  current_byte >= - 2
<S>  New H55:  current_byte >= - 3
<S>  New H61:  current_byte >= - 4
-S-  Applied substitution rule create_respo_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H42:  current_byte >= - 2147483649
<S>  New H51:  current_byte >= - 2147483651
<S>  New H57:  current_byte >= - 2147483652
<S>  New H63:  current_byte >= - 2147483653
-S-  Applied substitution rule create_respo_rules(44).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H47:  true
<S>  New H53:  true
<S>  New H28:  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 H44:  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(45).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H48:  true
<S>  New H54:  true
<S>  New H28:  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 H44:  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(51).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H14:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H20:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H22:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H24:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H26:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H29:  answer_count >= 0
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H15:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H21:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H23:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H25:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H27:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H30:  answer_count <= 65535
<S>  New H5:  answer_count <= 65471
<S>  New H31:  answer_count~ <= 65471
-S-  Applied substitution rule create_respo_rules(57).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H16:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H17:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(83).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H18:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H19:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
-S-  Applied substitution rule create_respo_rules(119).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__first by:
          0.
<S>  New H35:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          >= 0
<S>  New H40:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(120).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__last by:
          65535.
<S>  New H36:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          <= 65535
<S>  New H41:  qname_location <= 65535
-S-  Applied substitution rule create_respo_rules(123).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__modulus by:
          65536.
<S>  New H35:  (qname_location + 49152) mod 65536 >= 0
<S>  New H36:  (qname_location + 49152) mod 65536 <= 65535
-S-  Applied substitution rule create_respo_rules(158).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H11:  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(159).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H11:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 129 -> 0 <= 
          element(domainname, [i___1]) and element(domainname, [i___1]) <= 255)
***  Proved C4:  current_byte <= 8174
     using hypothesis H7.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_a_13.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  answer_count = answer_count~
%%%  Simplified H11 on reading formula in, to give:
     %%%  H11:  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 H16 on reading formula in, to give:
     %%%  H16:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H18 on reading formula in, to give:
     %%%  H18:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H28 on reading formula in, to give:
     %%%  H28:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H31 on reading formula in, to give:
     %%%  H31:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
---  Hypothesis H32 has been replaced by "true".  (It is already present, as H3)
          .
%%%  Simplified H44 on reading formula in, to give:
     %%%  H44:  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 H59 has been replaced by "true".  (It is already present, as 
          H47).
---  Hypothesis H60 has been replaced by "true".  (It is already present, as 
          H48).
---  Hypothesis H65 has been replaced by "true".  (It is already present, as 
          H53).
---  Hypothesis H66 has been replaced by "true".  (It is already present, as 
          H54).
---  Hypothesis H71 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H72 has been replaced by "true".  (It is already present, as 
          H34).
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  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(returnedarecords, [i___1]))) and fld_ttlinseconds(fld_inherit(
          element(returnedarecords, [i___1]))) <= 
          unsigned_types__unsigned32__last)
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  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(returnedarecords, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords, [i___1]))) <= 
          rr_type__classtype__last)
%%%  Simplified H75 on reading formula in, to give:
     %%%  H75:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ipv4(element(
          returnedarecords, [i___1])) and fld_ipv4(element(returnedarecords, [
          i___1])) <= unsigned_types__unsigned32__last)
***  Proved C1:  current_byte + 7 >= dns_types__packet_bytes_range__first
     using hypothesis H33.
***  Proved C10:  current_byte + 7 >= dns_types__packet_bytes_range__base__first
     using hypothesis H42.
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H10:  start_byte <= 8180
<S>  New H28:  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 H34:  current_byte <= 8180
<S>  New H38:  current_byte <= 8179
<S>  New H39:  current_byte <= 8178
<S>  New H44:  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 H50:  current_byte <= 8177
<S>  New H56:  current_byte <= 8176
<S>  New H62:  current_byte <= 8175
<S>  New H68:  current_byte <= 8174
<S>  New C2:  current_byte <= 8173
<S>  New C3:  current_byte <= 8163
-S-  Applied substitution rule create_respo_rules(165).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__first by:
          1.
<S>  New H73:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ttlinseconds(fld_inherit(
          element(returnedarecords, [i___1]))) and fld_ttlinseconds(fld_inherit(
          element(returnedarecords, [i___1]))) <= 
          unsigned_types__unsigned32__last)
<S>  New H74:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__classtype__first 
          <= fld_class(fld_inherit(element(returnedarecords, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords, [i___1]))) <= 
          rr_type__classtype__last)
<S>  New H75:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ipv4(element(
          returnedarecords, [i___1])) and fld_ipv4(element(returnedarecords, [
          i___1])) <= unsigned_types__unsigned32__last)
<S>  New C4:  response_counter - 1 >= 0
<S>  New C5:  1 + (response_counter - 1) <= 
          rr_type__returnedrecordsindextype__last
<S>  New C6:  1 + (response_counter - 1) >= integer__base__first
<S>  New C7:  1 + (response_counter - 1) <= integer__base__last
-S-  Applied substitution rule create_respo_rules(166).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New H73:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          unsigned_types__unsigned32__first <= fld_ttlinseconds(fld_inherit(
          element(returnedarecords, [i___1]))) and fld_ttlinseconds(fld_inherit(
          element(returnedarecords, [i___1]))) <= 
          unsigned_types__unsigned32__last)
<S>  New H74:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__classtype__first <= fld_class(fld_inherit(element(
          returnedarecords, [i___1]))) and fld_class(fld_inherit(element(
          returnedarecords, [i___1]))) <= rr_type__classtype__last)
<S>  New H75:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          unsigned_types__unsigned32__first <= fld_ipv4(element(
          returnedarecords, [i___1])) and fld_ipv4(element(returnedarecords, [
          i___1])) <= unsigned_types__unsigned32__last)
<S>  New C5:  response_counter - 1 <= 63
-S-  Applied substitution rule create_respo_rules(9).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New C8:  response_counter >= - 2147483647
<S>  New C6:  response_counter - 1 >= - 2147483649
-S-  Applied substitution rule create_respo_rules(10).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New C9:  response_counter <= 2147483648
<S>  New C7:  response_counter - 1 <= 2147483646
-S-  Applied substitution rule create_respo_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H43:  current_byte <= 2147483646
<S>  New H52:  current_byte <= 2147483644
<S>  New H58:  current_byte <= 2147483643
<S>  New H64:  current_byte <= 2147483642
<S>  New H70:  current_byte <= 2147483641
<S>  New C11:  current_byte <= 2147483640
***  Proved C4:  response_counter - 1 >= 0
     using hypothesis H1.
***  Proved C8:  response_counter >= - 2147483647
     using hypothesis H1.
***  Proved C6:  response_counter - 1 >= - 2147483649
     using hypothesis H1.
***  Proved C11:  current_byte <= 2147483640
     using hypothesis H34.
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H3:  start_byte <= 8192
<S>  New H7:  current_byte < 8192 - (16 + dns_types__header_bits div 8)
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H7:  current_byte < 8164
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of rr_type__maxnumrecords 
          by:
          64.
<S>  New H5:  answer_count <= dns_types__unsigned_short__last - 64
<S>  New H8:  numfound <= 64
<S>  New H31:  answer_count~ <= dns_types__unsigned_short__last - 64
-S-  Applied substitution rule create_respo_rules(12).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H11:  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(13).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H11:  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(17).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H76:  response_counter >= 0
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H77:  response_counter <= 2147483647
-S-  Applied substitution rule create_respo_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H12:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H13:  qname_location <= 16383
-S-  Applied substitution rule create_respo_rules(38).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H9:  start_byte >= 1
<S>  New H28:  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 H33:  current_byte >= 1
<S>  New H37:  current_byte >= 0
<S>  New H44:  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 H49:  current_byte >= - 2
<S>  New H55:  current_byte >= - 3
<S>  New H61:  current_byte >= - 4
<S>  New H67:  current_byte >= - 5
-S-  Applied substitution rule create_respo_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H42:  current_byte >= - 2147483649
<S>  New H51:  current_byte >= - 2147483651
<S>  New H57:  current_byte >= - 2147483652
<S>  New H63:  current_byte >= - 2147483653
<S>  New H69:  current_byte >= - 2147483654
-S-  Applied substitution rule create_respo_rules(44).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H47:  true
<S>  New H53:  true
<S>  New H28:  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 H44:  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(45).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H48:  true
<S>  New H54:  true
<S>  New H28:  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 H44:  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(51).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H14:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H20:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H22:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H24:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H26:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H29:  answer_count >= 0
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H15:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H21:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H23:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H25:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H27:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H30:  answer_count <= 65535
<S>  New H5:  answer_count <= 65471
<S>  New H31:  answer_count~ <= 65471
-S-  Applied substitution rule create_respo_rules(57).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H16:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H17:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(83).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H18:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H19:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
-S-  Applied substitution rule create_respo_rules(119).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__first by:
          0.
<S>  New H35:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          >= 0
<S>  New H40:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(120).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__last by:
          65535.
<S>  New H36:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          <= 65535
<S>  New H41:  qname_location <= 65535
-S-  Applied substitution rule create_respo_rules(123).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__modulus by:
          65536.
<S>  New H35:  (qname_location + 49152) mod 65536 >= 0
<S>  New H36:  (qname_location + 49152) mod 65536 <= 65535
-S-  Applied substitution rule create_respo_rules(125).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__first by:
          0.
<S>  New H73:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ttlinseconds(fld_inherit(element(returnedarecords, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returnedarecords, [i___1]))) <= 
          unsigned_types__unsigned32__last)
<S>  New H75:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ipv4(element(returnedarecords, [i___1])) and fld_ipv4(element(
          returnedarecords, [i___1])) <= unsigned_types__unsigned32__last)
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__last by:
          4294967295.
<S>  New H73:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ttlinseconds(fld_inherit(element(returnedarecords, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returnedarecords, [i___1]))) <= 
          4294967295)
<S>  New H75:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ipv4(element(returnedarecords, [i___1])) and fld_ipv4(element(
          returnedarecords, [i___1])) <= 4294967295)
-S-  Applied substitution rule create_respo_rules(131).
     This was achieved by replacing all occurrences of 
          rr_type__classtype__first by:
          rr_type__internet.
<S>  New H74:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__internet <= fld_class(fld_inherit(element(returnedarecords, [
          i___1]))) and fld_class(fld_inherit(element(returnedarecords, [i___1])
          )) <= rr_type__classtype__last)
-S-  Applied substitution rule create_respo_rules(132).
     This was achieved by replacing all occurrences of rr_type__classtype__last 
          by:
          rr_type__hs.
<S>  New H74:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__internet <= fld_class(fld_inherit(element(returnedarecords, [
          i___1]))) and fld_class(fld_inherit(element(returnedarecords, [i___1])
          )) <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(158).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H11:  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(159).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H11:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 129 -> 0 <= 
          element(domainname, [i___1]) and element(domainname, [i___1]) <= 255)
%%%  Simplified C5 further, to give:
     %%%  C5:  response_counter <= 64
%%%  Simplified C7 further, to give:
     %%%  C7:  response_counter <= 2147483647
***  Proved C2:  current_byte <= 8173
     using hypothesis H7.
***  Proved C3:  current_byte <= 8163
     using hypothesis H7.
***  Proved C9:  response_counter <= 2147483648
     using hypothesis H77.
***  Proved C5:  response_counter <= 64
     using hypotheses H2 & H8.
***  Proved C7:  response_counter <= 2147483647
     using hypothesis H77.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_a_14.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  answer_count = answer_count~
%%%  Simplified H11 on reading formula in, to give:
     %%%  H11:  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 H16 on reading formula in, to give:
     %%%  H16:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H18 on reading formula in, to give:
     %%%  H18:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H28 on reading formula in, to give:
     %%%  H28:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H31 on reading formula in, to give:
     %%%  H31:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
---  Hypothesis H32 has been replaced by "true".  (It is already present, as H3)
          .
%%%  Simplified H44 on reading formula in, to give:
     %%%  H44:  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 H59 has been replaced by "true".  (It is already present, as 
          H47).
---  Hypothesis H60 has been replaced by "true".  (It is already present, as 
          H48).
---  Hypothesis H65 has been replaced by "true".  (It is already present, as 
          H53).
---  Hypothesis H66 has been replaced by "true".  (It is already present, as 
          H54).
---  Hypothesis H71 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H72 has been replaced by "true".  (It is already present, as 
          H34).
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  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(returnedarecords, [i___1]))) and fld_ttlinseconds(fld_inherit(
          element(returnedarecords, [i___1]))) <= 
          unsigned_types__unsigned32__last)
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  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(returnedarecords, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords, [i___1]))) <= 
          rr_type__classtype__last)
%%%  Simplified H75 on reading formula in, to give:
     %%%  H75:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ipv4(element(
          returnedarecords, [i___1])) and fld_ipv4(element(returnedarecords, [
          i___1])) <= unsigned_types__unsigned32__last)
%%%  Simplified H89 on reading formula in, to give:
     %%%  H89:  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 H90 on reading formula in, to give:
     %%%  H90:  fld_header(output_packet__3) = fld_header(output_packet__2)
%%%  Simplified H91 on reading formula in, to give:
     %%%  H91:  output_packet__3 = upf_bytes(output_packet__2, fld_bytes(
          output_packet__3))
---  Hypothesis H92 has been replaced by "true".  (It is already present, as 
          H76).
---  Hypothesis H93 has been replaced by "true".  (It is already present, as 
          H77).
***  Proved C1:  response_counter + 1 >= natural__first
     using hypothesis H76.
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H77:  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 H3:  start_byte <= 8192
<S>  New H7:  current_byte < 8192 - (16 + dns_types__header_bits div 8)
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H7:  current_byte < 8164
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of rr_type__maxnumrecords 
          by:
          64.
<S>  New H5:  answer_count <= dns_types__unsigned_short__last - 64
<S>  New H8:  numfound <= 64
<S>  New H31:  answer_count~ <= dns_types__unsigned_short__last - 64
-S-  Applied substitution rule create_respo_rules(9).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H83:  rr_type__returnedrecordsindextype__first + (response_counter - 1)
           >= - 2147483648
<S>  New H85:  response_counter >= - 2147483647
-S-  Applied substitution rule create_respo_rules(10).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H84:  rr_type__returnedrecordsindextype__first + (response_counter - 1)
           <= 2147483647
<S>  New H86:  response_counter <= 2147483648
-S-  Applied substitution rule create_respo_rules(12).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H11:  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(13).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H11:  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(17).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H76:  response_counter >= 0
-S-  Applied substitution rule create_respo_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H12:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H13:  qname_location <= 16383
-S-  Applied substitution rule create_respo_rules(38).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H9:  start_byte >= 1
<S>  New H28:  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 H33:  current_byte >= 1
<S>  New H37:  current_byte >= 0
<S>  New H44:  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 H49:  current_byte >= - 2
<S>  New H55:  current_byte >= - 3
<S>  New H61:  current_byte >= - 4
<S>  New H67:  current_byte >= - 5
<S>  New H78:  current_byte >= - 6
<S>  New H89:  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-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H10:  start_byte <= 8180
<S>  New H34:  current_byte <= 8180
<S>  New H38:  current_byte <= 8179
<S>  New H39:  current_byte <= 8178
<S>  New H50:  current_byte <= 8177
<S>  New H56:  current_byte <= 8176
<S>  New H62:  current_byte <= 8175
<S>  New H68:  current_byte <= 8174
<S>  New H79:  current_byte <= 8173
<S>  New H80:  current_byte <= 8163
<S>  New H28:  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 H44:  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 H89:  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(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H42:  current_byte >= - 2147483649
<S>  New H51:  current_byte >= - 2147483651
<S>  New H57:  current_byte >= - 2147483652
<S>  New H63:  current_byte >= - 2147483653
<S>  New H69:  current_byte >= - 2147483654
<S>  New H87:  current_byte >= - 2147483655
-S-  Applied substitution rule create_respo_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H43:  current_byte <= 2147483646
<S>  New H52:  current_byte <= 2147483644
<S>  New H58:  current_byte <= 2147483643
<S>  New H64:  current_byte <= 2147483642
<S>  New H70:  current_byte <= 2147483641
<S>  New H88:  current_byte <= 2147483640
-S-  Applied substitution rule create_respo_rules(44).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H47:  true
<S>  New H53:  true
<S>  New H28:  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 H44:  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 H89:  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(45).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H48:  true
<S>  New H54:  true
<S>  New H28:  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 H44:  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 H89:  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(51).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H14:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H20:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H22:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H24:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H26:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H29:  answer_count >= 0
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H15:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H21:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H23:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H25:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H27:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H30:  answer_count <= 65535
<S>  New H5:  answer_count <= 65471
<S>  New H31:  answer_count~ <= 65471
-S-  Applied substitution rule create_respo_rules(57).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H16:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H17:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(83).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H18:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H19:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
-S-  Applied substitution rule create_respo_rules(119).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__first by:
          0.
<S>  New H35:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          >= 0
<S>  New H40:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(120).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__last by:
          65535.
<S>  New H36:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          <= 65535
<S>  New H41:  qname_location <= 65535
-S-  Applied substitution rule create_respo_rules(123).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__modulus by:
          65536.
<S>  New H35:  (qname_location + 49152) mod 65536 >= 0
<S>  New H36:  (qname_location + 49152) mod 65536 <= 65535
-S-  Applied substitution rule create_respo_rules(125).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__first by:
          0.
<S>  New H73:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returnedarecords, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(returnedarecords, [i___1]))) <= 
          unsigned_types__unsigned32__last)
<S>  New H75:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ipv4(element(
          returnedarecords, [i___1])) and fld_ipv4(element(returnedarecords, [
          i___1])) <= unsigned_types__unsigned32__last)
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__last by:
          4294967295.
<S>  New H73:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returnedarecords, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(returnedarecords, [i___1]))) <= 4294967295)
<S>  New H75:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ipv4(element(
          returnedarecords, [i___1])) and fld_ipv4(element(returnedarecords, [
          i___1])) <= 4294967295)
-S-  Applied substitution rule create_respo_rules(131).
     This was achieved by replacing all occurrences of 
          rr_type__classtype__first by:
          rr_type__internet.
<S>  New H74:  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(returnedarecords, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords, [i___1]))) <= 
          rr_type__classtype__last)
-S-  Applied substitution rule create_respo_rules(132).
     This was achieved by replacing all occurrences of rr_type__classtype__last 
          by:
          rr_type__hs.
<S>  New H74:  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(returnedarecords, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords, [i___1]))) <= 
          rr_type__hs)
-S-  Applied substitution rule create_respo_rules(158).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H11:  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(159).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H11:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 129 -> 0 <= 
          element(domainname, [i___1]) and element(domainname, [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(165).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__first by:
          1.
<S>  New H81:  response_counter - 1 >= 0
<S>  New H82:  1 + (response_counter - 1) <= 
          rr_type__returnedrecordsindextype__last
<S>  New H83:  response_counter - 1 >= - 2147483649
<S>  New H84:  response_counter - 1 <= 2147483646
<S>  New H73:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returnedarecords, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(returnedarecords, [i___1]))) <= 4294967295)
<S>  New H75:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ipv4(element(
          returnedarecords, [i___1])) and fld_ipv4(element(returnedarecords, [
          i___1])) <= 4294967295)
<S>  New H74:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(returnedarecords, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords, [i___1]))) <= 
          rr_type__hs)
-S-  Applied substitution rule create_respo_rules(166).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New H82:  response_counter - 1 <= 63
<S>  New H73:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ttlinseconds(fld_inherit(element(returnedarecords, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returnedarecords, [i___1]))) <= 
          4294967295)
<S>  New H75:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ipv4(element(returnedarecords, [i___1])) and fld_ipv4(element(
          returnedarecords, [i___1])) <= 4294967295)
<S>  New H74:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__internet <= fld_class(fld_inherit(element(returnedarecords, [
          i___1]))) and fld_class(fld_inherit(element(returnedarecords, [i___1])
          )) <= rr_type__hs)
%%%  Simplified H81 further, to give:
     %%%  H81:  response_counter >= 1
%%%  Simplified H82 further, to give:
     %%%  H82:  response_counter <= 64
%%%  Simplified H83 further, to give:
     %%%  H83:  response_counter >= - 2147483648
%%%  Simplified H84 further, to give:
     %%%  H84:  response_counter <= 2147483647
***  Proved C2:  response_counter <= 2147483646
     using hypothesis H82.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_a_15.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  answer_count = answer_count~
%%%  Simplified H11 on reading formula in, to give:
     %%%  H11:  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 H16 on reading formula in, to give:
     %%%  H16:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H18 on reading formula in, to give:
     %%%  H18:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H28 on reading formula in, to give:
     %%%  H28:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H31 on reading formula in, to give:
     %%%  H31:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
---  Hypothesis H32 has been replaced by "true".  (It is already present, as H3)
          .
%%%  Simplified H44 on reading formula in, to give:
     %%%  H44:  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 H59 has been replaced by "true".  (It is already present, as 
          H47).
---  Hypothesis H60 has been replaced by "true".  (It is already present, as 
          H48).
---  Hypothesis H65 has been replaced by "true".  (It is already present, as 
          H53).
---  Hypothesis H66 has been replaced by "true".  (It is already present, as 
          H54).
---  Hypothesis H71 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H72 has been replaced by "true".  (It is already present, as 
          H34).
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  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(returnedarecords, [i___1]))) and fld_ttlinseconds(fld_inherit(
          element(returnedarecords, [i___1]))) <= 
          unsigned_types__unsigned32__last)
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  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(returnedarecords, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords, [i___1]))) <= 
          rr_type__classtype__last)
%%%  Simplified H75 on reading formula in, to give:
     %%%  H75:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ipv4(element(
          returnedarecords, [i___1])) and fld_ipv4(element(returnedarecords, [
          i___1])) <= unsigned_types__unsigned32__last)
%%%  Simplified H89 on reading formula in, to give:
     %%%  H89:  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 H90 on reading formula in, to give:
     %%%  H90:  fld_header(output_packet__3) = fld_header(output_packet__2)
%%%  Simplified H91 on reading formula in, to give:
     %%%  H91:  output_packet__3 = upf_bytes(output_packet__2, fld_bytes(
          output_packet__3))
---  Hypothesis H92 has been replaced by "true".  (It is already present, as 
          H76).
---  Hypothesis H93 has been replaced by "true".  (It is already present, as 
          H77).
---  Hypothesis H96 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H97 has been replaced by "true".  (It is already present, as 
          H34).
***  Proved C1:  current_byte + 16 >= dns_types__packet_bytes_range__first
     using hypothesis H33.
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H10:  start_byte <= 8180
<S>  New H28:  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 H34:  current_byte <= 8180
<S>  New H38:  current_byte <= 8179
<S>  New H39:  current_byte <= 8178
<S>  New H44:  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 H50:  current_byte <= 8177
<S>  New H56:  current_byte <= 8176
<S>  New H62:  current_byte <= 8175
<S>  New H68:  current_byte <= 8174
<S>  New H79:  current_byte <= 8173
<S>  New H80:  current_byte <= 8163
<S>  New H89:  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 <= 8164
***  Proved C2:  current_byte <= 8164
     using hypothesis H80.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_a_16.  @@@@@@@@@@
%%%  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)
%%%  Simplified H25 on reading formula in, to give:
     %%%  H25:  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(returnedarecords__1, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(returnedarecords__1, [i___1]))) <= 
          unsigned_types__unsigned32__last)
%%%  Simplified H26 on reading formula in, to give:
     %%%  H26:  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(returnedarecords__1, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords__1, [i___1]))) <= 
          rr_type__classtype__last)
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ipv4(element(
          returnedarecords__1, [i___1])) and fld_ipv4(element(
          returnedarecords__1, [i___1])) <= unsigned_types__unsigned32__last)
---  Hypothesis H32 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H33 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H34 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H35 has been replaced by "true".  (It is already present, as 
          H31).
---  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 H41 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H42 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H43 has been replaced by "true".  (It is already present, as 
          H37).
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H38).
%%%  Simplified H51 on reading formula in, to give:
     %%%  H51:  true
---  Hypothesis H55 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H56 has been replaced by "true".  (It is already present, as H4)
          .
%%%  Simplified C11 on reading formula in, to give:
     %%%  C11:  true
***  Proved C9:  dns_types__header_bits div 8 >= system__min_int
     using hypothesis H49.
***  Proved C10:  dns_types__header_bits div 8 <= system__max_int
     using hypothesis H50.
***  Proved C11:  true
-S-  Applied substitution rule create_respo_rules(33).
     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(34).
     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(40).
     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(41).
     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(38).
     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(39).
     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
>>>  Restructured hypothesis H54 into:
     >>>  H54:  numfound__1 < 1 or dns_types__packet_size - (16 + 
          dns_types__header_bits div 8) <= 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 H2:  start_byte <= 8192
<S>  New H45:  8192 - (16 + dns_types__header_bits div 8) >= system__min_int
<S>  New H46:  8192 - (16 + dns_types__header_bits div 8) <= system__max_int
<S>  New H54:  numfound__1 < 1 or 8192 - (16 + dns_types__header_bits div 8) <= 
          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 H47:  28 >= system__min_int
<S>  New H48:  28 <= system__max_int
<S>  New H49:  12 >= system__min_int
<S>  New H50:  12 <= system__max_int
<S>  New H45:  8164 >= system__min_int
<S>  New H46:  8164 <= system__max_int
<S>  New H54:  numfound__1 < 1 or 8164 <= 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-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of rr_type__maxnumrecords 
          by:
          64.
<S>  New H1:  answer_count <= dns_types__unsigned_short__last - 64
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H47:  true
<S>  New H49:  true
<S>  New H45:  true
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H48:  true
<S>  New H50:  true
<S>  New H46:  true
-S-  Applied substitution rule create_respo_rules(7).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H52:  start_byte >= - 2147483648
-S-  Applied substitution rule create_respo_rules(8).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H53:  start_byte <= 2147483647
-S-  Applied substitution rule create_respo_rules(12).
     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-  Applied substitution rule create_respo_rules(13).
     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-  Applied substitution rule create_respo_rules(17).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H30:  numfound__1 >= 0
<S>  New H37:  true
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H31:  numfound__1 <= 2147483647
<S>  New H38:  true
-S-  Applied substitution rule create_respo_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H6:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H7:  qname_location <= 16383
-S-  Applied substitution rule create_respo_rules(44).
     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(45).
     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(51).
     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(52).
     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 H1:  answer_count <= 65471
-S-  Applied substitution rule create_respo_rules(57).
     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(58).
     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(83).
     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(84).
     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(125).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__first by:
          0.
<S>  New H25:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returnedarecords__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returnedarecords__1, [i___1]))) 
          <= unsigned_types__unsigned32__last)
<S>  New H27:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ipv4(element(
          returnedarecords__1, [i___1])) and fld_ipv4(element(
          returnedarecords__1, [i___1])) <= unsigned_types__unsigned32__last)
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__last by:
          4294967295.
<S>  New H25:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returnedarecords__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returnedarecords__1, [i___1]))) 
          <= 4294967295)
<S>  New H27:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ipv4(element(
          returnedarecords__1, [i___1])) and fld_ipv4(element(
          returnedarecords__1, [i___1])) <= 4294967295)
-S-  Applied substitution rule create_respo_rules(131).
     This was achieved by replacing all occurrences of 
          rr_type__classtype__first by:
          rr_type__internet.
<S>  New H26:  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(returnedarecords__1, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords__1, [i___1]))) <= 
          rr_type__classtype__last)
-S-  Applied substitution rule create_respo_rules(132).
     This was achieved by replacing all occurrences of rr_type__classtype__last 
          by:
          rr_type__hs.
<S>  New H26:  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(returnedarecords__1, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords__1, [i___1]))) <= 
          rr_type__hs)
-S-  Applied substitution rule create_respo_rules(158).
     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-  Applied substitution rule create_respo_rules(159).
     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-  Applied substitution rule create_respo_rules(165).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__first by:
          1.
<S>  New H25:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returnedarecords__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returnedarecords__1, [i___1]))) 
          <= 4294967295)
<S>  New H27:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ipv4(element(
          returnedarecords__1, [i___1])) and fld_ipv4(element(
          returnedarecords__1, [i___1])) <= 4294967295)
<S>  New H26:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(returnedarecords__1, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords__1, [i___1]))) <= 
          rr_type__hs)
-S-  Applied substitution rule create_respo_rules(166).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New H25:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ttlinseconds(fld_inherit(element(returnedarecords__1, [i___1]))) 
          and fld_ttlinseconds(fld_inherit(element(returnedarecords__1, [i___1])
          )) <= 4294967295)
<S>  New H27:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ipv4(element(returnedarecords__1, [i___1])) and fld_ipv4(element(
          returnedarecords__1, [i___1])) <= 4294967295)
<S>  New H26:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__internet <= fld_class(fld_inherit(element(
          returnedarecords__1, [i___1]))) and fld_class(fld_inherit(element(
          returnedarecords__1, [i___1]))) <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(170).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__first by:
          0.
<S>  New H28:  numfound__1 >= 0
-S-  Applied substitution rule create_respo_rules(171).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__last by:
          64.
<S>  New H29:  numfound__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 VC.


@@@@@@@@@@  VC: procedure_create_response_a_17.  @@@@@@@@@@
%%%  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)
%%%  Simplified H25 on reading formula in, to give:
     %%%  H25:  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(returnedarecords__1, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(returnedarecords__1, [i___1]))) <= 
          unsigned_types__unsigned32__last)
%%%  Simplified H26 on reading formula in, to give:
     %%%  H26:  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(returnedarecords__1, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords__1, [i___1]))) <= 
          rr_type__classtype__last)
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ipv4(element(
          returnedarecords__1, [i___1])) and fld_ipv4(element(
          returnedarecords__1, [i___1])) <= unsigned_types__unsigned32__last)
---  Hypothesis H32 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H33 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H34 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H35 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H37 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H38 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(33).
     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(34).
     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(40).
     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(41).
     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(38).
     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(39).
     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(4).
     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(5).
     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 H36 into:
     >>>  H36:  numfound__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 H2:  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(3).
     This was achieved by replacing all occurrences of rr_type__maxnumrecords 
          by:
          64.
<S>  New H1:  answer_count <= dns_types__unsigned_short__last - 64
-S-  Applied substitution rule create_respo_rules(12).
     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-  Applied substitution rule create_respo_rules(13).
     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-  Applied substitution rule create_respo_rules(17).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H30:  numfound__1 >= 0
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H31:  numfound__1 <= 2147483647
-S-  Applied substitution rule create_respo_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H6:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H7:  qname_location <= 16383
-S-  Applied substitution rule create_respo_rules(44).
     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(45).
     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(51).
     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(52).
     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 H1:  answer_count <= 65471
-S-  Applied substitution rule create_respo_rules(57).
     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(58).
     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(83).
     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(84).
     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(125).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__first by:
          0.
<S>  New H25:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returnedarecords__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returnedarecords__1, [i___1]))) 
          <= unsigned_types__unsigned32__last)
<S>  New H27:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ipv4(element(
          returnedarecords__1, [i___1])) and fld_ipv4(element(
          returnedarecords__1, [i___1])) <= unsigned_types__unsigned32__last)
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__last by:
          4294967295.
<S>  New H25:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returnedarecords__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returnedarecords__1, [i___1]))) 
          <= 4294967295)
<S>  New H27:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ipv4(element(
          returnedarecords__1, [i___1])) and fld_ipv4(element(
          returnedarecords__1, [i___1])) <= 4294967295)
-S-  Applied substitution rule create_respo_rules(131).
     This was achieved by replacing all occurrences of 
          rr_type__classtype__first by:
          rr_type__internet.
<S>  New H26:  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(returnedarecords__1, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords__1, [i___1]))) <= 
          rr_type__classtype__last)
-S-  Applied substitution rule create_respo_rules(132).
     This was achieved by replacing all occurrences of rr_type__classtype__last 
          by:
          rr_type__hs.
<S>  New H26:  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(returnedarecords__1, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords__1, [i___1]))) <= 
          rr_type__hs)
-S-  Applied substitution rule create_respo_rules(158).
     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-  Applied substitution rule create_respo_rules(159).
     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-  Applied substitution rule create_respo_rules(165).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__first by:
          1.
<S>  New H25:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returnedarecords__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returnedarecords__1, [i___1]))) 
          <= 4294967295)
<S>  New H27:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ipv4(element(
          returnedarecords__1, [i___1])) and fld_ipv4(element(
          returnedarecords__1, [i___1])) <= 4294967295)
<S>  New H26:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(returnedarecords__1, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords__1, [i___1]))) <= 
          rr_type__hs)
-S-  Applied substitution rule create_respo_rules(166).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New H25:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ttlinseconds(fld_inherit(element(returnedarecords__1, [i___1]))) 
          and fld_ttlinseconds(fld_inherit(element(returnedarecords__1, [i___1])
          )) <= 4294967295)
<S>  New H27:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ipv4(element(returnedarecords__1, [i___1])) and fld_ipv4(element(
          returnedarecords__1, [i___1])) <= 4294967295)
<S>  New H26:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__internet <= fld_class(fld_inherit(element(
          returnedarecords__1, [i___1]))) and fld_class(fld_inherit(element(
          returnedarecords__1, [i___1]))) <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(170).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__first by:
          0.
<S>  New H28:  numfound__1 >= 0
-S-  Applied substitution rule create_respo_rules(171).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__last by:
          64.
<S>  New H29:  numfound__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_a_18.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  answer_count = answer_count~
%%%  Simplified H11 on reading formula in, to give:
     %%%  H11:  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 H16 on reading formula in, to give:
     %%%  H16:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H18 on reading formula in, to give:
     %%%  H18:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H28 on reading formula in, to give:
     %%%  H28:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H31 on reading formula in, to give:
     %%%  H31:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
---  Hypothesis H32 has been replaced by "true".  (It is already present, as H3)
          .
%%%  Simplified H44 on reading formula in, to give:
     %%%  H44:  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 H59 has been replaced by "true".  (It is already present, as 
          H47).
---  Hypothesis H60 has been replaced by "true".  (It is already present, as 
          H48).
---  Hypothesis H65 has been replaced by "true".  (It is already present, as 
          H53).
---  Hypothesis H66 has been replaced by "true".  (It is already present, as 
          H54).
---  Hypothesis H71 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H72 has been replaced by "true".  (It is already present, as 
          H34).
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  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(returnedarecords, [i___1]))) and fld_ttlinseconds(fld_inherit(
          element(returnedarecords, [i___1]))) <= 
          unsigned_types__unsigned32__last)
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  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(returnedarecords, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords, [i___1]))) <= 
          rr_type__classtype__last)
%%%  Simplified H75 on reading formula in, to give:
     %%%  H75:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ipv4(element(
          returnedarecords, [i___1])) and fld_ipv4(element(returnedarecords, [
          i___1])) <= unsigned_types__unsigned32__last)
%%%  Simplified H89 on reading formula in, to give:
     %%%  H89:  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 H90 on reading formula in, to give:
     %%%  H90:  fld_header(output_packet__3) = fld_header(output_packet__2)
%%%  Simplified H91 on reading formula in, to give:
     %%%  H91:  output_packet__3 = upf_bytes(output_packet__2, fld_bytes(
          output_packet__3))
---  Hypothesis H92 has been replaced by "true".  (It is already present, as 
          H76).
---  Hypothesis H93 has been replaced by "true".  (It is already present, as 
          H77).
---  Hypothesis H96 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H97 has been replaced by "true".  (It is already present, as 
          H34).
---  Hypothesis H100 has been replaced by "true".  (It is already present, as 
          H98).
---  Hypothesis H101 has been replaced by "true".  (It is already present, as 
          H99).
---  Hypothesis H104 has been replaced by "true".  (It is already present, as 
          H94).
---  Hypothesis H105 has been replaced by "true".  (It is already present, as 
          H95).
%%%  Simplified H112 on reading formula in, to give:
     %%%  H112:  true
---  Hypothesis H116 has been replaced by "true".  (It is already present, as 
          H98).
---  Hypothesis H117 has been replaced by "true".  (It is already present, as 
          H99).
%%%  Simplified C11 on reading formula in, to give:
     %%%  C11:  true
***  Proved C9:  dns_types__header_bits div 8 >= system__min_int
     using hypothesis H110.
***  Proved C10:  dns_types__header_bits div 8 <= system__max_int
     using hypothesis H111.
***  Proved C11:  true
-S-  Applied substitution rule create_respo_rules(33).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New C1:  current_byte + 16 + dns_types__header_bits div 8 >= 0
<S>  New C3:  current_byte + 16 + dns_types__header_bits div 8 >= 0
-S-  Applied substitution rule create_respo_rules(34).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New C2:  current_byte + 16 + dns_types__header_bits div 8 <= 8192
<S>  New C4:  current_byte + 16 + dns_types__header_bits div 8 <= 8192
-S-  Applied substitution rule create_respo_rules(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H42:  current_byte >= - 2147483649
<S>  New H51:  current_byte >= - 2147483651
<S>  New H57:  current_byte >= - 2147483652
<S>  New H63:  current_byte >= - 2147483653
<S>  New H69:  current_byte >= - 2147483654
<S>  New H87:  current_byte >= - 2147483655
<S>  New C5:  current_byte + 16 + dns_types__header_bits div 8 >= - 2147483648
-S-  Applied substitution rule create_respo_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H43:  current_byte <= 2147483646
<S>  New H52:  current_byte <= 2147483644
<S>  New H58:  current_byte <= 2147483643
<S>  New H64:  current_byte <= 2147483642
<S>  New H70:  current_byte <= 2147483641
<S>  New H88:  current_byte <= 2147483640
<S>  New C6:  current_byte + 16 + dns_types__header_bits div 8 <= 2147483647
-S-  Applied substitution rule create_respo_rules(38).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H9:  start_byte >= 1
<S>  New H28:  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 H33:  current_byte >= 1
<S>  New H37:  current_byte >= 0
<S>  New H44:  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 H49:  current_byte >= - 2
<S>  New H55:  current_byte >= - 3
<S>  New H61:  current_byte >= - 4
<S>  New H67:  current_byte >= - 5
<S>  New H78:  current_byte >= - 6
<S>  New H89:  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 H98:  current_byte >= - 15
<S>  New C7:  dns_types__header_bits div 8 >= 1
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H10:  start_byte <= 8180
<S>  New H34:  current_byte <= 8180
<S>  New H38:  current_byte <= 8179
<S>  New H39:  current_byte <= 8178
<S>  New H50:  current_byte <= 8177
<S>  New H56:  current_byte <= 8176
<S>  New H62:  current_byte <= 8175
<S>  New H68:  current_byte <= 8174
<S>  New H79:  current_byte <= 8173
<S>  New H80:  current_byte <= 8163
<S>  New H99:  current_byte <= 8164
<S>  New H28:  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 H44:  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 H89:  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 C8:  dns_types__header_bits div 8 <= 8180
>>>  Restructured hypothesis H115 into:
     >>>  H115:  numfound < response_counter + 1 or dns_types__packet_size - (
          16 + dns_types__header_bits div 8) <= current_byte + 16
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H3:  start_byte <= 8192
<S>  New H7:  current_byte < 8192 - (16 + dns_types__header_bits div 8)
<S>  New H106:  8192 - (16 + dns_types__header_bits div 8) >= system__min_int
<S>  New H107:  8192 - (16 + dns_types__header_bits div 8) <= system__max_int
<S>  New H115:  numfound < response_counter + 1 or 8192 - (16 + 
          dns_types__header_bits div 8) <= current_byte + 16
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H108:  28 >= system__min_int
<S>  New H109:  28 <= system__max_int
<S>  New H110:  12 >= system__min_int
<S>  New H111:  12 <= system__max_int
<S>  New H7:  current_byte < 8164
<S>  New H106:  8164 >= system__min_int
<S>  New H107:  8164 <= system__max_int
<S>  New H115:  numfound < response_counter + 1 or 8148 <= current_byte
<S>  New C1:  current_byte + 16 >= - 12
<S>  New C3:  current_byte + 16 >= - 12
<S>  New C2:  current_byte + 16 <= 8180
<S>  New C4:  current_byte + 16 <= 8180
<S>  New C5:  current_byte + 16 >= - 2147483660
<S>  New C6:  current_byte + 16 <= 2147483635
<S>  New C7:  true
<S>  New C8:  true
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of rr_type__maxnumrecords 
          by:
          64.
<S>  New H5:  answer_count <= dns_types__unsigned_short__last - 64
<S>  New H8:  numfound <= 64
<S>  New H31:  answer_count~ <= dns_types__unsigned_short__last - 64
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H108:  true
<S>  New H110:  true
<S>  New H106:  true
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H109:  true
<S>  New H111:  true
<S>  New H107:  true
-S-  Applied substitution rule create_respo_rules(7).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H113:  current_byte >= - 2147483664
-S-  Applied substitution rule create_respo_rules(8).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H114:  current_byte <= 2147483631
-S-  Applied substitution rule create_respo_rules(9).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H83:  rr_type__returnedrecordsindextype__first + (response_counter - 1)
           >= - 2147483648
<S>  New H85:  response_counter >= - 2147483647
-S-  Applied substitution rule create_respo_rules(10).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H84:  rr_type__returnedrecordsindextype__first + (response_counter - 1)
           <= 2147483647
<S>  New H86:  response_counter <= 2147483648
-S-  Applied substitution rule create_respo_rules(12).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H11:  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(13).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H11:  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(17).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H76:  response_counter >= 0
<S>  New H94:  response_counter >= - 1
<S>  New H102:  numfound >= 0
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H77:  response_counter <= 2147483647
<S>  New H95:  response_counter <= 2147483646
<S>  New H103:  numfound <= 2147483647
-S-  Applied substitution rule create_respo_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H12:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H13:  qname_location <= 16383
-S-  Applied substitution rule create_respo_rules(44).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H28:  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 H44:  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 H47:  true
<S>  New H53:  true
<S>  New H89:  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(45).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H48:  true
<S>  New H54:  true
<S>  New H28:  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 H44:  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 H89:  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(51).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H14:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H20:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H22:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H24:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H26:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H29:  answer_count >= 0
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H15:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H21:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H23:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H25:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H27:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H30:  answer_count <= 65535
<S>  New H5:  answer_count <= 65471
<S>  New H31:  answer_count~ <= 65471
-S-  Applied substitution rule create_respo_rules(57).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H16:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H17:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(83).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H18:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H19:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
-S-  Applied substitution rule create_respo_rules(119).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__first by:
          0.
<S>  New H35:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          >= 0
<S>  New H40:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(120).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__last by:
          65535.
<S>  New H36:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          <= 65535
<S>  New H41:  qname_location <= 65535
-S-  Applied substitution rule create_respo_rules(123).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__modulus by:
          65536.
<S>  New H35:  (qname_location + 49152) mod 65536 >= 0
<S>  New H36:  (qname_location + 49152) mod 65536 <= 65535
-S-  Applied substitution rule create_respo_rules(125).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__first by:
          0.
<S>  New H73:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returnedarecords, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(returnedarecords, [i___1]))) <= 
          unsigned_types__unsigned32__last)
<S>  New H75:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ipv4(element(
          returnedarecords, [i___1])) and fld_ipv4(element(returnedarecords, [
          i___1])) <= unsigned_types__unsigned32__last)
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__last by:
          4294967295.
<S>  New H73:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returnedarecords, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(returnedarecords, [i___1]))) <= 4294967295)
<S>  New H75:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ipv4(element(
          returnedarecords, [i___1])) and fld_ipv4(element(returnedarecords, [
          i___1])) <= 4294967295)
-S-  Applied substitution rule create_respo_rules(131).
     This was achieved by replacing all occurrences of 
          rr_type__classtype__first by:
          rr_type__internet.
<S>  New H74:  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(returnedarecords, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords, [i___1]))) <= 
          rr_type__classtype__last)
-S-  Applied substitution rule create_respo_rules(132).
     This was achieved by replacing all occurrences of rr_type__classtype__last 
          by:
          rr_type__hs.
<S>  New H74:  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(returnedarecords, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords, [i___1]))) <= 
          rr_type__hs)
-S-  Applied substitution rule create_respo_rules(158).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H11:  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(159).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H11:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 129 -> 0 <= 
          element(domainname, [i___1]) and element(domainname, [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(165).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__first by:
          1.
<S>  New H81:  response_counter - 1 >= 0
<S>  New H82:  1 + (response_counter - 1) <= 
          rr_type__returnedrecordsindextype__last
<S>  New H83:  response_counter - 1 >= - 2147483649
<S>  New H84:  response_counter - 1 <= 2147483646
<S>  New H73:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returnedarecords, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(returnedarecords, [i___1]))) <= 4294967295)
<S>  New H75:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ipv4(element(
          returnedarecords, [i___1])) and fld_ipv4(element(returnedarecords, [
          i___1])) <= 4294967295)
<S>  New H74:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(returnedarecords, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords, [i___1]))) <= 
          rr_type__hs)
-S-  Applied substitution rule create_respo_rules(166).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New H82:  response_counter - 1 <= 63
<S>  New H73:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ttlinseconds(fld_inherit(element(returnedarecords, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returnedarecords, [i___1]))) <= 
          4294967295)
<S>  New H75:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ipv4(element(returnedarecords, [i___1])) and fld_ipv4(element(
          returnedarecords, [i___1])) <= 4294967295)
<S>  New H74:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__internet <= fld_class(fld_inherit(element(returnedarecords, [
          i___1]))) and fld_class(fld_inherit(element(returnedarecords, [i___1])
          )) <= rr_type__hs)
%%%  Simplified H81 further, to give:
     %%%  H81:  response_counter >= 1
%%%  Simplified H82 further, to give:
     %%%  H82:  response_counter <= 64
%%%  Simplified H83 further, to give:
     %%%  H83:  response_counter >= - 2147483648
%%%  Simplified H84 further, to give:
     %%%  H84:  response_counter <= 2147483647
%%%  Simplified C1 further, to give:
     %%%  C1:  current_byte >= - 28
%%%  Simplified C2 further, to give:
     %%%  C2:  current_byte <= 8164
%%%  Simplified C3 further, to give:
     %%%  C3:  current_byte >= - 28
%%%  Simplified C4 further, to give:
     %%%  C4:  current_byte <= 8164
%%%  Simplified C5 further, to give:
     %%%  C5:  current_byte >= - 2147483676
%%%  Simplified C6 further, to give:
     %%%  C6:  current_byte <= 2147483619
***  Proved C7:  true
***  Proved C8:  true
***  Proved C1:  current_byte >= - 28
     using hypothesis H33.
***  Proved C2:  current_byte <= 8164
     using hypothesis H99.
***  Proved C3:  current_byte >= - 28
     using hypothesis H33.
***  Proved C4:  current_byte <= 8164
     using hypothesis H99.
***  Proved C5:  current_byte >= - 2147483676
     using hypothesis H33.
***  Proved C6:  current_byte <= 2147483619
     using hypothesis H7.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_a_19.  @@@@@@@@@@
%%%  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)
%%%  Simplified H25 on reading formula in, to give:
     %%%  H25:  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(returnedarecords__1, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(returnedarecords__1, [i___1]))) <= 
          unsigned_types__unsigned32__last)
%%%  Simplified H26 on reading formula in, to give:
     %%%  H26:  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(returnedarecords__1, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords__1, [i___1]))) <= 
          rr_type__classtype__last)
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ipv4(element(
          returnedarecords__1, [i___1])) and fld_ipv4(element(
          returnedarecords__1, [i___1])) <= unsigned_types__unsigned32__last)
---  Hypothesis H32 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H33 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H34 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H35 has been replaced by "true".  (It is already present, as 
          H31).
---  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 H41 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H42 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H43 has been replaced by "true".  (It is already present, as 
          H37).
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H38).
%%%  Simplified H51 on reading formula in, to give:
     %%%  H51:  true
---  Hypothesis H55 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H56 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H59 has been replaced by "true".  (It is already present, as 
          H57).
---  Hypothesis H60 has been replaced by "true".  (It is already present, as 
          H58).
---  Hypothesis H65 has been replaced by "true".  (It is already present, as 
          H49).
---  Hypothesis H66 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H69 has been replaced by "true".  (It is already present, as 
          H31).
***  Proved C1:  answer_count + numfound__1 >= dns_types__unsigned_short__first
     using hypotheses H23 & H36.
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H1:  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 + numfound__1 <= 65535
<S>  New C4:  numfound__1 <= 65535
-S-  Applied substitution rule create_respo_rules(51).
     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:  numfound__1 >= 0
***  Proved C3:  numfound__1 >= 0
     using hypothesis H36.
>>>  Restructured hypothesis H54 into:
     >>>  H54:  numfound__1 < 1 or dns_types__packet_size - (16 + 
          dns_types__header_bits div 8) <= 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 H2:  start_byte <= 8192
<S>  New H45:  8192 - (16 + dns_types__header_bits div 8) >= system__min_int
<S>  New H46:  8192 - (16 + dns_types__header_bits div 8) <= system__max_int
<S>  New H54:  numfound__1 < 1 or 8192 - (16 + dns_types__header_bits div 8) <= 
          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 H47:  28 >= system__min_int
<S>  New H48:  28 <= system__max_int
<S>  New H49:  12 >= system__min_int
<S>  New H50:  12 <= system__max_int
<S>  New H57:  start_byte + 12 >= dns_types__packet_length_range__first
<S>  New H58:  start_byte + 12 <= dns_types__packet_length_range__last
<S>  New H61:  start_byte + 12 >= dns_types__packet_bytes_range__base__first
<S>  New H62:  start_byte + 12 <= dns_types__packet_bytes_range__base__last
<S>  New H63:  12 >= dns_types__packet_bytes_range__first
<S>  New H64:  12 <= dns_types__packet_bytes_range__last
<S>  New H45:  8164 >= system__min_int
<S>  New H46:  8164 <= system__max_int
<S>  New H54:  numfound__1 < 1 or 8164 <= start_byte
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of rr_type__maxnumrecords 
          by:
          64.
<S>  New H1:  answer_count <= 65471
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H47:  true
<S>  New H49:  true
<S>  New H45:  true
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H48:  true
<S>  New H50:  true
<S>  New H46:  true
-S-  Applied substitution rule create_respo_rules(7).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H52:  start_byte >= - 2147483648
-S-  Applied substitution rule create_respo_rules(8).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H53:  start_byte <= 2147483647
-S-  Applied substitution rule create_respo_rules(12).
     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-  Applied substitution rule create_respo_rules(13).
     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-  Applied substitution rule create_respo_rules(17).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H30:  numfound__1 >= 0
<S>  New H37:  true
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H31:  numfound__1 <= 2147483647
<S>  New H38:  true
-S-  Applied substitution rule create_respo_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H6:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H7:  qname_location <= 16383
-S-  Applied substitution rule create_respo_rules(33).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H57:  start_byte >= - 12
-S-  Applied substitution rule create_respo_rules(34).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H58:  start_byte <= 8180
-S-  Applied substitution rule create_respo_rules(38).
     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 H63:  true
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H4:  start_byte <= 8180
<S>  New H64:  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(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H61:  start_byte >= - 2147483660
-S-  Applied substitution rule create_respo_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H62:  start_byte <= 2147483635
-S-  Applied substitution rule create_respo_rules(44).
     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(45).
     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(57).
     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(58).
     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(83).
     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(84).
     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(125).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__first by:
          0.
<S>  New H25:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returnedarecords__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returnedarecords__1, [i___1]))) 
          <= unsigned_types__unsigned32__last)
<S>  New H27:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ipv4(element(
          returnedarecords__1, [i___1])) and fld_ipv4(element(
          returnedarecords__1, [i___1])) <= unsigned_types__unsigned32__last)
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__last by:
          4294967295.
<S>  New H25:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returnedarecords__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returnedarecords__1, [i___1]))) 
          <= 4294967295)
<S>  New H27:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ipv4(element(
          returnedarecords__1, [i___1])) and fld_ipv4(element(
          returnedarecords__1, [i___1])) <= 4294967295)
-S-  Applied substitution rule create_respo_rules(131).
     This was achieved by replacing all occurrences of 
          rr_type__classtype__first by:
          rr_type__internet.
<S>  New H26:  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(returnedarecords__1, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords__1, [i___1]))) <= 
          rr_type__classtype__last)
-S-  Applied substitution rule create_respo_rules(132).
     This was achieved by replacing all occurrences of rr_type__classtype__last 
          by:
          rr_type__hs.
<S>  New H26:  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(returnedarecords__1, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords__1, [i___1]))) <= 
          rr_type__hs)
-S-  Applied substitution rule create_respo_rules(158).
     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-  Applied substitution rule create_respo_rules(159).
     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-  Applied substitution rule create_respo_rules(165).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__first by:
          1.
<S>  New H25:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returnedarecords__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returnedarecords__1, [i___1]))) 
          <= 4294967295)
<S>  New H27:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ipv4(element(
          returnedarecords__1, [i___1])) and fld_ipv4(element(
          returnedarecords__1, [i___1])) <= 4294967295)
<S>  New H26:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(returnedarecords__1, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords__1, [i___1]))) <= 
          rr_type__hs)
-S-  Applied substitution rule create_respo_rules(166).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New H25:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ttlinseconds(fld_inherit(element(returnedarecords__1, [i___1]))) 
          and fld_ttlinseconds(fld_inherit(element(returnedarecords__1, [i___1])
          )) <= 4294967295)
<S>  New H27:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ipv4(element(returnedarecords__1, [i___1])) and fld_ipv4(element(
          returnedarecords__1, [i___1])) <= 4294967295)
<S>  New H26:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__internet <= fld_class(fld_inherit(element(
          returnedarecords__1, [i___1]))) and fld_class(fld_inherit(element(
          returnedarecords__1, [i___1]))) <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(170).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__first by:
          0.
<S>  New H28:  numfound__1 >= 0
-S-  Applied substitution rule create_respo_rules(171).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__last by:
          64.
<S>  New H29:  numfound__1 <= 64
***  Proved C2:  answer_count + numfound__1 <= 65535
     using hypotheses H1 & H29.
***  Proved C4:  numfound__1 <= 65535
     using hypothesis H29.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_a_20.  @@@@@@@@@@
%%%  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)
%%%  Simplified H25 on reading formula in, to give:
     %%%  H25:  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(returnedarecords__1, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(returnedarecords__1, [i___1]))) <= 
          unsigned_types__unsigned32__last)
%%%  Simplified H26 on reading formula in, to give:
     %%%  H26:  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(returnedarecords__1, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords__1, [i___1]))) <= 
          rr_type__classtype__last)
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ipv4(element(
          returnedarecords__1, [i___1])) and fld_ipv4(element(
          returnedarecords__1, [i___1])) <= unsigned_types__unsigned32__last)
---  Hypothesis H32 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H33 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H34 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H35 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H37 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H38 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H41 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H42 has been replaced by "true".  (It is already present, as 
          H40).
%%%  Simplified H49 on reading formula in, to give:
     %%%  H49:  true
---  Hypothesis H50 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H51 has been replaced by "true".  (It is already present, as 
          H31).
-S-  Applied substitution rule create_respo_rules(51).
     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 + numfound__1 >= 0
<S>  New C3:  numfound__1 >= 0
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H1:  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 + numfound__1 <= 65535
<S>  New C4:  numfound__1 <= 65535
***  Proved C2:  answer_count + numfound__1 <= 65535
     using hypotheses H24 & H36.
***  Proved C4:  numfound__1 <= 65535
     using hypothesis H36.
>>>  Restructured hypothesis H36 into:
     >>>  H36:  numfound__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 H2:  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 H39:  start_byte + 12 >= dns_types__packet_length_range__first
<S>  New H40:  start_byte + 12 <= dns_types__packet_length_range__last
<S>  New H43:  start_byte + 12 >= dns_types__packet_bytes_range__base__first
<S>  New H44:  start_byte + 12 <= dns_types__packet_bytes_range__base__last
<S>  New H45:  12 >= dns_types__packet_bytes_range__first
<S>  New H46:  12 <= dns_types__packet_bytes_range__last
<S>  New H47:  12 >= system__min_int
<S>  New H48:  12 <= system__max_int
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of rr_type__maxnumrecords 
          by:
          64.
<S>  New H1:  answer_count <= 65471
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H47:  true
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H48:  true
-S-  Applied substitution rule create_respo_rules(12).
     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-  Applied substitution rule create_respo_rules(13).
     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-  Applied substitution rule create_respo_rules(17).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H30:  numfound__1 >= 0
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H31:  numfound__1 <= 2147483647
-S-  Applied substitution rule create_respo_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H6:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H7:  qname_location <= 16383
-S-  Applied substitution rule create_respo_rules(33).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H39:  start_byte >= - 12
-S-  Applied substitution rule create_respo_rules(34).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H40:  start_byte <= 8180
-S-  Applied substitution rule create_respo_rules(38).
     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 H45:  true
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H4:  start_byte <= 8180
<S>  New H46:  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(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H43:  start_byte >= - 2147483660
-S-  Applied substitution rule create_respo_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H44:  start_byte <= 2147483635
-S-  Applied substitution rule create_respo_rules(44).
     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(45).
     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(57).
     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(58).
     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(83).
     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(84).
     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(125).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__first by:
          0.
<S>  New H25:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returnedarecords__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returnedarecords__1, [i___1]))) 
          <= unsigned_types__unsigned32__last)
<S>  New H27:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ipv4(element(
          returnedarecords__1, [i___1])) and fld_ipv4(element(
          returnedarecords__1, [i___1])) <= unsigned_types__unsigned32__last)
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__last by:
          4294967295.
<S>  New H25:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returnedarecords__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returnedarecords__1, [i___1]))) 
          <= 4294967295)
<S>  New H27:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ipv4(element(
          returnedarecords__1, [i___1])) and fld_ipv4(element(
          returnedarecords__1, [i___1])) <= 4294967295)
-S-  Applied substitution rule create_respo_rules(131).
     This was achieved by replacing all occurrences of 
          rr_type__classtype__first by:
          rr_type__internet.
<S>  New H26:  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(returnedarecords__1, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords__1, [i___1]))) <= 
          rr_type__classtype__last)
-S-  Applied substitution rule create_respo_rules(132).
     This was achieved by replacing all occurrences of rr_type__classtype__last 
          by:
          rr_type__hs.
<S>  New H26:  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(returnedarecords__1, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords__1, [i___1]))) <= 
          rr_type__hs)
-S-  Applied substitution rule create_respo_rules(158).
     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-  Applied substitution rule create_respo_rules(159).
     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-  Applied substitution rule create_respo_rules(165).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__first by:
          1.
<S>  New H25:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returnedarecords__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returnedarecords__1, [i___1]))) 
          <= 4294967295)
<S>  New H27:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ipv4(element(
          returnedarecords__1, [i___1])) and fld_ipv4(element(
          returnedarecords__1, [i___1])) <= 4294967295)
<S>  New H26:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(returnedarecords__1, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords__1, [i___1]))) <= 
          rr_type__hs)
-S-  Applied substitution rule create_respo_rules(166).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New H25:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ttlinseconds(fld_inherit(element(returnedarecords__1, [i___1]))) 
          and fld_ttlinseconds(fld_inherit(element(returnedarecords__1, [i___1])
          )) <= 4294967295)
<S>  New H27:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ipv4(element(returnedarecords__1, [i___1])) and fld_ipv4(element(
          returnedarecords__1, [i___1])) <= 4294967295)
<S>  New H26:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__internet <= fld_class(fld_inherit(element(
          returnedarecords__1, [i___1]))) and fld_class(fld_inherit(element(
          returnedarecords__1, [i___1]))) <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(170).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__first by:
          0.
<S>  New H28:  numfound__1 >= 0
-S-  Applied substitution rule create_respo_rules(171).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__last by:
          64.
<S>  New H29:  numfound__1 <= 64
***  Proved C1:  answer_count + numfound__1 >= 0
     using hypotheses H23 & H30.
***  Proved C3:  numfound__1 >= 0
     using hypothesis H30.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_a_21.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  answer_count = answer_count~
%%%  Simplified H11 on reading formula in, to give:
     %%%  H11:  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 H16 on reading formula in, to give:
     %%%  H16:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H18 on reading formula in, to give:
     %%%  H18:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H28 on reading formula in, to give:
     %%%  H28:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H31 on reading formula in, to give:
     %%%  H31:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
---  Hypothesis H32 has been replaced by "true".  (It is already present, as H3)
          .
%%%  Simplified H44 on reading formula in, to give:
     %%%  H44:  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 H59 has been replaced by "true".  (It is already present, as 
          H47).
---  Hypothesis H60 has been replaced by "true".  (It is already present, as 
          H48).
---  Hypothesis H65 has been replaced by "true".  (It is already present, as 
          H53).
---  Hypothesis H66 has been replaced by "true".  (It is already present, as 
          H54).
---  Hypothesis H71 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H72 has been replaced by "true".  (It is already present, as 
          H34).
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  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(returnedarecords, [i___1]))) and fld_ttlinseconds(fld_inherit(
          element(returnedarecords, [i___1]))) <= 
          unsigned_types__unsigned32__last)
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  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(returnedarecords, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords, [i___1]))) <= 
          rr_type__classtype__last)
%%%  Simplified H75 on reading formula in, to give:
     %%%  H75:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ipv4(element(
          returnedarecords, [i___1])) and fld_ipv4(element(returnedarecords, [
          i___1])) <= unsigned_types__unsigned32__last)
%%%  Simplified H89 on reading formula in, to give:
     %%%  H89:  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 H90 on reading formula in, to give:
     %%%  H90:  fld_header(output_packet__3) = fld_header(output_packet__2)
%%%  Simplified H91 on reading formula in, to give:
     %%%  H91:  output_packet__3 = upf_bytes(output_packet__2, fld_bytes(
          output_packet__3))
---  Hypothesis H92 has been replaced by "true".  (It is already present, as 
          H76).
---  Hypothesis H93 has been replaced by "true".  (It is already present, as 
          H77).
---  Hypothesis H96 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H97 has been replaced by "true".  (It is already present, as 
          H34).
---  Hypothesis H100 has been replaced by "true".  (It is already present, as 
          H98).
---  Hypothesis H101 has been replaced by "true".  (It is already present, as 
          H99).
---  Hypothesis H104 has been replaced by "true".  (It is already present, as 
          H94).
---  Hypothesis H105 has been replaced by "true".  (It is already present, as 
          H95).
%%%  Simplified H112 on reading formula in, to give:
     %%%  H112:  true
---  Hypothesis H116 has been replaced by "true".  (It is already present, as 
          H98).
---  Hypothesis H117 has been replaced by "true".  (It is already present, as 
          H99).
---  Hypothesis H120 has been replaced by "true".  (It is already present, as 
          H118).
---  Hypothesis H121 has been replaced by "true".  (It is already present, as 
          H119).
---  Hypothesis H126 has been replaced by "true".  (It is already present, as 
          H110).
---  Hypothesis H127 has been replaced by "true".  (It is already present, as 
          H111).
---  Hypothesis H128 has been replaced by "true".  (It is already present, as 
          H112).
---  Hypothesis H129 has been replaced by "true".  (It is already present, as 
          H102).
---  Hypothesis H130 has been replaced by "true".  (It is already present, as 
          H103).
***  Proved C1:  answer_count + numfound >= dns_types__unsigned_short__first
     using hypotheses H1, H2 & H29.
***  Proved C2:  answer_count + numfound <= dns_types__unsigned_short__last
     using hypotheses H5 & H8.
-S-  Applied substitution rule create_respo_rules(51).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H14:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H20:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H22:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H24:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H26:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H29:  answer_count >= 0
<S>  New C3:  numfound >= 0
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H5:  answer_count <= 65535 - rr_type__maxnumrecords
<S>  New H15:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H21:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H23:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H25:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H27:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H30:  answer_count <= 65535
<S>  New H31:  answer_count~ <= 65535 - rr_type__maxnumrecords
<S>  New C4:  numfound <= 65535
***  Proved C3:  numfound >= 0
     using hypotheses H1 & H2.
>>>  Restructured hypothesis H115 into:
     >>>  H115:  numfound < response_counter + 1 or dns_types__packet_size - (
          16 + dns_types__header_bits div 8) <= current_byte + 16
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H3:  start_byte <= 8192
<S>  New H7:  current_byte < 8192 - (16 + dns_types__header_bits div 8)
<S>  New H106:  8192 - (16 + dns_types__header_bits div 8) >= system__min_int
<S>  New H107:  8192 - (16 + dns_types__header_bits div 8) <= system__max_int
<S>  New H115:  numfound < response_counter + 1 or 8192 - (16 + 
          dns_types__header_bits div 8) <= current_byte + 16
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H108:  28 >= system__min_int
<S>  New H109:  28 <= system__max_int
<S>  New H110:  12 >= system__min_int
<S>  New H111:  12 <= system__max_int
<S>  New H118:  current_byte + 16 + 12 >= dns_types__packet_length_range__first
<S>  New H119:  current_byte + 16 + 12 <= dns_types__packet_length_range__last
<S>  New H122:  current_byte + 16 + 12 >= 
          dns_types__packet_bytes_range__base__first
<S>  New H123:  current_byte + 16 + 12 <= 
          dns_types__packet_bytes_range__base__last
<S>  New H124:  12 >= dns_types__packet_bytes_range__first
<S>  New H125:  12 <= dns_types__packet_bytes_range__last
<S>  New H7:  current_byte < 8164
<S>  New H106:  8164 >= system__min_int
<S>  New H107:  8164 <= system__max_int
<S>  New H115:  numfound < response_counter + 1 or 8148 <= current_byte
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of rr_type__maxnumrecords 
          by:
          64.
<S>  New H5:  answer_count <= 65471
<S>  New H8:  numfound <= 64
<S>  New H31:  answer_count~ <= 65471
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H108:  true
<S>  New H110:  true
<S>  New H106:  true
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H109:  true
<S>  New H111:  true
<S>  New H107:  true
-S-  Applied substitution rule create_respo_rules(7).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H113:  current_byte >= - 2147483664
-S-  Applied substitution rule create_respo_rules(8).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H114:  current_byte <= 2147483631
-S-  Applied substitution rule create_respo_rules(9).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H83:  rr_type__returnedrecordsindextype__first + (response_counter - 1)
           >= - 2147483648
<S>  New H85:  response_counter >= - 2147483647
-S-  Applied substitution rule create_respo_rules(10).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H84:  rr_type__returnedrecordsindextype__first + (response_counter - 1)
           <= 2147483647
<S>  New H86:  response_counter <= 2147483648
-S-  Applied substitution rule create_respo_rules(12).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H11:  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(13).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H11:  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(17).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H76:  response_counter >= 0
<S>  New H94:  response_counter >= - 1
<S>  New H102:  numfound >= 0
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H77:  response_counter <= 2147483647
<S>  New H95:  response_counter <= 2147483646
<S>  New H103:  numfound <= 2147483647
-S-  Applied substitution rule create_respo_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H12:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H13:  qname_location <= 16383
-S-  Applied substitution rule create_respo_rules(33).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H118:  current_byte >= - 28
-S-  Applied substitution rule create_respo_rules(34).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H119:  current_byte <= 8164
-S-  Applied substitution rule create_respo_rules(38).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H9:  start_byte >= 1
<S>  New H28:  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 H33:  current_byte >= 1
<S>  New H37:  current_byte >= 0
<S>  New H44:  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 H49:  current_byte >= - 2
<S>  New H55:  current_byte >= - 3
<S>  New H61:  current_byte >= - 4
<S>  New H67:  current_byte >= - 5
<S>  New H78:  current_byte >= - 6
<S>  New H89:  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 H98:  current_byte >= - 15
<S>  New H124:  true
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H10:  start_byte <= 8180
<S>  New H34:  current_byte <= 8180
<S>  New H38:  current_byte <= 8179
<S>  New H39:  current_byte <= 8178
<S>  New H50:  current_byte <= 8177
<S>  New H56:  current_byte <= 8176
<S>  New H62:  current_byte <= 8175
<S>  New H68:  current_byte <= 8174
<S>  New H79:  current_byte <= 8173
<S>  New H80:  current_byte <= 8163
<S>  New H99:  current_byte <= 8164
<S>  New H125:  true
<S>  New H28:  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 H44:  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 H89:  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(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H42:  current_byte >= - 2147483649
<S>  New H51:  current_byte >= - 2147483651
<S>  New H57:  current_byte >= - 2147483652
<S>  New H63:  current_byte >= - 2147483653
<S>  New H69:  current_byte >= - 2147483654
<S>  New H87:  current_byte >= - 2147483655
<S>  New H122:  current_byte >= - 2147483676
-S-  Applied substitution rule create_respo_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H43:  current_byte <= 2147483646
<S>  New H52:  current_byte <= 2147483644
<S>  New H58:  current_byte <= 2147483643
<S>  New H64:  current_byte <= 2147483642
<S>  New H70:  current_byte <= 2147483641
<S>  New H88:  current_byte <= 2147483640
<S>  New H123:  current_byte <= 2147483619
-S-  Applied substitution rule create_respo_rules(44).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H47:  true
<S>  New H53:  true
<S>  New H28:  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 H44:  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 H89:  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(45).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H48:  true
<S>  New H54:  true
<S>  New H28:  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 H44:  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 H89:  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(57).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H16:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H17:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(83).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H18:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H19:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
-S-  Applied substitution rule create_respo_rules(119).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__first by:
          0.
<S>  New H35:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          >= 0
<S>  New H40:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(120).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__last by:
          65535.
<S>  New H36:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          <= 65535
<S>  New H41:  qname_location <= 65535
-S-  Applied substitution rule create_respo_rules(123).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__modulus by:
          65536.
<S>  New H35:  (qname_location + 49152) mod 65536 >= 0
<S>  New H36:  (qname_location + 49152) mod 65536 <= 65535
-S-  Applied substitution rule create_respo_rules(125).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__first by:
          0.
<S>  New H73:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returnedarecords, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(returnedarecords, [i___1]))) <= 
          unsigned_types__unsigned32__last)
<S>  New H75:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ipv4(element(
          returnedarecords, [i___1])) and fld_ipv4(element(returnedarecords, [
          i___1])) <= unsigned_types__unsigned32__last)
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__last by:
          4294967295.
<S>  New H73:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returnedarecords, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(returnedarecords, [i___1]))) <= 4294967295)
<S>  New H75:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ipv4(element(
          returnedarecords, [i___1])) and fld_ipv4(element(returnedarecords, [
          i___1])) <= 4294967295)
-S-  Applied substitution rule create_respo_rules(131).
     This was achieved by replacing all occurrences of 
          rr_type__classtype__first by:
          rr_type__internet.
<S>  New H74:  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(returnedarecords, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords, [i___1]))) <= 
          rr_type__classtype__last)
-S-  Applied substitution rule create_respo_rules(132).
     This was achieved by replacing all occurrences of rr_type__classtype__last 
          by:
          rr_type__hs.
<S>  New H74:  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(returnedarecords, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords, [i___1]))) <= 
          rr_type__hs)
-S-  Applied substitution rule create_respo_rules(158).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H11:  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(159).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H11:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 129 -> 0 <= 
          element(domainname, [i___1]) and element(domainname, [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(165).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__first by:
          1.
<S>  New H81:  response_counter - 1 >= 0
<S>  New H82:  1 + (response_counter - 1) <= 
          rr_type__returnedrecordsindextype__last
<S>  New H83:  response_counter - 1 >= - 2147483649
<S>  New H84:  response_counter - 1 <= 2147483646
<S>  New H73:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returnedarecords, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(returnedarecords, [i___1]))) <= 4294967295)
<S>  New H75:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ipv4(element(
          returnedarecords, [i___1])) and fld_ipv4(element(returnedarecords, [
          i___1])) <= 4294967295)
<S>  New H74:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(returnedarecords, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords, [i___1]))) <= 
          rr_type__hs)
-S-  Applied substitution rule create_respo_rules(166).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New H82:  response_counter - 1 <= 63
<S>  New H73:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ttlinseconds(fld_inherit(element(returnedarecords, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returnedarecords, [i___1]))) <= 
          4294967295)
<S>  New H75:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ipv4(element(returnedarecords, [i___1])) and fld_ipv4(element(
          returnedarecords, [i___1])) <= 4294967295)
<S>  New H74:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__internet <= fld_class(fld_inherit(element(returnedarecords, [
          i___1]))) and fld_class(fld_inherit(element(returnedarecords, [i___1])
          )) <= rr_type__hs)
%%%  Simplified H81 further, to give:
     %%%  H81:  response_counter >= 1
%%%  Simplified H82 further, to give:
     %%%  H82:  response_counter <= 64
%%%  Simplified H83 further, to give:
     %%%  H83:  response_counter >= - 2147483648
%%%  Simplified H84 further, to give:
     %%%  H84:  response_counter <= 2147483647
***  Proved C4:  numfound <= 65535
     using hypothesis H8.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_a_22.  @@@@@@@@@@
%%%  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)
%%%  Simplified H25 on reading formula in, to give:
     %%%  H25:  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(returnedarecords__1, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(returnedarecords__1, [i___1]))) <= 
          unsigned_types__unsigned32__last)
%%%  Simplified H26 on reading formula in, to give:
     %%%  H26:  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(returnedarecords__1, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords__1, [i___1]))) <= 
          rr_type__classtype__last)
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ipv4(element(
          returnedarecords__1, [i___1])) and fld_ipv4(element(
          returnedarecords__1, [i___1])) <= unsigned_types__unsigned32__last)
---  Hypothesis H32 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H33 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H34 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H35 has been replaced by "true".  (It is already present, as 
          H31).
---  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 H41 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H42 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H43 has been replaced by "true".  (It is already present, as 
          H37).
---  Hypothesis H44 has been replaced by "true".  (It is already present, as 
          H38).
%%%  Simplified H51 on reading formula in, to give:
     %%%  H51:  true
---  Hypothesis H55 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H56 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H59 has been replaced by "true".  (It is already present, as 
          H57).
---  Hypothesis H60 has been replaced by "true".  (It is already present, as 
          H58).
---  Hypothesis H65 has been replaced by "true".  (It is already present, as 
          H49).
---  Hypothesis H66 has been replaced by "true".  (It is already present, as 
          H50).
---  Hypothesis H67 has been replaced by "true".  (It is already present, as 
          H51).
---  Hypothesis H68 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H69 has been replaced by "true".  (It is already present, as 
          H31).
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H2:  start_byte <= 8192
<S>  New H45:  8192 - (16 + dns_types__header_bits div 8) >= system__min_int
<S>  New H46:  8192 - (16 + dns_types__header_bits div 8) <= system__max_int
<S>  New H54:  not (1 <= numfound__1 and start_byte < 8192 - (16 + 
          dns_types__header_bits div 8))
<S>  New C2:  start_byte + dns_types__header_bits div 8 <= 8192
>>>  Restructured hypothesis H54 into:
     >>>  H54:  numfound__1 < 1 or 8192 - (16 + dns_types__header_bits div 8) 
          <= 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 H45:  8164 >= system__min_int
<S>  New H46:  8164 <= system__max_int
<S>  New H47:  28 >= system__min_int
<S>  New H48:  28 <= system__max_int
<S>  New H49:  12 >= system__min_int
<S>  New H50:  12 <= system__max_int
<S>  New H54:  numfound__1 < 1 or 8164 <= start_byte
<S>  New H57:  start_byte + 12 >= dns_types__packet_length_range__first
<S>  New H58:  start_byte + 12 <= dns_types__packet_length_range__last
<S>  New H61:  start_byte + 12 >= dns_types__packet_bytes_range__base__first
<S>  New H62:  start_byte + 12 <= dns_types__packet_bytes_range__base__last
<S>  New H63:  12 >= dns_types__packet_bytes_range__first
<S>  New H64:  12 <= dns_types__packet_bytes_range__last
<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__maxnumrecords 
          by:
          64.
<S>  New H1:  answer_count <= dns_types__unsigned_short__last - 64
<S>  New C3:  answer_count + numfound__1 <= answer_count + 64
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H45:  true
<S>  New H47:  true
<S>  New H49:  true
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H46:  true
<S>  New H48:  true
<S>  New H50:  true
-S-  Applied substitution rule create_respo_rules(7).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H52:  start_byte >= - 2147483648
-S-  Applied substitution rule create_respo_rules(8).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H53:  start_byte <= 2147483647
-S-  Applied substitution rule create_respo_rules(12).
     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-  Applied substitution rule create_respo_rules(13).
     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-  Applied substitution rule create_respo_rules(17).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H30:  numfound__1 >= 0
<S>  New H37:  true
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H31:  numfound__1 <= 2147483647
<S>  New H38:  true
-S-  Applied substitution rule create_respo_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H6:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H7:  qname_location <= 16383
-S-  Applied substitution rule create_respo_rules(33).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H57:  start_byte >= - 12
-S-  Applied substitution rule create_respo_rules(34).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H58:  start_byte <= 8180
-S-  Applied substitution rule create_respo_rules(38).
     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 H63:  true
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H4:  start_byte <= 8180
<S>  New H64:  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(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H61:  start_byte >= - 2147483660
-S-  Applied substitution rule create_respo_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H62:  start_byte <= 2147483635
-S-  Applied substitution rule create_respo_rules(44).
     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(45).
     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(51).
     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 H70:  answer_count + numfound__1 >= 0
<S>  New H72:  numfound__1 >= 0
-S-  Applied substitution rule create_respo_rules(52).
     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 H71:  answer_count + numfound__1 <= 65535
<S>  New H73:  numfound__1 <= 65535
<S>  New H1:  answer_count <= 65471
-S-  Applied substitution rule create_respo_rules(57).
     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(58).
     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(83).
     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(84).
     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(125).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__first by:
          0.
<S>  New H25:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returnedarecords__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returnedarecords__1, [i___1]))) 
          <= unsigned_types__unsigned32__last)
<S>  New H27:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ipv4(element(
          returnedarecords__1, [i___1])) and fld_ipv4(element(
          returnedarecords__1, [i___1])) <= unsigned_types__unsigned32__last)
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__last by:
          4294967295.
<S>  New H25:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returnedarecords__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returnedarecords__1, [i___1]))) 
          <= 4294967295)
<S>  New H27:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ipv4(element(
          returnedarecords__1, [i___1])) and fld_ipv4(element(
          returnedarecords__1, [i___1])) <= 4294967295)
-S-  Applied substitution rule create_respo_rules(131).
     This was achieved by replacing all occurrences of 
          rr_type__classtype__first by:
          rr_type__internet.
<S>  New H26:  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(returnedarecords__1, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords__1, [i___1]))) <= 
          rr_type__classtype__last)
-S-  Applied substitution rule create_respo_rules(132).
     This was achieved by replacing all occurrences of rr_type__classtype__last 
          by:
          rr_type__hs.
<S>  New H26:  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(returnedarecords__1, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords__1, [i___1]))) <= 
          rr_type__hs)
-S-  Applied substitution rule create_respo_rules(158).
     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-  Applied substitution rule create_respo_rules(159).
     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-  Applied substitution rule create_respo_rules(165).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__first by:
          1.
<S>  New H25:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returnedarecords__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returnedarecords__1, [i___1]))) 
          <= 4294967295)
<S>  New H27:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ipv4(element(
          returnedarecords__1, [i___1])) and fld_ipv4(element(
          returnedarecords__1, [i___1])) <= 4294967295)
<S>  New H26:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(returnedarecords__1, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords__1, [i___1]))) <= 
          rr_type__hs)
-S-  Applied substitution rule create_respo_rules(166).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New H25:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ttlinseconds(fld_inherit(element(returnedarecords__1, [i___1]))) 
          and fld_ttlinseconds(fld_inherit(element(returnedarecords__1, [i___1])
          )) <= 4294967295)
<S>  New H27:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ipv4(element(returnedarecords__1, [i___1])) and fld_ipv4(element(
          returnedarecords__1, [i___1])) <= 4294967295)
<S>  New H26:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__internet <= fld_class(fld_inherit(element(
          returnedarecords__1, [i___1]))) and fld_class(fld_inherit(element(
          returnedarecords__1, [i___1]))) <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(170).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__first by:
          0.
<S>  New H28:  numfound__1 >= 0
-S-  Applied substitution rule create_respo_rules(171).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__last by:
          64.
<S>  New H29:  numfound__1 <= 64
***  Proved C1:  start_byte >= 1
     using hypothesis H3.
***  Proved C2:  start_byte <= 8180
     using hypothesis H58.
***  Proved C3:  answer_count + numfound__1 <= answer_count + 64
     using hypothesis H29.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_a_23.  @@@@@@@@@@
%%%  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)
%%%  Simplified H25 on reading formula in, to give:
     %%%  H25:  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(returnedarecords__1, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(returnedarecords__1, [i___1]))) <= 
          unsigned_types__unsigned32__last)
%%%  Simplified H26 on reading formula in, to give:
     %%%  H26:  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(returnedarecords__1, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords__1, [i___1]))) <= 
          rr_type__classtype__last)
%%%  Simplified H27 on reading formula in, to give:
     %%%  H27:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ipv4(element(
          returnedarecords__1, [i___1])) and fld_ipv4(element(
          returnedarecords__1, [i___1])) <= unsigned_types__unsigned32__last)
---  Hypothesis H32 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H33 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H34 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H35 has been replaced by "true".  (It is already present, as 
          H31).
---  Hypothesis H37 has been replaced by "true".  (It is already present, as H3)
          .
---  Hypothesis H38 has been replaced by "true".  (It is already present, as H4)
          .
---  Hypothesis H41 has been replaced by "true".  (It is already present, as 
          H39).
---  Hypothesis H42 has been replaced by "true".  (It is already present, as 
          H40).
%%%  Simplified H49 on reading formula in, to give:
     %%%  H49:  true
---  Hypothesis H50 has been replaced by "true".  (It is already present, as 
          H30).
---  Hypothesis H51 has been replaced by "true".  (It is already present, as 
          H31).
-S-  Applied substitution rule create_respo_rules(1).
     This was achieved by replacing all occurrences of dns_types__packet_size 
          by:
          8192.
<S>  New H2:  start_byte <= 8192
<S>  New C2:  start_byte + dns_types__header_bits div 8 <= 8192
>>>  Restructured hypothesis H36 into:
     >>>  H36:  numfound__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 H39:  start_byte + 12 >= dns_types__packet_length_range__first
<S>  New H40:  start_byte + 12 <= dns_types__packet_length_range__last
<S>  New H43:  start_byte + 12 >= dns_types__packet_bytes_range__base__first
<S>  New H44:  start_byte + 12 <= dns_types__packet_bytes_range__base__last
<S>  New H45:  12 >= dns_types__packet_bytes_range__first
<S>  New H46:  12 <= dns_types__packet_bytes_range__last
<S>  New H47:  12 >= system__min_int
<S>  New H48:  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__maxnumrecords 
          by:
          64.
<S>  New H1:  answer_count <= dns_types__unsigned_short__last - 64
<S>  New C3:  answer_count + numfound__1 <= answer_count + 64
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H47:  true
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H48:  true
-S-  Applied substitution rule create_respo_rules(12).
     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-  Applied substitution rule create_respo_rules(13).
     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-  Applied substitution rule create_respo_rules(17).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H30:  numfound__1 >= 0
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H31:  numfound__1 <= 2147483647
-S-  Applied substitution rule create_respo_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H6:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H7:  qname_location <= 16383
-S-  Applied substitution rule create_respo_rules(33).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H39:  start_byte >= - 12
-S-  Applied substitution rule create_respo_rules(34).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H40:  start_byte <= 8180
-S-  Applied substitution rule create_respo_rules(38).
     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 H45:  true
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H4:  start_byte <= 8180
<S>  New H46:  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(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H43:  start_byte >= - 2147483660
-S-  Applied substitution rule create_respo_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H44:  start_byte <= 2147483635
-S-  Applied substitution rule create_respo_rules(44).
     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(45).
     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(51).
     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 H52:  answer_count + numfound__1 >= 0
<S>  New H54:  numfound__1 >= 0
-S-  Applied substitution rule create_respo_rules(52).
     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 H53:  answer_count + numfound__1 <= 65535
<S>  New H55:  numfound__1 <= 65535
<S>  New H1:  answer_count <= 65471
-S-  Applied substitution rule create_respo_rules(57).
     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(58).
     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(83).
     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(84).
     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(125).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__first by:
          0.
<S>  New H25:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returnedarecords__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returnedarecords__1, [i___1]))) 
          <= unsigned_types__unsigned32__last)
<S>  New H27:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ipv4(element(
          returnedarecords__1, [i___1])) and fld_ipv4(element(
          returnedarecords__1, [i___1])) <= unsigned_types__unsigned32__last)
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__last by:
          4294967295.
<S>  New H25:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returnedarecords__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returnedarecords__1, [i___1]))) 
          <= 4294967295)
<S>  New H27:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ipv4(element(
          returnedarecords__1, [i___1])) and fld_ipv4(element(
          returnedarecords__1, [i___1])) <= 4294967295)
-S-  Applied substitution rule create_respo_rules(131).
     This was achieved by replacing all occurrences of 
          rr_type__classtype__first by:
          rr_type__internet.
<S>  New H26:  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(returnedarecords__1, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords__1, [i___1]))) <= 
          rr_type__classtype__last)
-S-  Applied substitution rule create_respo_rules(132).
     This was achieved by replacing all occurrences of rr_type__classtype__last 
          by:
          rr_type__hs.
<S>  New H26:  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(returnedarecords__1, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords__1, [i___1]))) <= 
          rr_type__hs)
-S-  Applied substitution rule create_respo_rules(158).
     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-  Applied substitution rule create_respo_rules(159).
     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-  Applied substitution rule create_respo_rules(165).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__first by:
          1.
<S>  New H25:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returnedarecords__1, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returnedarecords__1, [i___1]))) 
          <= 4294967295)
<S>  New H27:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ipv4(element(
          returnedarecords__1, [i___1])) and fld_ipv4(element(
          returnedarecords__1, [i___1])) <= 4294967295)
<S>  New H26:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(returnedarecords__1, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords__1, [i___1]))) <= 
          rr_type__hs)
-S-  Applied substitution rule create_respo_rules(166).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New H25:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ttlinseconds(fld_inherit(element(returnedarecords__1, [i___1]))) 
          and fld_ttlinseconds(fld_inherit(element(returnedarecords__1, [i___1])
          )) <= 4294967295)
<S>  New H27:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ipv4(element(returnedarecords__1, [i___1])) and fld_ipv4(element(
          returnedarecords__1, [i___1])) <= 4294967295)
<S>  New H26:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__internet <= fld_class(fld_inherit(element(
          returnedarecords__1, [i___1]))) and fld_class(fld_inherit(element(
          returnedarecords__1, [i___1]))) <= rr_type__hs)
-S-  Applied substitution rule create_respo_rules(170).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__first by:
          0.
<S>  New H28:  numfound__1 >= 0
-S-  Applied substitution rule create_respo_rules(171).
     This was achieved by replacing all occurrences of 
          rr_type__numberofrecordstype__last by:
          64.
<S>  New H29:  numfound__1 <= 64
***  Proved C1:  start_byte >= 1
     using hypothesis H3.
***  Proved C2:  start_byte <= 8180
     using hypothesis H40.
***  Proved C3:  answer_count + numfound__1 <= answer_count + 64
     using hypothesis H29.
***  PROVED VC.


@@@@@@@@@@  VC: procedure_create_response_a_24.  @@@@@@@@@@
%%%  Simplified H4 on reading formula in, to give:
     %%%  H4:  answer_count = answer_count~
%%%  Simplified H11 on reading formula in, to give:
     %%%  H11:  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 H16 on reading formula in, to give:
     %%%  H16:  dns_types__opcode_type__first <= fld_opcode(fld_header(
          output_packet))
%%%  Simplified H18 on reading formula in, to give:
     %%%  H18:  dns_types__response_code__first <= fld_rcode(fld_header(
          output_packet))
%%%  Simplified H28 on reading formula in, to give:
     %%%  H28:  for_all(i___1 : integer, dns_types__packet_bytes_range__first 
          <= i___1 and i___1 <= dns_types__packet_bytes_range__last -> 
          dns_types__byte__first <= element(fld_bytes(output_packet), [i___1]) 
          and element(fld_bytes(output_packet), [i___1]) <= 
          dns_types__byte__last)
%%%  Simplified H31 on reading formula in, to give:
     %%%  H31:  answer_count~ <= dns_types__unsigned_short__last - 
          rr_type__maxnumrecords
---  Hypothesis H32 has been replaced by "true".  (It is already present, as H3)
          .
%%%  Simplified H44 on reading formula in, to give:
     %%%  H44:  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 H59 has been replaced by "true".  (It is already present, as 
          H47).
---  Hypothesis H60 has been replaced by "true".  (It is already present, as 
          H48).
---  Hypothesis H65 has been replaced by "true".  (It is already present, as 
          H53).
---  Hypothesis H66 has been replaced by "true".  (It is already present, as 
          H54).
---  Hypothesis H71 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H72 has been replaced by "true".  (It is already present, as 
          H34).
%%%  Simplified H73 on reading formula in, to give:
     %%%  H73:  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(returnedarecords, [i___1]))) and fld_ttlinseconds(fld_inherit(
          element(returnedarecords, [i___1]))) <= 
          unsigned_types__unsigned32__last)
%%%  Simplified H74 on reading formula in, to give:
     %%%  H74:  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(returnedarecords, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords, [i___1]))) <= 
          rr_type__classtype__last)
%%%  Simplified H75 on reading formula in, to give:
     %%%  H75:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 
          unsigned_types__unsigned32__first <= fld_ipv4(element(
          returnedarecords, [i___1])) and fld_ipv4(element(returnedarecords, [
          i___1])) <= unsigned_types__unsigned32__last)
%%%  Simplified H89 on reading formula in, to give:
     %%%  H89:  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 H90 on reading formula in, to give:
     %%%  H90:  fld_header(output_packet__3) = fld_header(output_packet__2)
%%%  Simplified H91 on reading formula in, to give:
     %%%  H91:  output_packet__3 = upf_bytes(output_packet__2, fld_bytes(
          output_packet__3))
---  Hypothesis H92 has been replaced by "true".  (It is already present, as 
          H76).
---  Hypothesis H93 has been replaced by "true".  (It is already present, as 
          H77).
---  Hypothesis H96 has been replaced by "true".  (It is already present, as 
          H33).
---  Hypothesis H97 has been replaced by "true".  (It is already present, as 
          H34).
---  Hypothesis H100 has been replaced by "true".  (It is already present, as 
          H98).
---  Hypothesis H101 has been replaced by "true".  (It is already present, as 
          H99).
---  Hypothesis H104 has been replaced by "true".  (It is already present, as 
          H94).
---  Hypothesis H105 has been replaced by "true".  (It is already present, as 
          H95).
%%%  Simplified H112 on reading formula in, to give:
     %%%  H112:  true
---  Hypothesis H116 has been replaced by "true".  (It is already present, as 
          H98).
---  Hypothesis H117 has been replaced by "true".  (It is already present, as 
          H99).
---  Hypothesis H120 has been replaced by "true".  (It is already present, as 
          H118).
---  Hypothesis H121 has been replaced by "true".  (It is already present, as 
          H119).
---  Hypothesis H126 has been replaced by "true".  (It is already present, as 
          H110).
---  Hypothesis H127 has been replaced by "true".  (It is already present, as 
          H111).
---  Hypothesis H128 has been replaced by "true".  (It is already present, as 
          H112).
---  Hypothesis H129 has been replaced by "true".  (It is already present, as 
          H102).
---  Hypothesis H130 has been replaced by "true".  (It is already present, as 
          H103).
%%%  Simplified C3 on reading formula in, to give:
     %%%  C3:  answer_count + numfound <= 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 H3:  start_byte <= 8192
<S>  New H7:  current_byte < 8192 - (16 + dns_types__header_bits div 8)
<S>  New H106:  8192 - (16 + dns_types__header_bits div 8) >= system__min_int
<S>  New H107:  8192 - (16 + dns_types__header_bits div 8) <= system__max_int
<S>  New H115:  not (response_counter + 1 <= numfound and current_byte + 16 < 
          8192 - (16 + dns_types__header_bits div 8))
<S>  New C2:  current_byte + 16 + dns_types__header_bits div 8 <= 8192
>>>  Restructured hypothesis H115 into:
     >>>  H115:  numfound < response_counter + 1 or 8192 - (16 + 
          dns_types__header_bits div 8) <= current_byte + 16
-S-  Applied substitution rule create_respo_rules(2).
     This was achieved by replacing all occurrences of dns_types__header_bits 
          by:
          96.
<S>  New H7:  current_byte < 8164
<S>  New H106:  8164 >= system__min_int
<S>  New H107:  8164 <= system__max_int
<S>  New H108:  28 >= system__min_int
<S>  New H109:  28 <= system__max_int
<S>  New H110:  12 >= system__min_int
<S>  New H111:  12 <= system__max_int
<S>  New H115:  numfound < response_counter + 1 or 8148 <= current_byte
<S>  New H118:  current_byte + 16 + 12 >= dns_types__packet_length_range__first
<S>  New H119:  current_byte + 16 + 12 <= dns_types__packet_length_range__last
<S>  New H122:  current_byte + 16 + 12 >= 
          dns_types__packet_bytes_range__base__first
<S>  New H123:  current_byte + 16 + 12 <= 
          dns_types__packet_bytes_range__base__last
<S>  New H124:  12 >= dns_types__packet_bytes_range__first
<S>  New H125:  12 <= dns_types__packet_bytes_range__last
<S>  New C1:  current_byte + 16 >= 1
<S>  New C2:  current_byte + 16 <= 8180
-S-  Applied substitution rule create_respo_rules(3).
     This was achieved by replacing all occurrences of rr_type__maxnumrecords 
          by:
          64.
<S>  New H5:  answer_count <= dns_types__unsigned_short__last - 64
<S>  New H8:  numfound <= 64
<S>  New H31:  answer_count~ <= dns_types__unsigned_short__last - 64
<S>  New C3:  answer_count + numfound <= answer_count~ + 64
-S-  Applied substitution rule create_respo_rules(4).
     This was achieved by replacing all occurrences of system__min_int by:
          - 9223372036854775808.
<S>  New H106:  true
<S>  New H108:  true
<S>  New H110:  true
-S-  Applied substitution rule create_respo_rules(5).
     This was achieved by replacing all occurrences of system__max_int by:
          9223372036854775807.
<S>  New H107:  true
<S>  New H109:  true
<S>  New H111:  true
-S-  Applied substitution rule create_respo_rules(7).
     This was achieved by replacing all occurrences of integer__first by:
          - 2147483648.
<S>  New H113:  current_byte >= - 2147483664
-S-  Applied substitution rule create_respo_rules(8).
     This was achieved by replacing all occurrences of integer__last by:
          2147483647.
<S>  New H114:  current_byte <= 2147483631
-S-  Applied substitution rule create_respo_rules(9).
     This was achieved by replacing all occurrences of integer__base__first by:
          - 2147483648.
<S>  New H83:  rr_type__returnedrecordsindextype__first + (response_counter - 1)
           >= - 2147483648
<S>  New H85:  response_counter >= - 2147483647
-S-  Applied substitution rule create_respo_rules(10).
     This was achieved by replacing all occurrences of integer__base__last by:
          2147483647.
<S>  New H84:  rr_type__returnedrecordsindextype__first + (response_counter - 1)
           <= 2147483647
<S>  New H86:  response_counter <= 2147483648
-S-  Applied substitution rule create_respo_rules(12).
     This was achieved by replacing all occurrences of character__first by:
          0.
<S>  New H11:  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(13).
     This was achieved by replacing all occurrences of character__last by:
          255.
<S>  New H11:  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(17).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H76:  response_counter >= 0
<S>  New H94:  response_counter >= - 1
<S>  New H102:  numfound >= 0
-S-  Applied substitution rule create_respo_rules(18).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H77:  response_counter <= 2147483647
<S>  New H95:  response_counter <= 2147483646
<S>  New H103:  numfound <= 2147483647
-S-  Applied substitution rule create_respo_rules(27).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__first by:
          0.
<S>  New H12:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(28).
     This was achieved by replacing all occurrences of 
          dns_types__qname_ptr_range__last by:
          16383.
<S>  New H13:  qname_location <= 16383
-S-  Applied substitution rule create_respo_rules(33).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__first by:
          0.
<S>  New H118:  current_byte >= - 28
-S-  Applied substitution rule create_respo_rules(34).
     This was achieved by replacing all occurrences of 
          dns_types__packet_length_range__last by:
          8192.
<S>  New H119:  current_byte <= 8164
-S-  Applied substitution rule create_respo_rules(38).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__first by:
          1.
<S>  New H9:  start_byte >= 1
<S>  New H28:  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 H33:  current_byte >= 1
<S>  New H37:  current_byte >= 0
<S>  New H44:  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 H49:  current_byte >= - 2
<S>  New H55:  current_byte >= - 3
<S>  New H61:  current_byte >= - 4
<S>  New H67:  current_byte >= - 5
<S>  New H78:  current_byte >= - 6
<S>  New H89:  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 H98:  current_byte >= - 15
<S>  New H124:  true
-S-  Applied substitution rule create_respo_rules(39).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__last by:
          8180.
<S>  New H10:  start_byte <= 8180
<S>  New H34:  current_byte <= 8180
<S>  New H38:  current_byte <= 8179
<S>  New H39:  current_byte <= 8178
<S>  New H50:  current_byte <= 8177
<S>  New H56:  current_byte <= 8176
<S>  New H62:  current_byte <= 8175
<S>  New H68:  current_byte <= 8174
<S>  New H79:  current_byte <= 8173
<S>  New H80:  current_byte <= 8163
<S>  New H99:  current_byte <= 8164
<S>  New H125:  true
<S>  New H28:  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 H44:  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 H89:  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(40).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__first by:
          - 2147483648.
<S>  New H42:  current_byte >= - 2147483649
<S>  New H51:  current_byte >= - 2147483651
<S>  New H57:  current_byte >= - 2147483652
<S>  New H63:  current_byte >= - 2147483653
<S>  New H69:  current_byte >= - 2147483654
<S>  New H87:  current_byte >= - 2147483655
<S>  New H122:  current_byte >= - 2147483676
-S-  Applied substitution rule create_respo_rules(41).
     This was achieved by replacing all occurrences of 
          dns_types__packet_bytes_range__base__last by:
          2147483647.
<S>  New H43:  current_byte <= 2147483646
<S>  New H52:  current_byte <= 2147483644
<S>  New H58:  current_byte <= 2147483643
<S>  New H64:  current_byte <= 2147483642
<S>  New H70:  current_byte <= 2147483641
<S>  New H88:  current_byte <= 2147483640
<S>  New H123:  current_byte <= 2147483619
-S-  Applied substitution rule create_respo_rules(44).
     This was achieved by replacing all occurrences of dns_types__byte__first 
          by:
          0.
<S>  New H47:  true
<S>  New H53:  true
<S>  New H28:  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 H44:  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 H89:  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(45).
     This was achieved by replacing all occurrences of dns_types__byte__last by:
          255.
<S>  New H48:  true
<S>  New H54:  true
<S>  New H28:  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 H44:  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 H89:  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(51).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__first by:
          0.
<S>  New H14:  fld_messageid(fld_header(output_packet)) >= 0
<S>  New H20:  fld_qdcount(fld_header(output_packet)) >= 0
<S>  New H22:  fld_ancount(fld_header(output_packet)) >= 0
<S>  New H24:  fld_nscount(fld_header(output_packet)) >= 0
<S>  New H26:  fld_arcount(fld_header(output_packet)) >= 0
<S>  New H29:  answer_count >= 0
<S>  New H131:  answer_count + numfound >= 0
<S>  New H133:  numfound >= 0
-S-  Applied substitution rule create_respo_rules(52).
     This was achieved by replacing all occurrences of 
          dns_types__unsigned_short__last by:
          65535.
<S>  New H15:  fld_messageid(fld_header(output_packet)) <= 65535
<S>  New H21:  fld_qdcount(fld_header(output_packet)) <= 65535
<S>  New H23:  fld_ancount(fld_header(output_packet)) <= 65535
<S>  New H25:  fld_nscount(fld_header(output_packet)) <= 65535
<S>  New H27:  fld_arcount(fld_header(output_packet)) <= 65535
<S>  New H30:  answer_count <= 65535
<S>  New H132:  answer_count + numfound <= 65535
<S>  New H134:  numfound <= 65535
<S>  New H5:  answer_count <= 65471
<S>  New H31:  answer_count~ <= 65471
-S-  Applied substitution rule create_respo_rules(57).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__first by:
          dns_types__query.
<S>  New H16:  dns_types__query <= fld_opcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(58).
     This was achieved by replacing all occurrences of 
          dns_types__opcode_type__last by:
          dns_types__status.
<S>  New H17:  fld_opcode(fld_header(output_packet)) <= dns_types__status
-S-  Applied substitution rule create_respo_rules(83).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__first by:
          dns_types__no_error.
<S>  New H18:  dns_types__no_error <= fld_rcode(fld_header(output_packet))
-S-  Applied substitution rule create_respo_rules(84).
     This was achieved by replacing all occurrences of 
          dns_types__response_code__last by:
          dns_types__refused.
<S>  New H19:  fld_rcode(fld_header(output_packet)) <= dns_types__refused
-S-  Applied substitution rule create_respo_rules(119).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__first by:
          0.
<S>  New H35:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          >= 0
<S>  New H40:  qname_location >= 0
-S-  Applied substitution rule create_respo_rules(120).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__last by:
          65535.
<S>  New H36:  (qname_location + 49152) mod unsigned_types__unsigned16__modulus 
          <= 65535
<S>  New H41:  qname_location <= 65535
-S-  Applied substitution rule create_respo_rules(123).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned16__modulus by:
          65536.
<S>  New H35:  (qname_location + 49152) mod 65536 >= 0
<S>  New H36:  (qname_location + 49152) mod 65536 <= 65535
-S-  Applied substitution rule create_respo_rules(125).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__first by:
          0.
<S>  New H73:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returnedarecords, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(returnedarecords, [i___1]))) <= 
          unsigned_types__unsigned32__last)
<S>  New H75:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ipv4(element(
          returnedarecords, [i___1])) and fld_ipv4(element(returnedarecords, [
          i___1])) <= unsigned_types__unsigned32__last)
-S-  Applied substitution rule create_respo_rules(126).
     This was achieved by replacing all occurrences of 
          unsigned_types__unsigned32__last by:
          4294967295.
<S>  New H73:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returnedarecords, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(returnedarecords, [i___1]))) <= 4294967295)
<S>  New H75:  for_all(i___1 : integer, 
          rr_type__returnedrecordsindextype__first <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ipv4(element(
          returnedarecords, [i___1])) and fld_ipv4(element(returnedarecords, [
          i___1])) <= 4294967295)
-S-  Applied substitution rule create_respo_rules(131).
     This was achieved by replacing all occurrences of 
          rr_type__classtype__first by:
          rr_type__internet.
<S>  New H74:  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(returnedarecords, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords, [i___1]))) <= 
          rr_type__classtype__last)
-S-  Applied substitution rule create_respo_rules(132).
     This was achieved by replacing all occurrences of rr_type__classtype__last 
          by:
          rr_type__hs.
<S>  New H74:  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(returnedarecords, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords, [i___1]))) <= 
          rr_type__hs)
-S-  Applied substitution rule create_respo_rules(158).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__first by:
          1.
<S>  New H11:  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(159).
     This was achieved by replacing all occurrences of 
          rr_type__wirestringtypeindex__last by:
          129.
<S>  New H11:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 129 -> 0 <= 
          element(domainname, [i___1]) and element(domainname, [i___1]) <= 255)
-S-  Applied substitution rule create_respo_rules(165).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__first by:
          1.
<S>  New H81:  response_counter - 1 >= 0
<S>  New H82:  1 + (response_counter - 1) <= 
          rr_type__returnedrecordsindextype__last
<S>  New H83:  response_counter - 1 >= - 2147483649
<S>  New H84:  response_counter - 1 <= 2147483646
<S>  New H73:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ttlinseconds(
          fld_inherit(element(returnedarecords, [i___1]))) and fld_ttlinseconds(
          fld_inherit(element(returnedarecords, [i___1]))) <= 4294967295)
<S>  New H75:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> 0 <= fld_ipv4(element(
          returnedarecords, [i___1])) and fld_ipv4(element(returnedarecords, [
          i___1])) <= 4294967295)
<S>  New H74:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 
          rr_type__returnedrecordsindextype__last -> rr_type__internet <= 
          fld_class(fld_inherit(element(returnedarecords, [i___1]))) and 
          fld_class(fld_inherit(element(returnedarecords, [i___1]))) <= 
          rr_type__hs)
-S-  Applied substitution rule create_respo_rules(166).
     This was achieved by replacing all occurrences of 
          rr_type__returnedrecordsindextype__last by:
          64.
<S>  New H82:  response_counter - 1 <= 63
<S>  New H73:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ttlinseconds(fld_inherit(element(returnedarecords, [i___1]))) and 
          fld_ttlinseconds(fld_inherit(element(returnedarecords, [i___1]))) <= 
          4294967295)
<S>  New H75:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 0 <= 
          fld_ipv4(element(returnedarecords, [i___1])) and fld_ipv4(element(
          returnedarecords, [i___1])) <= 4294967295)
<S>  New H74:  for_all(i___1 : integer, 1 <= i___1 and i___1 <= 64 -> 
          rr_type__internet <= fld_class(fld_inherit(element(returnedarecords, [
          i___1]))) and fld_class(fld_inherit(element(returnedarecords, [i___1])
          )) <= rr_type__hs)
%%%  Simplified H81 further, to give:
     %%%  H81:  response_counter >= 1
%%%  Simplified H82 further, to give:
     %%%  H82:  response_counter <= 64
%%%  Simplified H83 further, to give:
     %%%  H83:  response_counter >= - 2147483648
%%%  Simplified H84 further, to give:
     %%%  H84:  response_counter <= 2147483647
%%%  Simplified C1 further, to give:
     %%%  C1:  current_byte >= - 15
%%%  Simplified C2 further, to give:
     %%%  C2:  current_byte <= 8164
***  Proved C1:  current_byte >= - 15
     using hypothesis H98.
***  Proved C2:  current_byte <= 8164
     using hypothesis H119.
---  Eliminated hypothesis H32 (true-hypothesis).
---  Eliminated hypothesis H59 (true-hypothesis).
---  Eliminated hypothesis H60 (true-hypothesis).
---  Eliminated hypothesis H65 (true-hypothesis).
---  Eliminated hypothesis H66 (true-hypothesis).
---  Eliminated hypothesis H71 (true-hypothesis).
---  Eliminated hypothesis H72 (true-hypothesis).
---  Eliminated hypothesis H92 (true-hypothesis).
---  Eliminated hypothesis H93 (true-hypothesis).
---  Eliminated hypothesis H96 (true-hypothesis).
---  Eliminated hypothesis H97 (true-hypothesis).
---  Eliminated hypothesis H100 (true-hypothesis).
---  Eliminated hypothesis H101 (true-hypothesis).
---  Eliminated hypothesis H104 (true-hypothesis).
---  Eliminated hypothesis H105 (true-hypothesis).
---  Eliminated hypothesis H112 (true-hypothesis).
---  Eliminated hypothesis H116 (true-hypothesis).
---  Eliminated hypothesis H117 (true-hypothesis).
---  Eliminated hypothesis H120 (true-hypothesis).
---  Eliminated hypothesis H121 (true-hypothesis).
---  Eliminated hypothesis H126 (true-hypothesis).
---  Eliminated hypothesis H127 (true-hypothesis).
---  Eliminated hypothesis H128 (true-hypothesis).
---  Eliminated hypothesis H129 (true-hypothesis).
---  Eliminated hypothesis H130 (true-hypothesis).
---  Eliminated hypothesis H106 (true-hypothesis).
---  Eliminated hypothesis H108 (true-hypothesis).
---  Eliminated hypothesis H110 (true-hypothesis).
---  Eliminated hypothesis H107 (true-hypothesis).
---  Eliminated hypothesis H109 (true-hypothesis).
---  Eliminated hypothesis H111 (true-hypothesis).
---  Eliminated hypothesis H124 (true-hypothesis).
---  Eliminated hypothesis H125 (true-hypothesis).
---  Eliminated hypothesis H47 (true-hypothesis).
---  Eliminated hypothesis H53 (true-hypothesis).
---  Eliminated hypothesis H48 (true-hypothesis).
---  Eliminated hypothesis H54 (true-hypothesis).
---  Eliminated hypothesis H81 (duplicate of H1).
---  Eliminated hypothesis H133 (duplicate of H102).
---  Eliminated hypothesis H84 (duplicate of H77).
---  Eliminated hypothesis H40 (duplicate of H12).
---  Eliminated hypothesis H119 (duplicate of H99).
---  Eliminated hypothesis H80 (duplicate of H7).
---  Eliminated hypothesis H3 (redundant, given H10).
---  Eliminated hypothesis H30 (redundant, given H5).
---  Eliminated hypothesis H34 (redundant, given H7).
---  Eliminated hypothesis H37 (redundant, given H33).
---  Eliminated hypothesis H38 (redundant, given H7).
---  Eliminated hypothesis H39 (redundant, given H7).
---  Eliminated hypothesis H41 (redundant, given H13).
---  Eliminated hypothesis H42 (redundant, given H33).
---  Eliminated hypothesis H43 (redundant, given H7).
---  Eliminated hypothesis H49 (redundant, given H33).
---  Eliminated hypothesis H50 (redundant, given H7).
---  Eliminated hypothesis H51 (redundant, given H33).
---  Eliminated hypothesis H52 (redundant, given H7).
---  Eliminated hypothesis H55 (redundant, given H33).
---  Eliminated hypothesis H56 (redundant, given H7).
---  Eliminated hypothesis H57 (redundant, given H33).
---  Eliminated hypothesis H58 (redundant, given H7).
---  Eliminated hypothesis H61 (redundant, given H33).
---  Eliminated hypothesis H62 (redundant, given H7).
---  Eliminated hypothesis H63 (redundant, given H33).
---  Eliminated hypothesis H64 (redundant, given H7).
---  Eliminated hypothesis H67 (redundant, given H33).
---  Eliminated hypothesis H68 (redundant, given H7).
---  Eliminated hypothesis H69 (redundant, given H33).
---  Eliminated hypothesis H70 (redundant, given H7).
---  Eliminated hypothesis H76 (redundant, given H1).
---  Eliminated hypothesis H77 (redundant, given H82).
---  Eliminated hypothesis H78 (redundant, given H33).
---  Eliminated hypothesis H79 (redundant, given H7).
---  Eliminated hypothesis H83 (redundant, given H1).
---  Eliminated hypothesis H85 (redundant, given H1).
---  Eliminated hypothesis H86 (redundant, given H82).
---  Eliminated hypothesis H87 (redundant, given H33).
---  Eliminated hypothesis H88 (redundant, given H7).
---  Eliminated hypothesis H94 (redundant, given H1).
---  Eliminated hypothesis H95 (redundant, given H82).
---  Eliminated hypothesis H98 (redundant, given H33).
---  Eliminated hypothesis H99 (redundant, given H7).
---  Eliminated hypothesis H102 (redundant, given H1 & H2).
---  Eliminated hypothesis H103 (redundant, given H8).
---  Eliminated hypothesis H113 (redundant, given H33).
---  Eliminated hypothesis H114 (redundant, given H7).
---  Eliminated hypothesis H118 (redundant, given H33).
---  Eliminated hypothesis H122 (redundant, given H33).
---  Eliminated hypothesis H123 (redundant, given H7).
---  Eliminated hypothesis H134 (redundant, given H8).
-S-  Eliminated hypothesis H4.
     This was achieved by replacing all occurrences of answer_count by:
          answer_count~.
<S>  New H29:  answer_count~ >= 0
<S>  New H131:  answer_count~ + numfound >= 0
<S>  New H132:  answer_count~ + numfound <= 65535
<S>  New H5:  answer_count~ <= 65471
<S>  New C3:  answer_count~ + numfound <= answer_count~ + 64
-S-  Eliminated hypothesis H6.
     This was achieved by replacing all occurrences of current_byte by:
          start_byte + 16 * (response_counter - 1).
<S>  New H7:  start_byte + 16 * (response_counter - 1) < 8164
<S>  New H115:  numfound < response_counter + 1 or 8148 <= start_byte + 16 * (
          response_counter - 1)
<S>  New H33:  start_byte + 16 * (response_counter - 1) >= 1
-S-  Substituted hypothesis H45.
     This was achieved by replacing all occurrences of fld_header(
          output_packet__2) by:
          fld_header(output_packet).
---  Substituted hypothesis H90, which specifies an equivalence for fld_header(
          output_packet__3).
***  Proved C3:  answer_count~ + numfound <= answer_count~ + 64
     using hypothesis H8.
***  PROVED VC.

